胆囊息肉

注册

 

发新话题 回复该主题

http和https的区别 [复制链接]

1#
治疗白癜风用的药 http://pf.39.net/bdfyy/qsnbdf/140805/4440899.html

HTTPS是带有加密的HTTP。两种协议的区别在于HTTPS使用TLS(SSL)来加密正常的HTTP请求和响应。因此,HTTPS比HTTP安全得多。使用HTTP的网站在其URL中有HTTP://,而使用HTTPS的网站有HTTPS://。

什么是HTTP?

HTTP代表超文本传输协议,它是一种协议——用于呈现信息的规定顺序和语法——用于通过网络传输数据。大多数通过Internet发送的信息,包括网站内容和API调用,都使用HTTP协议。

HTTP消息有两种主要类型:请求和响应。当用户与Web属性交互时,用户的浏览器会生成HTTP请求。例如,如果用户点击一个超链接,浏览器将发送一系列“HTTPGET”请求以获取该页面上显示的内容。这些HTTP请求发送到源服务器或代理缓存服务器,该服务器将生成HTTP响应。HTTP响应是对HTTP请求的响应。

HTTP请求和响应以明文形式通过Internet发送。问题是任何监视连接的人都可以读取这些明文。当用户通过网站或Web应用程序提交敏感数据时,这就是一个很大的问题。从本质上讲,有心人只需阅读请求或响应中的文本,就可以准确地知道某人正在请求、发送或接收什么信息,甚至可以操纵通信。

什么是HTTPS?

HTTPS代表安全超文本传输协议(也称为HTTPoverTLS或HTTPoverSSL)。HTTPS使用TLS(或SSL)来加密HTTP请求和响应,因此攻击者会看到一系列看似随机的字符,而不是明文。

TLS使用一种称为公钥加密的技术:有两个密钥,一个公钥和一个私钥。公钥通过服务器的SSL证书与客户端设备共享。证书由证书颁发机构(CA)加密签名,每个浏览器都有一个它隐式信任的CA列表。任何由受信任列表中的CA签名的证书都会在浏览器的地址栏中被赋予一个绿色挂锁锁,因为它被证明是“受信任的”并且属于该域。像LetsEncrypt这样的公司现在已经免费发布了SSL/TLS证书。

当客户端打开与服务器的连接时,每台机器都需要经过验证的身份。因此,这两个设备使用公钥和私钥就称为会话密钥的新密钥达成一致,以加密它们之间的进一步通信。然后,所有HTTP请求和响应都使用这些会话密钥加密,因此拦截通信的任何人只能看到随机字符串,而不是明文。

除了加密通信之外,HTTPS还用于对两个通信方进行身份验证。身份验证意味着验证一个人或机器是他们声称的那个人。在HTTP中,没有身份验证——它基于信任原则。但在现代互联网上,身份验证是必不可少的。

就像身份证确认一个人的身份一样,私钥确认服务器身份。当客户端打开与源服务器的通道时(例如当用户导航到网站时),拥有与网站SSL证书中的公钥匹配的私钥证明该服务器实际上是该网站的合法主机。这可以防止或帮助阻止在没有身份验证时可能发生的许多攻击,例如中间人攻击、DNS劫持和域欺骗。

分享 转发
TOP
发新话题 回复该主题