zoukankan      html  css  js  c++  java
  • 计算机网络 其他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各版本特性及区别

  • 相关阅读:
    sublime text 4 vim 插件配置
    ssh-keygen 的使用
    distribution transaction solution
    bilibili 大数据 视频下载 you-get
    Deepin 20.2.1 安装 MS SQL 2019 容器版本
    【转】使用Linux下Docker部署MSSQL并加载主机目录下的数据库
    【转】You Can Now Use OneDrive in Linux Natively Thanks to Insync
    dotnet 诊断工具安装命令
    Linux 使用 xrandr 设置屏幕分辨率
    【转】CentOS 7.9 2009 ISO 官方原版镜像下载
  • 原文地址:https://www.cnblogs.com/KirinSB/p/12865999.html
Copyright © 2011-2022 走看看