zoukankan      html  css  js  c++  java
  • 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。

    祝:玩得愉快!
  • 相关阅读:
    UVa LA 2965
    UVa LA 3695
    UVa LA 3029 City Game 状态拆分,最大子矩阵O(n2) 难度:2
    Uva LA 3177
    Uva LA 3902
    Uva 11520
    UVa Live 3635
    python学习笔记-day05 字典
    python学习笔记-day04 元组
    python学习笔记 day04 列表增删改查
  • 原文地址:https://www.cnblogs.com/hejianglin/p/5267734.html
Copyright © 2011-2022 走看看