HTTP

2018-10-24  本文已影响0人  曹小恒
协议版本 特点 其他
1.0 不能持续连接, head of line of blocking
1.1 持久连接,连续请求,身份认证,状态管理,断点续传 客户端不用等待上一次请求结果就能发出下一次请求(但是服务器端返回需要按照先后顺序),客户端并行,服务器端串行(部分解决 holb)
2.0 多路复用,二进制分帧,首部压缩 完全解决 holb
分类 描述
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. 浏览器布局渲染
上一篇下一篇

猜你喜欢

热点阅读