概述

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. Eclipse用Tomcat插件部署Java Web项目

    Eclipse版本3.7.2,Tomcat插件是3.3 详细步骤如下: 1.下载tomcatPlugin插件 tomcatPlugin下载地址http://download.csdn.net/deta ...

  2. 转:strcmp函数实现及分析

    转自:strcmp函数实现及详解 strcmp函数是C/C++中基本的函数,它对两个字符串进行比较,然后返回比较结果,函数形式如下:int strcmp(constchar*str1,constcha ...

  3. 20160805_Cent6.4x64_安装配置(含网卡驱动的配置)

    ZC: 全程 root用户 操作. 1.我在BIOS中将 UEFI关闭了,然后 才安装的 Cent6.4x64 (ZC: 安装系统时,一起安装了 gcc等一些编程用的包.本来是想安装QT时少点麻烦的, ...

  4. XMPP 常见错误:(<failure xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><not-autho

    1检查jid XMPP认证的问题,一般都是与JID有关的,因此解决这类问题,首选的入口就是分析一下XMPPStream的JID,客户端在与服务器连接后,Socket就绑定了这个端口,用来处理与服务器的 ...

  5. Windows7隐藏字体

    今天突然发现字体Times New Roman消失了,如下图所示: 图1.1 不仅仅Times New Roman,还有System.MS Sans Serif--这些熟悉的字体都消失了,不能选用了! ...

  6. java 集合(Map)

    -------------------|Map  储存的数据都是以键值对的形式,键不可重复,值可重复. ----------------------------| HashMap ---------- ...

  7. 应用 Middleware

    主要应用场景:过滤HTTP请求 laravel本身自带了几个Middleware在app/http/middleware目录下面 然后在app/http/kernel.php中注册 自定义一个midd ...

  8. kellogg项目总结

    1.题目的去随机值去重 (当时做的是每次点击取出一个随机数,并删除数组中位置,后来改成获取10个随机数组成的数组,二者略有差距,修改颇长时间) function getArr(num){ totalA ...

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

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

  10. javascript 数组操作 转

    javascript之数组操作 1.数组的创建 var arrayObj = new Array(); //创建一个数组 var arrayObj = new Array([size]); //创建一 ...