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各版本特性及区别

  • 相关阅读:
    blk_update_request: I/O error, dev fd0, sector 0
    将MySQL数据迁移到Redis
    专职DBA-MySQL DAL(Data Access Layer)中间件总结
    搞笑聊天(一)
    看图写话(一)
    NFS存储服务
    rsync备份服务
    专职DBA-使用Python操作MySQL数据库
    如何解决SecureCRT无法选择Monaco等其他字体
    MySQL架构类型
  • 原文地址:https://www.cnblogs.com/KirinSB/p/12865999.html
Copyright © 2011-2022 走看看