计算机网络 其他1

1、DNS劫持,DNS污染

DNS劫持:就是劫持DNS服务器,获得域名解析记录的控制权,进而修改此域名的解析结果,导致对该域名的访问由原IP转入修改后的IP。
可以更换DNS服务器。

DNS污染:因为DNS解析使用的是UDP协议,当某些服务器知道后,假装域名解析的服务器返回给你一个虚假的结果,因为UDP的不可靠性,你先得到了这个假的结果,那么就无法访问真正的IP了。
使用VPN等方法。

2、浏览器中输入URL到返回页面过程

1.进行DNS解析
2.拿到IP地址,进行TCP连接
3.发送HTTP请求
4.服务器处理请求
5.返回响应结果
6.关闭TCP连接
7.浏览器解析HTML
8.浏览器布局渲染

3、HTTP版本特性及区别

HTTP/0.9:

  • 只支持GET请求,没有请求头,服务器返回HTML让浏览器渲染。

HTTP/1.0:

  • 增加了请求方式:POST,PUT,DELETE等
  • 添加了请求头和响应头概念,可以指定HTTP协议版本号以及其他元信息(状态码、权限、缓存等)
  • 扩充了传输内容的格式,图片、音频等都能传输,Content-Type
  • 无状态:服务器不跟踪不记录请求过的状态
  • 无连接:一次TCP连接只处理一个请求(无法复用连接,网络利用率低;队头阻塞,前一个请求响应到达才能发送下一个请求,会阻塞后面的请求)

HTTP/1.1:

  • 长连接:新增Connection字段,默认设置keep-alive值保持连接不断开,那么一次TCP连接就可以处理很多次请求了(长连接也不是永久连接,会设置一个时间)
  • 管道化:请求发送可以不等前一个请求响应了才发,但是响应的顺序必须是按照请求的顺序返回
  • 断点传输:已经有了部分资源,可以只请求另外部分的资源
  • 节省带宽:支持只发送header头信息不带body信息,如果服务器认为用户有权访问就返回100(HTTP1.0不支持100响应码),否则返回401(用户没有权限访问);客户端收到100就可以把带有请求信息的请求发给服务器。
  • host域:HTTP/1.0认为每个服务器绑定唯一一个IP,在URL中不带主机名;HTTP/1.1中必须要有host字段,但可以为空

HTTP/2

  • 二进制分帧:将传输信息分为更小的帧和消息,然后用二进制编码,提高传输效率。每个帧头部都有标志,可以组装起来,这样帧就能乱序发送了。
  • 多路复用:在共享TCP连接的基础上,同时发送/接收多个请求和响应,基于二进制分帧,
  • 头部压缩:因为无状态,所以每次请求都需要头部信息,又是以文本传输的,造成很多的浪费。HTTP/2可以维护一个头部信息字典,减少头部信息占用的资源。
  • 服务器推送:除了请求-响应,服务器可以把客户感兴趣的发送过去,客户端需要请求时,直接去缓存拿

参考资料:

HTTP各版本特性及区别

posted @ 2020-05-10 23:40  KirinSB  阅读(189)  评论(0编辑  收藏  举报