概述

Web有三个核心概念:资源(Resource)、URI(UniformResource Identifer,统一资源标识符)、表示(Representation).一个资源由一个URI进行标识。表示是从资源返回的数据,其格式被称为媒体类型。

资源

任何带有URI标识的东西都是资源。

资源并不只限于文件,还包括服务,系统,流媒体等。

URI

每个资源都可以通过唯一的URI访问,可以把URI看作一个资源的主键。

一个URI只能对应一个资源,但多个URI可以指向同一个资源。

URI 的格式为:scheme:hierarchicalpart[?query][#fragment],其中scheme表示通信协 议,hierarchical part 表示通信地址、安全证书颁发机构(authority)和分层路径(hierarchical path)等,查询字符串query和fragment是可选的。

URI分为两种类型:URL(UniversalResource Locator,统一资源定位符)和URN(Universal Resource Name,统一资源名)。URL既标识一个资源,又指定了访问该资源的方法。URN是一个资源的唯一标识符。在实际应用中,大多数URI都是URL,因此 URI和URL常常同义替换使用。

表示

表示是资源在某个时刻状态的快照。

当HTTP客户端请求一个资源时,返回的是这个资源的表示,而不是资源本身。

从一个请求到下一个请求发生时,资源的状态可能会发生很大的变化,因而返回的表示也会大不相同。

一个资源可以有一个或多个表示。

媒体类型

每个表示都有特定的表示,即媒体类型。

媒体类型是在Internet上客户端和服务器之间传递信息的格式。

媒体类型由两部分标识组成。第一部分是顶级媒体类型,描述了通用的类型信息以及常用处理规则。常见的顶级类型有:application、image、text、video和multipart。第二部分是子类型,描述一个非常具体的数据格式,如json、html等。

常用媒体类型列表

媒体类型

描述

Text/html

HTML文档

Application/xhtml+xml

使用格式良好的XML的HTML文档

Application/xml

XML文档和模式

Application/json

JSON文档

Application/x-www-form-urlencoded

表单键/值数据

Multipart/mixed

多个数据集合而成的单个正文

Multipart/form-data

文件

Image/jpeg

JPEG文档

Image/gif

GIF文档

Image/png

PNG文档

Image/svg+xml

SVG文档

Application/atom+xml

Atom源

Application/vnd.hal+json

包含相关资源链接的数据

Application/vnd.collection+json

数据集合

更多

各种媒体类型的特点:

HTML 类型展示Web页面效果极佳,但不适合传输数据;JSON传输数据很好用,但在重现图像上效率却十分低下;PNG是极好的图像格式,但不适合存储可扩展的 矢量图形,对此SVG才是优选。ATOM,HAL和Collection+JSON能表达更为丰富的应用程序主义,不过受到的限制也较多。

Web体系=资源+URI+表示的更多相关文章

  1. AngularJS使用OData请求ASP.NET Web API资源的思路

    本篇整理AngularJS使用OData请求ASP.NET Web API资源的思路. 首先给ASP.NET Web API插上OData的翅膀,通过NuGet安装OData. 然后,给control ...

  2. web开发资源导航

    实用工具 前端在线工具 兼容性速查 html5兼容性查询 node-es6支持度 es6兼容性表查询 设备es6支持度 游览器H5支持度 浏览器内核检测工具 手机设备信息检测 浏览器市场份额 文档手册 ...

  3. WEB前端资源项目整合

    WEB前端资源项目整合 vue.js高仿饿了么(1-13章全)链接:https://pan.baidu.com/s/1qYSiYXluA1AlEV0EskxWZw提取码:25z9 Vue.js 2.5 ...

  4. 个人Web工具箱&资源整理(1)

    很久就想把使用的工具及收藏的资源整理一番:一是为了传达博客社区的理念:资源共享,而是方便自己及团队快速获取. 学习资源: 首推两个入门级在线参考网站. 1 w3c school. 2 Runoob.c ...

  5. 移动web开发资源大整合

    移动web开发资源大整合 http://www.cnblogs.com/PeunZhang/p/3407453.html

  6. 极客Web开发资源大荟萃

    前端开发已经成为当前炙手可热的技术之一.此次我们总结的前端开发包含了相关技术和流行趋势,希望从中大家可以挖掘你们所需要的,并带给你们最有价值的帮助!原文来自:极客标签 使用代码回放来愉快地学习前端知识 ...

  7. 汇总——WEB前端资源网

    前端攻城师 爱思资源网 HTML5吧 0101后花园 前端网 编程教程和源代码示例 Javascript中文网 Web前端资源网 移动端HTML5资源整理 Web开发者 SegmentFault 前端 ...

  8. Java Web 前端资源文件的路径问题

    WEB-INF是Java Web应用的安全目录,在部署时用于存放class文件.项目用到的库(jar包).Java Web应用的配置文件web.xml. 浏览器不能访问此目录下的资源,比如在WEB-I ...

  9. 写给自己的web开发资源

    web开发给我的感觉就是乱七八糟,而且要学习感觉总是会有东西要学习,很乱很杂我也没空搞,(其实学习这个的方法就是去用它,什么你直接用?学过js么学过jquery么?哈哈,我没有系统的看完过,但是也做出 ...

随机推荐

  1. 货币金额的计算 - Java中的BigDecimal

    在<Effective Java>这本书中也提到这个原则,float和double只能用来做科学计算或者是工程计算,在商业计算中我们要用 java.math.BigDecimal.,而且使 ...

  2. js获取字符串的字节长度

    占用3个字节的范围 U+2E80 - U+2EF3 : 0xE2 0xBA 0x80 - 0xE2 0xBB 0xB3 共 115 个 U+2F00 - U+2FD5 : 0xE2 0xBC 0x80 ...

  3. ajax 跨域解决 网上资料

    PHP中运用jQuery的Ajax跨域调用实现代码,需要的朋友可以参考下   可以在页面定义一个调用方法,如下: 复制代码代码如下: function getData(){ $.getJSON(&qu ...

  4. 深入理解PHP原理之变量作用域

    26 Aug 08 深入理解PHP原理之变量作用域(Scope in PHP)   作者: Laruence(   ) 本文地址: http://www.laruence.com/2008/08/26 ...

  5. Python核心编程-基础

    python编码风格指南:www.Python.org/doc/essays/styleguide.htmlwww.Python.org/dev/peps/pep-0007/www.Python.or ...

  6. C#基础:泛型委托

    泛型委托是委托的一种特殊形式,感觉看上去比较怪异,其实在使用的时候跟委托差不多,不过泛型委托更具有类型通用性. 就拿C#里最常见的委托EventHandler打比方.在.NET 2.0以前,也就是泛型 ...

  7. WCF中Service Configuration Editor的使用方法

    1.在App.config文件上右击,选择Edit WCF Configuration.... 或者打开Program Files\Microsoft Visual Studio 8\Common7\ ...

  8. 小例子(三)、winform控件的移动

    程序:Do You Love Me ? 说明:就是鼠标移动到“不爱”按钮上按钮就会移动到其他地方 代码: //鼠标进入控件表面的事件MouseEnter //this.ClientSize.Width ...

  9. WPF:xmal 静动态资源

    <StackPanel.Resources> <SolidColorBrush x:Key="myBrush" Color="Teal"/&g ...

  10. Python中一些内建函数及os等模块的用法

          len(obj)                   # 求长度:obj可以是str.list等对象    split(str, num)          # str-分割符,默认空格: ...