现在的位置: 首页 > 综合 > 正文

【网络协议】HTTP协议笔记

2017年09月22日 ⁄ 综合 ⁄ 共 1282字 ⁄ 字号 评论关闭

http://blog.csdn.net/ns_code/article/details/17066361

1.HTTP规定在HTTP客户与HTTP服务器之间的每次交互,都由一个ASCII码串构成的请求和一个“类MIME(MIME—like)”的相应组成。HTTP报文通常都是用TCP连接

    2.从层次的角度看,HTTP是面向事务的应用层协议。所谓事务,就是指一系列的信息交换,而这一系列的信息交换是一个不可分割的整体,即要么所有信息交换都完成,要么一次交换都不进行。

    3.HTTP协议本身是无连接的,虽然HTTP使用了TCP连接,但通信的双方在交换HTTP报文前不需要建立HTTP连接。

    4.HTTP协议时无状态的,也就是说,同一个客户第二次访问同一个服务器上的页面时,服务器的响应与第一次被访问时的相同。

    5.万维网客户把HTTP请求报文作为TCP连接三次握手的第三个报文的数据发送给万维网服务器,服务器收到HTTP请求报文后,就把所请求的文档作为响应报文返回给客户。

    6.HTTP/1.0的主要缺点,是每请求一个文档就要有两倍RTT的开销。HTTP/1.1使用持续连接。所谓持续连接,就是万维网服务器在发送响应后仍然在一段时间内保持这条连接,使同一个客户(浏览器)和该服务器可以继续在这条连接上传送后续的HTTP请求报文和响应报文,这并不局限于传送同一个页面上链接的文档,而是只要这些文档都在同一个服务器上就行。

    7.HTTP/1.1协议的持续连接有两种方式,即非流水线方式和流水线方式。非流水线方式的特点是,客户在收到前一个响应后才能发出下一个请求;流水线方式的特点是,客户在收到HTTP的响应报文之前就能接着发送新的请求报文。

    8.HTTP请求报文和响应报文都由三个部分组成:开始行、首部行、实体主题。开始行用于区别报文时响应报文还是请求报文,在请求报文中,开始行叫做请求行,而在响应报文中,开始行叫做状态行。

    9.请求报文请求行只有三个内容:方法、请求资源的URL、HTTP的版本。响应报文的状态行也包括三项内容:HTTP的版本、状态码、解释状态码的简单短语。

    10.状态码都是三位数字的,分为5大类共33种,例如:

    1xx表示通知信息的,如请求收到了或正在进行处理

    2xx表示成功,如接受或知道了;

    3xx表示重定向,如果完成请求,还必须采取进一步的行动;

    4xx表示客户端错误,如请求中有错误的语法或不能完成;

    5xx表示服务端错误,如服务器失效无法完成请求。

    11.在浏览器地址栏键入URL,按下回车之后发生的几个事件:

    1)浏览器向DNS服务器请求解析该URL中的域名所对应的IP地址;

    2)解析出IP地址后,根据该IP地址和默认端口80,和服务器建立TCP连接;

    3)浏览器发出读取文件(URL中域名后面部分对应的文件)的HTTP请求,该请求报文作为TCP三次握手的第三个报文的数据发送给服务器;

    4)服务器给出相应,把对应的html文本发送给浏览器;

    5)释放TCP连接;

    6)浏览器将该文本显示出来。


抱歉!评论已关闭.