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.报头