HTTP请求和响应是以明文形式发送的,这意味着任何人都可以读取。HTTPS是经过加密的HTTP。这两种协议之间的唯一区别就是,HTTPS使用TLS(SSL)对正常的HTTP请求和响应进行加密。因此,HTTPS比HTTP要安全得多。一个使用HTTP的网站的URL里有http://,而使用HTTPS的网站有https://。
什么是HTTP?HTTP是Hypertext Transfer Protocol的缩写,它是一种协议或者说是用于显示信息的规定规则和语法,用于在网络上传输数据。通过互联网发送的大部分信息,包括网站内容和API调用,都使用HTTP协议。HTTP信息主要有两种:请求和响应。在OSI模型中,HTTP是一个第7层协议,即应用层协议。
如果一个网站使用HTTP而不是HTTPS,所有的请求和响应都可以被监控会话的人读取。基本上,恶意行为者只需读取请求或响应中的文本,就能准确地知道有人在请求、发送或接收什么信息。
什么是HTTPS?HTTPS中的S代表 \"secure”。HTTPS使用TLS(或SSL)来加密HTTP请求和响应。
在HTTPS中,TLS/SSL是如何对HTTP请求和响应进行加密的?TLS使用一种叫做公开密钥加密(public key encryption)的技术:有两个密钥,一个公钥和一个私钥,公钥通过服务器的SSL证书与客户端设备共享。当客户端与服务器建立连接时,两个设备使用公钥和私钥约定新的密钥,称为会话密钥,以加密它们之间的进一步通信。
然后,所有的HTTP请求和响应都会用这些会话密钥进行加密(这在OSI模型的第6层(表达层)进行),这样,任何拦截通信的人只能看到一串随机的字符,而不是明文。
公开密钥加密:也称非对称式密码学,是一种用两个不同的密钥对数据进行加密的方法,并将其中一个密钥,即公钥,提供给任何人使用。另一个密钥被称为私钥。用公钥加密的数据只能用私钥解密,用私钥加密的数据只能用公钥解密。公钥加密也被称为非对称加密。它的应用非常广泛,尤其是TLS/SSL,使HTTPS成为可能。
HTTPS是如何帮助网络服务器进行身份验证的?身份验证意味着验证一个人或机器是否是他们声称的人或机器。在HTTP中,没有身份验证:它是基于信任原则的。HTTP的设计者并不一定决定信任所有的Web服务器,他们当时只是有安全以外的优先考虑。但在现代互联网上,身份验证是必不可少的。
就像身份证可以确定一个人的身份一样,私钥可以确定服务器的身份。当客户端打开与源服务器的通道时(例如,当用户浏览网站时),拥有与网站SSL证书中的公钥相匹配的私钥就证明该服务器实际上是网站的合法主机。这可以阻止一些在没有认证的情况下可能发生的攻击,如
中间人攻击DNS劫持BGP劫持>>> 更多资讯详情请访问蚂蚁淘商城