【网络协议】HTTP协议笔记
2015-02-11 23:58
190 查看
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)浏览器将该文本显示出来。
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)浏览器将该文本显示出来。
相关文章推荐
- 【网络协议】HTTP协议笔记
- 【网络协议】HTTP协议笔记
- STM32+NTP网络时间协议
- SQL 2005远程连接是出错(provider: SQL 网络接口, error: 28 - 服务器不支持请求的协议
- 错误信息:通常每个套接字地址(协议/网络地址/端口)只允许使用一次.
- 网络7层协议简单总结
- 计算机网络原理五层协议体系初解
- 计算机网络协议第五章应用层协议,第六章网络协议栈
- 常见网络端口和网络协议
- 【计算机网络】传输层协议TCP
- 网络协议之ipv6
- 网络数据包协议分析软件
- 《java入门第一季》之tcp协议下的网络编程c/s实现通信交互
- iOS- Apple零配置网络协议Bonjour的使用?
- 因特网在线聊天协议(IRCP/IRC)--网络大典
- ISA三种客户端的对于网络协议支持情况的说明
- Unix 网络编程(二)- 你需要知道的传输层协议实现细节。
- SQL Server 2008网络协议深入理解
- 利用Wireshark加Lua分析专有网络协议
- TCP/IP各层协议、工作设备、网络地址划分总结 《TCP-IP详解卷1:协议》读书笔记一 概述(内附思维导图)