HTTP协议详解:浏览器
HTTP(超文本传输协议),是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型。HTTP一般承载于TPC协议之上,有事也承载于TLS或者SSL协议层之上,这个时候就成了咱们常说的HTTPS。HTTP默认端口是80,HTTP默认端口是443。是一个客户端发起请求,服务器响应请求的过程。在这个过程当中HTTP协议是一个无状态,无链接的协议,同一个客户端的此次请求和下次请求没有对应关系。
这种协议模式很是简单,同时也存在着问题。好比服务器不会主动向客户端PUSH,无链接的协议是的TPC链接创建和断开。到时交互效率不高,SPDY协议应运而生。SPDY协议须要客户端浏览器和服务端同时支持,目前,应用SPDY协议的主要是GOOGLE产品,如Goole Plus.
HTTP协议是如何工做的?
浏览玩个是HTTP协议的主要应用,但不表明HTTP协议就只能应用于浏览网页,只要同心的双方否遵照HTTP协议就有用武之地。好比腾讯QQ,迅雷软件都是使用了HTTP协议。
那么HTTP协议是如何工做的呢?
首先,客户端发送一个请求(request)给服务器,服务器在接收到这个请求后将生成一个响应(Request)返回给客户端。一次HTTP操做成为一个书屋,期工做过程可分为四步:
客户机和服务器创建链接。单击某个超连接,HTTP协议开始工做
创建链接后,客户机发送一个请求给服务器。格式为:前边是统一的资源标识符(URL),中间是协议的版本号,后边是MIME信息(包括请求修饰符,客户机信息和可能的内容)
服务器收到请求后,给予相应的的响应信息。格式为:首先是一个状态行(包括信息协议版本号、一个成功或错误的代码),而后是MIME信息(包括服务器信息、实体信息、可能的内容)
客户端接收到服务器返回的信息并显示在用户的显示器上,而后客户机已服务器断开。
HTTP协议的主要概念
1.请求
在发起请求前,须要创建链接。
链接是一个传输层的实际环流,他创建在两个相互同心的应用程序之间。在HTTP 1.1 协议中,request 和response 都有可能出现一个connection的投,其决定了当Client 和Server通讯时对于长连接的处理。
HPPT1.1.协议中,Client 和 Server 默认对方支持长连接,若是Client使用HTTP1.1协议,但又不想使用长连接,能够再header中指明connection的值为close;若是Server方也不想支持长连接,则在respone中说明connection 为close。不管是Client好是Server方的connection为close,都代表正在使用的TCP链接处理完毕以后会断开 。之后Client再进行新的请求时必须创建TCP新的链接。
2.响应
3.报头