这是一个系列文章主要带读者徹底理清HTTP网络协议client和asyncHTTP网络协议client。比如在底层他是怎么发送请求的怎么和socket关联的?consumeContent导致的异常… …
超文本传输协议(HTTP网络协议)是一种通信协議归属于应用层协议,主要解决如何包装数据它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器。HTTP网络协议协议是无状态嘚同一个客户端的这次请求和上次请求是没有对应关系,对HTTP网络协议服务器来说它并不知道这两个请求来自同一个客户端。 为了解决這个问题 Web程序引入了Cookie机制来维护状态.
TCP协议:是一种面向连接的、可靠的、基于字节流的传输层通信协议;
IP协议:将多个包交换网络连接起来,它在源地址和目的地址之间传送一种称之为数据包的东西它还提供对数据大小的重新组装功能,以适应不同网络对包大小的要求
IP不提供可靠的传输服务,它不提供端到端的或(路由)结点到(路由)结点的确认对数据没有差错控制,它只使用报头的校验码它鈈提供重发和流量控制;
OSI(Open System Interconnect),即开放式系统互联 一般都叫OSI参考模型,是ISO(国际标准化组织)组织在1985年研究的网络互连模型
无状态是指協议对于事务处理没有记忆能力同一个客户端的这次请求和上次请求是没有对应关系,对HTTP网络协议服务器来说它并不知道这两个请求來自同一个客户端;
无状态不代表HTTP网络协议不能保持TCP连接,更不能代表HTTP网络协议使用的是UDP协议(无连接)
从HTTP网络协议/1.1起默认都开启了Keep-Alive,保持连接特性简单地说,当一个网页打开完成后客户端和服务器之间用于传输HTTP网络协议数据的TCP连接不会关闭,如果客户端再次访问这個服务器上的网页会继续使用这一条已经建立的连接
Keep-Alive不会永久保持连接,它有一个保持时间可以在不同的服务器软件(如Apache)中设定这個时间