HTTP和HTTPS相关知识点和疑问解答

HTTPS建立连接的过程是什么?

  1. 客户端发送请求到服务器端
  2. 服务器端返回证书和公开密钥,公开密钥作为证书的一部分而存在
  3. 客户端验证证书和公开密钥的有效性,如果有效,则生成共享密钥并使用公开密钥加密发送到服务器端
  4. 服务器端使用私有密钥解密数据,并使用收到的共享密钥加密数据,发送到客户端
  5. 客户端使用共享密钥解密数据
  6. SSL加密建立

 

HTTP2和HTTP1.1的区别?

  1. 传输方式:HTTP2使用的是二进制传送,HTTP1.X是文本(字符串)传送
  2. 多路复用:最大限度利用同个 TCP,没有并发链接的限制
  3. 首部压缩:HTTP2 会对 header 首部进行压缩,有 static 表或者是动态表存储不常变化的字段,减少首部传输,字节浪费
  4. 服务端推送

HTTP2中的流、数据帧、多路复用是什么?

  • 流:服务器和客户端在HTTP2连接内用于交换帧数据的独立双向序列,逻辑上可看做一个较为完整的交互处理单元。
  • 数据帧:帧是HTTP2中数据传输的最小单位。一个流代表一次完整的请求/响应过程,包含多个帧。数据帧就是数据链路层协议数据单元,包含帧头,数据部分,帧尾。帧头帧尾包含一些必要的控制信息,比如同步信息、地址信息、差错控制信息等,数据部分包含网络层传下来的数据,比如IP数据包等。
  • 多路复用:HTTP2对于同一域名下的请求都是基于流的,也就是无论多少个请求,都是同一个链接下的流完成的,这就是多路复用。

现代浏览器在与服务器建立了一个 TCP 连接后是否会在一个 HTTP 请求完成后断开?什么情况下会断开?

  • 不会马上断开,比如你打开了一个网页,关闭后,在打开,会发现TCP 依旧连接。
  • 一个连接空闲时间达到客户端/服务器的设定时间了, 则客户端/服务器发FIN包

HTTP 常见的请求头?

HEAD/GET/PUT/DELETE/POST/PATCH

HTTP 100、200、201、204、206、301、302、304、307、401、403、404、500状态码分别代表什么?用途?

  • 200 OK:请求已成功,所希望的响应头和数据随此返回,表示正常状态。
  • 201:表示第一个资源首次被创建成功。
  • 204:请求成功,不需要返回内容,所以没任何返回值,put和delete成功一般返回204。
  • 206 Partial Content:服务器已经成功处理了部分GET请求。该请求包含Range头信息来指示客户端希望得到的内容范围,并且包含if-Range来作为请求条件。一般用户断点续传。
  • 301 Moved Permanently:被请求的资源已永久移动到新位置,并且将来任何对此资源的引用都应该使用本响应返回的若干个URI之一。如果可能,拥有链接编辑功能的客户端应当自动把请求的地址修改为从服务器反馈回来的地址。除非额外指定,否则这个响应也是可缓存的。永久重定向,易用于SEO。
  • 302 Move Temporarily (Found):请求资源临时从不同的URI响应请求。由于这样的重定向是临时的,客户端应当继续向原有地址发送以后的请求。只有在Cache-Control或Expires中进行了指定的情况下,这个响应才是可缓存的。临时重定向,不易于SEO。
  • 304 Not Modified:如果客户端发送了一个带条件的 GET 请求且该请求已被允许,而文档的内容(自上次访问以来或者根据请求的条件)并没有改变,则服务器应当返回这个状态码。304响应禁止包含消息体,因此始终以消息头后的第一个空行结尾。
  • 307 Temporary Redirect:请求资源临时从不同URI响应请求。新的临时性的URI 应当在响应的 Location 域中返回。除非这是一个HEAD 请求,否则响应的实体中应当包含指向新的URI 的超链接及简短说明。因为部分浏览器不能识别307响应,因此需要添加上述必要信息以便用户能够理解并向新的 URI 发出访问请求。如果这不是一个GET 或者 HEAD 请求,那么浏览器禁止自动进行重定向,除非得到用户的确认,因为请求的条件可能因此发生变化。
  • 401 Unauthorized:当前请求需要用户验证(身份验证不通过)。
  • 403 Forbidden:服务器已经理解请求,但是拒绝执行它。
  • 404 Not Found:请求失败,请求所希望得到的资源未被在服务器上发现。
  • 500 Internal Server Error:服务器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理(后端代码错误)。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值