HTTP协议简介
HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web)服务器传输超文本到本地浏览器的传送协议。它是基于TCP/IP通信协议来进行传递数据(HTML 文件, 图片文件, 查询结果等),是一种无状态协议。
HTTP协议流程简介
非持久连接请求和响应过程
HTTP1.0中采用的是非持久连接,针对每一次http请求都单独建立TCP连接,响应完成,即关闭该TCP连接。其具体过程如下图所示:
其缺点很明显,当页面中包含多个对象,客户端需要与服务端建立大量的TCP连接,对页面的整体延迟以及网络流量的影响较大。
持久连接请求和相应过程
HTTP1.1中重复利用已建立的TCP连接,提高了协议的效率。具体可分为带流水线和不带流水线。其主要区别在于下一次请求的发送是否需要等待上一次请求的响应接收。
不带流水线持续连接过程如下:
带流水线的持续连接过程如下:
HTTP1.1中如果希望关闭TCP连接,可以在请求或者响应的Connection头的值设置为close(默认为Keep-Alive),该TCP连接将在本次HTTP请求和响应结束后关闭,下次请求将重新发起一个新的TCP连接。
HTTP协议状态码简介
其响应状态号可分为五类:
1xx:指示信息, 表示请求已接收,继续处理
2xx:成功,表示请求一杯成功接收、理解、接受
3xx:重定向,要完成的请求必须进行更进一步的操作
4xx:客户端错误,请求语法错误,或者请求无法实现
5xx:服务端错误,服务器未能实现合法的请求
以上~