HTTP协议

HTTP是基于TCP/IP协议的应用层协议,它提供了客户端和服务器之间的通讯规范,客户端一般为Chrome、Firefox、Internet Explorer、Edge、Safari、Opera等网页浏览器,服务器一般为Httpd、Nginx、IIS等Web服务器。

HTTP是什么

HTTP,全称是超文本传输协议(HyperText Transfer Protocol),是互联网上应用最为广泛的一种网络协议。

工作原理

HTTP由浏览器(Browser)发起请求(Request)交给Web服务器端(Web Server),Web服务器处理完后响应(Response)给浏览器端。

历史版本

HTTP/0.9

HTTP/0.9版本发布于1991年,该版本只提供GET一种请求方法,服务器只能返回HTML格式的文档。目前该版本已过时。

功能特性

  1. 客户端请求方法:GET
  2. 服务端返回格式:HTML
  3. 服务端返回完毕:关闭TCP连接

请求(Request)

GET /index.html

响应(Response)

<html>
<body>
	<h1>Index</h1>
	<p>this is index page.</p>
</body>
</html>

HTTP/1.0

HTTP/1.0版本发布于1996年5月,该版本可以传输文本、图片、音频、视频、二进制文件等,客户端请求方法增加了POST和HEAD,请求和响应通讯规范,增加了头信息(HTTP Header),还包括状态码(status code)、内容编码(content encoding)、缓存(cache),多部分发送(multi-part type)等。

功能特性

  1. 传输内容:文本、图片、音频、视频、二进制文件等
  2. 客户端请求方法:GET、POST和HEAD
  3. 新增头信息、状态码、内容编码,缓存等

请求(Request)

GET /index.html HTTP/1.0
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36
Accept: */*

响应(Response)

HTTP/1.0 200 OK
Content-Type: text/html
Content-Length: 108

<html>
<body>
	<h1>Index</h1>
	<p>this is index page.</p>
</body>
</html>

HTTP/1.1

SPDY协议

HTTP/2