http 和 https 的区别

2020-10-27 10:30 682浏览 1回答

http 和 https 的区别有什么?各自的概念都是什么?有什么联系?



转载请联系作者获得授权,并标注“文章作者”。

后发表回答
书生
1楼 · 2020-10-27 10:30.采纳回答

HTTP(Hyper Text Transfer Protocol,超文本传输协议)是一个客户端和服务器端请求和应答的标准(TCP)。客户端是终端用户,服务器端是网站。通过使用Web浏览器、网络爬虫或者其他工具,客户端发起一个服务器上指定端口(默认端口为80)的HTTP请求,这个客户端叫用户代理(User-Agent)。响应的服务器上存储资源,比如HTML文件和图像,在用户代理和服务器中间可能存在多个中间层,比如代理、网关或者隧道(Tunnels)。

HTTP协议传输的数据都是未加密的,也就是明文数据,因此非常不安全。为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而诞生了HTTPS。

HTTPS(Hyper Text Transfer Protocol orer Secure Sokcket Layer,可以理解为HTTP+SSL、TLS)在传输数据之前需要客户端(浏览器)与服务器(网站)中间进行一次握手,以确立双方加密传输数据的密码信息。

HTTPS的SSL中使用了非对称加密、对称加密以及HASH算法。握手过程简单描述如下:

(1) 浏览器将自己支持的一套加密规则发送给网站。

(2) 网站充从中选取一组加密算法与HASH算法,将自己的身份信息以证书的形式发回给浏览器。证书里面包含网站地址、加密公钥以及证书的颁发机构等信息。

(3) 获得网站证书之后浏览器进行相应的工作。

(4) 网站接受浏览器发来的数据并进行相应的操作。

(5) 如果浏览器解密并计算握手信息的HASH与服务端发来的HASH一致,此次握手过程结束。

另外,HTTPS一般使用的加密算法与HASH算法如下。

* 非对称加密算法:RSA、DSA/DSS。

* 对称加密算法:AES、RC4、3DES。

* HASH算法:MD5、SHA1、SHA256。

SSL握手过程中有任何错误都会使加密链接断开,从而阻止隐私信息的传输,正是由于HTTPS非常安全,攻击者无法从中找到下手的地方,因为更多的采用假证书的手法来欺骗客户端,从而获取明文的信息。


环球网校快问 · 最新文章 · 最新问题
Copy 2018 https://wenda.hqwx.com/ All Rright Reserved. 京ICP备16038139号-3 / Smrz 京ICP备16038139号-3/ 举报电话:400-678-3456 /