http重定向流程与https证书校验流程

时间:2024-03-16 13:58:38

http重定向

原理:在 HTTP 协议中,重定向操作由服务器通过发送特殊的响应(即 redirects)而触发。HTTP 协议的重定向响应的状态码为 3xx 。浏览器在接收到重定向响应的时候,会自动采用该响应提供的新的 URL 并立即进行加载;大多数情况下,除了会有一小部分性能损失之外,重定向操作对于用户来说是不可见的。不同类型的重定向映射可以划分为三个类别:永久重定向、临时重定向和特殊重定向。响应实体必须带有一个HTTP Location头部来指示新地址。


http重定向流程与https证书校验流程

重定向的目的
1、相似域名。浏览者可能输入错误的域名,如:gooogle.com或googel.com。机构或团体不时会注册这些拼字不正确的网域名,重定向到正确地方:google.com。例如:example.com和example.net两者均会重定向至像是example.org的单一网域或网页。
2、移动网站至新url。网站需要改变它的域名。移动网页至新域名。或者是多个个网站结合跳转。


https证书校验

http默认端口80,;https默认端口443。证书是为了加密并安全传输服务端公钥,保证客户端收到的公钥是服务端发送的。https先是验证服务端证书并取出服务端的公钥,用取出的公钥加密对称**传输到服务端(非对称加密对称**),服务端用自己的私钥解密取出对称**,双方最后进行对称加密传输(对称加密)。 https加解密详细过程:


http重定向流程与https证书校验流程

1、客户端向服务器端请求连接,服务器随后将自己的SSL服务器证书(包含公钥)返回给客户端。

2、浏览器验证收到的证书,判断是否信息被篡改或证书被替换。

  • 判断证书是否受信任:根据证书内容去浏览器寻找根证书。若未找到根证书,代表此机构是不受信任的,此时浏览器会警告用户。如果服务器证书是自签名的证书那么就需要把服务器自签名的ca证书放到客户端可信任CA证书的路径下,否则验证服务器证书失败。
  • 判断证书是否被篡改:若找到根证书后,会在根证书中获取根公钥,然后去解密收到的证书指纹。获取到指纹中的hash值,然后根据收到证书的内容再次生成一个hash值,判断信息是否被篡改。
  • 判断证书是否被替换:若信息未被篡改,则验证是否为目标服务器发送的证书,检查证书的<使用者>属性是否和我们请求的url相同。

3、若证书验证成功,那么浏览器就可以确定该证书是目标服务器发送的,于是生成一个对称加密的**,使用收到证书的<公钥>进行加密(保护对称**)。然后发送给服务器。

4、将使用服务器公钥加密过后的对称**发送给服务器,服务器使用自身私钥解密出客户端的对称**。

5、之后的通信一律使用对称**进行加密。双方都已拿到对称**都可以对传输数据进行加解密


对称加密:同一个**可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单**加密。


http重定向流程与https证书校验流程