简介:
HTTP ( HyperText Transfer Protocol ) 超文本传输协议,是互联网上应用最广泛的一种网络协议。
HTTP 是一个客户端和服务端请求、应答的标准。使用 WEB 浏览器、网络爬虫或其它工具,客户端发起一个 HTTP 请求,到达服务器指定端口( 默认 80 )。
此时 HTTP 服务器端在 TCP 80 端口监听客户端的请求,一旦收到请求,则向客户端返回一个状态,如 HTTP/1.1 200 OK,以及返回的内容:如请求的文件、错误消息等。
一、请求方法
HTTP/1.1 协议中定义了八种方法以不同的方式操作指定资源。
1、OPTIONS
这个方法可使服务器传回该资源所支持的所有 HTTP 请求方法。用 * 来代替资源名称。向 WEB 服务器发送 OPTIONS 请求,可以测试服务器功能是否正常运作。
2、HEAD
与 GET 方法一样,都是向服务器发出指定资源的请求。只不过服务器不传回资源的文本部分。使用该方法可以在不必传输全部内容的情况下,就可以获取其中"关于该资源的信息"(元数据)。
3、GET
向指定的资源发出"显示"请求。该方法应只用在读取数据,而不应当被用于产生"副作用"的操作中。
4、POST
向指定资源提交数据,请求服务器进行处理(如:提交表单、上传文件)。数据被包含在请求文本中。
5、PUT
向指定资源位置上传其最新内容。
6、DELETE
请求服务器删除 Request-URI 所标识的资源。
7、TRACE
回显服务器收到的请求,主要用于测试或诊断。
8、CONNECT
HTTP/1.1 协议中预留级能够将连接改为管道方式的代理服务器。通常用于 SSL 加密服务器的链接。
二、版本差异
1、0.9
已过时。只接受 GET 一种请求方法。没有在通讯中指定版本号,不支持请求头,不支持 POST 方法,因此客户端无法向服务器端传递太多信息。
2、HTTP/1.0
第一个在通讯中指定版本号的 HTTP 协议版本。
3、HTTP/1.1
持久连接被默认采用,并能很好的配合代理服务器工作。支持以管道方式同时发送多个请求,以便降低线路负载,提高传输速度。
HTTP/1.1 与 HTTP/1.0 协议的区别主要体现:
> 缓存处理
> 带宽优化及网络连接
> 错误通知的管理
> 消息在网络中的发送
> 互联网地址的维护
> 安全性及完整性
参考:http://blog.csdn.net/forgotaboutgirl/article/details/6936982
4、HTTP/2
当前版本,于 2015年5月作为互联网标准正式发布。