http 协议简介,请求头域
最近想自己写一个http代理服务,因此重新温习下http协议知识~
HTTP协议简介
浏览器和Web服务器之间一问一答的交互过程遵守一定的规则,这个规则就是HTTP协议。HTTP协议时TCP/IP协议集中的一个应用层协议,定义了浏览器和Web服务器之间交换数据过程和数据本身的格式。现在广泛应用的有HTTP/1.0和HTTP/1.1两个版本,1.1和1.0相比最大的特点就是增加对长连接的支持。
HTTP/1.0的通信过程
HTTP/1.0只支持短连接,每次连接只处理一个请求,即使对同一站点的每一个页面的访问,浏览器和服务器之间都要建立一次单独的链接。
HTTP /1.1的通信过程
HTTP/1.1支持长连接,在一个TCP连接上可以传送多个HTTP请求和应答,减少建立和关闭连接的消耗和延迟。例如一个包含多张图片资源的网页文件的多个请求和响应可以在同一个连接中传输,并且还允许浏览器客户端不用等待上一次请求的结果返回就可以发送下一个请求,也就是支持pipeline管线化。
HTTP请求
完整的HTTP请求包括:一个请求行、若干HTTP头域和可选的实体内容三部分:
请求行
请求行以一个方法符号开头,以空格分开,后面跟着请求的URI和协议版本,格式如下:
Method Request-URI HTTP-Version CRLF
……