- A+
http
HTTp
什么是HTTP
超文本传输协议 (HTTP) 是万维网的基础,用于使用超文本链接加载网页。HTTP 是一种应用层协议,旨在在联网设备之间传输信息,并在网络协议栈的其他层之上运行。HTTP 上的典型流程涉及客户端机器向服务器发出请求,然后服务器发送响应消息。
当您http://
在域前面的地址栏中输入时,它会告诉浏览器通过 HTTP 连接。HTTP 使用 TCP(传输控制协议),通常通过端口 80,通过 Web 发送和接收数据包。客户端向托管网站的 HTTP 服务器(在 TCP 握手之后)发送请求消息;然后服务器回复响应消息。响应消息包含完成状态信息,例如HTTP/1.1 200 OK
.
什么是HTTPS
HTTPS 是安全超文本传输协议的首字母缩写。与 HTTP 一样,它的主要目的是将数据从服务器传输到浏览器,以便您加载网站。 但是,HTTPS 使用加密连接在服务器和浏览器之间进行通信。SSL(安全套接字层)证书可保护传输的数据在交换时不被盗。 HTTPS 创建于 1994 年,但直到 2019 年才被广泛用作标准。它的流行主要是由于谷歌在 2014 年建议网站切换到 HTTPS。 您还可以在浏览器的地址栏中发现 HTTPS(例如https://www.semrush.com)。
当您https://
在域前面的地址栏中输入时,它会告诉浏览器通过 HTTPS 连接。通常,通过 HTTPS 运行的站点会有一个重定向,因此即使您输入 http://,它也会重定向以通过安全连接进行传送。HTTPS 还使用 TCP(传输控制协议)来发送和接收数据包,但它是通过端口 443 在由传输层安全性(TLS) 加密的连接内进行的
“S”是什么
在以往的HTTP传输中数据都是以明文方式进行传输,而且HTTP协议是无状态的,不能验证对方身份,也不能保证数据传输完整性,如果攻击者在我们的通信中截取数据那就可以获得大量的有用信息,所以一种更加安全的协议HTTPS诞生了。
HTTPS 的目的是将这些内容加密,确保信息传输安全。最后一个字母 S 指的是 SSL/TLS 协议,它位于 HTTP 协议与 TCP/IP 协议中间,它是一个单独的协议,并且可以与应用层上其他协议进行搭配使用比如telenet,ftp等协议。这一层协议加在了传输层与应用层之间,它使通通信更加安全,通信可以互相验证对方身份,并且保证了数据传输完整性,对通信数据进行了加密,即使被攻击者截取到了数据流,也很难解析出有用的信息。
当你在访问一个HTTPS的网站时: 1)客户端向服务端发送请求 2)服务端向客户端发送自己的数字证书,证书包含公钥 3)客户端校验证书是否正确。如果正确(并不代表对方就是服务器),发送一个随机数给服务端用私钥加密,自己用公钥去解密这个字符串,看是否能匹配 上。如果匹配上,则说明对方确实是服务器 4)客户端生成一个对称加密算法,之后的内容会用这个对称加密进行加解密。客户端用公钥加密这个对称加密算法和密钥,发送给服务端。之后双方的通信 就按这个方式展开了。
HTTP和HTTPS的区别
HTTP | HTTPS |
---|---|
HTTP 的完整形式是超文本传输协议。 | HTTPS 的完整形式是安全的超文本传输协议。 |
它在地址栏中写为 http://。 | 它在地址栏中写为 https://。 |
HTTP 通过端口号 80 传输数据。 | HTTPS 通过端口号 443 传输数据。 |
它是不安全的,因为发送的是纯文本,黑客可以访问。 | 它是安全的,因为它发送黑客无法理解的加密数据。 |
它是一个应用层协议。 | 它是一种传输层协议。 |
它不使用 SSL。 | 它使用提供数据加密的 SSL。 |
Google 不会优先考虑 HTTP 网站。 | 由于 HTTPS 网站是安全网站,因此 Google 会为 HTTPS 提供偏好。 |
页面加载速度很快。 | 由于它支持的附加功能,即安全性,与 HTTP 相比,页面加载速度较慢 |