HTTP

作者: 曹小恒 | 来源:发表于2018-10-24 00:15 被阅读0次
    • HTTP1.0 1.1 2.0的特点和区别
      HTTP是一个应用层协议,建立到服务器指定端口的 TCP 连接
    协议版本 特点 其他
    1.0 不能持续连接, head of line of blocking
    1.1 持久连接,连续请求,身份认证,状态管理,断点续传 客户端不用等待上一次请求结果就能发出下一次请求(但是服务器端返回需要按照先后顺序),客户端并行,服务器端串行(部分解决 holb)
    2.0 多路复用,二进制分帧,首部压缩 完全解决 holb
    • get 和 post
      1)是否幂等
      2)安全性
      3)url 长度限制
      4)是否可以缓存

    • HTTP 状态码

    分类 描述
    1** 收到,继续执行操作
    2** 成功
    3** 重定向
    4** 客户端错误
    5** 服务器错误

    HTTPS 的加密传输方式
    HTTP+TLS(原为 SSL):在 HTTP 上加上一层加密模块, 通信双方的信息都需要被加密进行传送,然后验证和解密,整个顺序如下:
    对称密钥加密(双方的私钥是相同的):

    1. 客户端发起HTTPS 请求
    2. 服务端的配置
      采用 HTTPS的服务器需要一套数字证书(自制或者申请),证书就是一套公钥和密钥,
    3. 传送证书
      就是公钥加上证书的颁发机构,过期时间等等
    4. 客户端解析
      客户端的 TLS验证公钥的有效性,如果有异常,那么弹出一个警告框;如果没有问题,生成随机值,通过证书进行加密.
    5. 传送加密信息
      传送加密后的随机值,让服务器得到这个随机值,今后客户端和服务端可以通过这个随机值进行通信
    6. 服务端解析信息
      服务端使用私钥解密,得到随机值(新的私钥),然后进行对称加密(除非知道私钥,不然不能获取内容)
    7. 传输加密后的信息
    8. 客户端解密

    在浏览器输入 url 之后发生了什么

    1. DNS 域名解析
      - 浏览器缓存的 DNS 记录
      - 操作系统中的 DNS
      - 系统的 hosts 文件
      - 本地 DNS 服务器请求(递归)
      -本地 DNS 服务器请求根服务器,顶级,二级服务器(迭代)
    2. 建立 TCP 连接
      三次握手
    3. 发起 HTTP 请求
      报文的组成: 报文首部(请求行,首部字段,通用字段,其他),空行,主体
    4. 接受响应结果(状态码和响应报文)
    5. 浏览器解析html
      构建 dom 树
    6. 浏览器布局渲染

    相关文章

      网友评论

          本文标题:HTTP

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