• 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。

    祝:玩得愉快!
  • 相关阅读:
    线程池中的scheduleAtFixedRate scheduleWithFixedDelay区别
    几道MySQL问题
    【SQL server 2012】复制数据库到另一台机器上
    LeetCode 98. 验证二叉搜索树
    深度学习知识点
    Graph Network Notes
    剑指 Offer 33. 二叉搜索树的后序遍历序列
    剑指 Offer 29. 顺时针打印矩阵
    LeetCode 54. 螺旋矩阵
    LeetCode 50. Pow(x, n)
  • 原文地址:https://www.cnblogs.com/hejianglin/p/5267734.html
Copyright © 2020-2023  润新知