1.http的报文结构
起始行(url /返回码/http协议版本/请求操作等)
报文头(头部信息)
报文体 (传输的内容)
连接建立3次握手。
连接断开 4次握手。单方断开2次握手。
常见问题:
1.使用短连接,产生握手延时
解决方案:使用长连接
2.大量的传输较小的报文组。每个报文组头部都有54个报文头信息,这些信息相对于客户而言,是无用信息。
解决方案:延时确认测略。
将返回的确认报文,先放在缓存中,等待其他的小报文进行捎带。如果一定时间(200ms左右)没有找到,作为单独分组发送。
3.网络阻塞时,大量传输报文组,会出现很多丢包超时的现象。
解决方案:慢启动。开始发送较少的报文组,根据确认报文的时间长短,逐步调整发送报文的数据量。最大量受滑动窗口的限制。
4.滑动窗口 客户端和服务段都有自己的seq 和ack
连接建
seq ack 报文长度
a->b 4000(随机) 0
b->a 5000 (随机) 4000+1=4001
a->b 4001 5000+1=5001
数据传输
seq ack 报文长度
a->b 4000 7000 1154
b->a 7000 4000+1154-54=5110 54
a->b 5110 7000+54-54=7000 1054
b->a 7000 5110 +1054 - 54=5210 54
a->b 5210 7000+54-54=7000 108