Http权威指南(二)---读书笔记

Chart4 

====连接管理====

一、TCP连接

  1.  Http和Https的网络协议栈:

  

  2.  Http在TCP/IP传输中的位置:
   

  3.  Http怎么利用TCP传输:

  

二、Http依赖的TCP性能(延时)简介

  1.  TCP连接建立握手:安全的三次握手

  2.  TCP慢启动拥塞控制
    (1)什么是慢启动:TCP连接会随时间进行自我“调谐”,初期将会限制连接的最大速度,到后期再逐渐加快。

    (2)该原因导致Http存在持久连接(Keep Live).

  3.  数据聚焦的Nagle算法(应用层的缓存)

    (1)问题:小的Http报文1.可能五无法填满一个分组(需等待),2.将等待确认分组(原因4.)

    (2)解决办法:设置TCP的TCP_NODELAY,以非阻塞方式传输

  4.  用于捎带确认的TCP延迟确认算法

    (1)看看这边的一个说法:每个TCP段都有一个序列号和数据完整性校验和,每个段的接受者收到完好的段时,

  都会向发送者回送小的确认分组。如果发送者没有在指定的窗口时间内收到确认信息,发送者就认为已经被破坏,

  将进行重发数据。(SYN/SYN + ACK)是这样的原因么?

    (2)HTTP具有双峰特性的请求-应答行为降低了捎带信息的可能。

    (3)你自然可以对TCP的参数进行设置。

  5.  TIME_WAIT时延和端口耗尽
    (1)产生原因:当某个TCP端点关闭TCP连接时,会在内存维护一个小的控制块,用来记录最近所关闭的IP和端口号,

            这类信息将保存2分钟左右。因此,两分钟内,你不能创建两个具有一样IP和端口号的连接。

        假设:源端口数量:(65536 - 1000) / 120 =  537,意味着2分钟内每秒钟接受超过537的连接,将产生这个问题。

    (2)解决办法:增加服务器数量,建立分发系统,或者使用虚拟IP。

祝:玩得愉快!
原文地址:https://www.cnblogs.com/hejianglin/p/5267734.html