Web体系=资源+URI+表示
概述
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+表示的更多相关文章
- AngularJS使用OData请求ASP.NET Web API资源的思路
本篇整理AngularJS使用OData请求ASP.NET Web API资源的思路. 首先给ASP.NET Web API插上OData的翅膀,通过NuGet安装OData. 然后,给control ...
- web开发资源导航
实用工具 前端在线工具 兼容性速查 html5兼容性查询 node-es6支持度 es6兼容性表查询 设备es6支持度 游览器H5支持度 浏览器内核检测工具 手机设备信息检测 浏览器市场份额 文档手册 ...
- WEB前端资源项目整合
WEB前端资源项目整合 vue.js高仿饿了么(1-13章全)链接:https://pan.baidu.com/s/1qYSiYXluA1AlEV0EskxWZw提取码:25z9 Vue.js 2.5 ...
- 个人Web工具箱&资源整理(1)
很久就想把使用的工具及收藏的资源整理一番:一是为了传达博客社区的理念:资源共享,而是方便自己及团队快速获取. 学习资源: 首推两个入门级在线参考网站. 1 w3c school. 2 Runoob.c ...
- 移动web开发资源大整合
移动web开发资源大整合 http://www.cnblogs.com/PeunZhang/p/3407453.html
- 极客Web开发资源大荟萃
前端开发已经成为当前炙手可热的技术之一.此次我们总结的前端开发包含了相关技术和流行趋势,希望从中大家可以挖掘你们所需要的,并带给你们最有价值的帮助!原文来自:极客标签 使用代码回放来愉快地学习前端知识 ...
- 汇总——WEB前端资源网
前端攻城师 爱思资源网 HTML5吧 0101后花园 前端网 编程教程和源代码示例 Javascript中文网 Web前端资源网 移动端HTML5资源整理 Web开发者 SegmentFault 前端 ...
- Java Web 前端资源文件的路径问题
WEB-INF是Java Web应用的安全目录,在部署时用于存放class文件.项目用到的库(jar包).Java Web应用的配置文件web.xml. 浏览器不能访问此目录下的资源,比如在WEB-I ...
- 写给自己的web开发资源
web开发给我的感觉就是乱七八糟,而且要学习感觉总是会有东西要学习,很乱很杂我也没空搞,(其实学习这个的方法就是去用它,什么你直接用?学过js么学过jquery么?哈哈,我没有系统的看完过,但是也做出 ...
随机推荐
- golang操作文件的四种方法
golang追加内容到文件末尾 字数349 阅读54 评论0 喜欢2 golang读写文件,网上很多教程了但是今天有个需求,想要把内容追加写到文件末尾google了好久,没有查到研究了一会儿file库 ...
- hdu 5713(状态压缩DP)
要进行两次dp, 第一个,dp[i],1<=i<=(1<<n) 其中用i的二进制形式表示已选择的点. dp[i] 用来保存i中的点构成一个连通块,边集多少种可能. 转移方程: ...
- C#_加密解密
一.MD5加密解密 1.加密 public static string ToMd5(string clearString) { Byte[] clearBytes = System.Text.Enco ...
- 项目开发中遇到的extjs常见问题
事件触发机制 l 给某一个控件添加事件. obj.addEvents( {search : true }); l 给某一个事件添加处理函数 n 给一个对象或变量添加监听及对应得处理,可以在创建时,通过 ...
- 黑盒测试在App自动化测试中的应用
黑盒测试在App自动化测试中的应用 不废话,直接来. 先说说什么是黑盒测试 黑盒测试,这里就说的是app功能测试,之前看到一个介绍说,就是在测试中,把测试对象看作一个黑盒子.利用黑盒测试法进行动态测试 ...
- Hbase之尝试使用错误列族获取数据
import com.google.common.base.Strings; import org.apache.hadoop.conf.Configuration; import org.apach ...
- 【ubuntu java】java: error while loading shared libraries: libjli.so: cannot open shared object file: No such file or directory
先检查了环境变量PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/loca ...
- JSON对象如何转化为字符串?
序列化 定义 指将 JavaScript 值转化为 JSON 字符串的过程. JSON.stringify() 能够将 JavaScript 值转换成 JSON 字符串.JSON.stringify( ...
- [转]Android各大网络请求库的比较及实战
自己学习android也有一段时间了,在实际开发中,频繁的接触网络请求,而网络请求的方式很多,最常见的那么几个也就那么几个.本篇文章对常见的网络请求库进行一个总结. HttpUrlConnection ...
- Android相机开发那些坑
版权声明:本文由王梓原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/168 来源:腾云阁 https://www.qclou ...