美文网首页
[网络] 应用层

[网络] 应用层

作者: 再凌 | 来源:发表于2020-04-25 23:10 被阅读0次

    HTTP

    HTTP 1.0 1.1 2.0 的区别

    HTTP1.0 对于每一次的连接, 将会生成全新的TCP连接, 在1.1版本中增加了长连接选项(默认开启), 后续的文件传输都将通过先前开启的TCP连接传输.

    HTTP2.0使用二进制流而不是字节流传输数据. 同时, 2.0版本还采用多request模式, 即一个TCP报文可以携带多个request数据, 通过不同的id来加以区分. 最后一个特性是支持服务器推送, 例如客户端请求了index.html, 但是服务器可以返回index.html +index.css + index.js

    http中的get

    当http的proxy认为缓存的内容"可能过时", 将发送一个条件get数据包, 其中含有缓存时间, 像服务器请求文件最近modified的时间, 检查是否一致.

    对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);
    而对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)

    cookie和session

    cookie存储在客户端中, session记录在服务器中

    session基于cookie实现或者基于URL实现

    DNS

    dns使用udp.

    dns存在于: 浏览器缓存, 系统缓存, 路由器缓存, 本地ISP缓存和跟余名

    P2P

    每一个对等方拥有部分或全部的文件内容. 追踪器(可以理解为一种服务器)维护列表, 看哪个对等方在线.

    传输时使用"稀缺优先"思想和高效对换算法(只和带宽最高的四位保持连接并定期探测第五位是否高效)

    对等方列表维护发展思路: 全连接->环形->捷径

    全连接对于每一次列表查询将产生n*(n-1)次查询, 因此将整个对等方维护成一个环形并编号. 通过散列的方式将某文件的拥有列表维护在某个对等方中. 当对等方想知道列表时, 通过迭代环形查询得知谁在维护列表

    通过添加环形捷径, 让迭代查询次数降低.

    每一个对等方记录next和next->next. 即使next掉线, 也可以通过next->next保持环形不变.

    相关文章

      网友评论

          本文标题:[网络] 应用层

          本文链接:https://www.haomeiwen.com/subject/unalwhtx.html