HTTPS和SSL的区别

83

HTTPS和SSL有什么区别?我看过相关资料,发现以下信息:

  • HTTPS:HTTPS是HTTP与SSL/TLS的结合体。这意味着HTTPS基本上是使用SSL/TLS保护数据传输的HTTP连接。

  • SSL:SSL是一种安全协议,它在HTTP之上提供安全性。这意味着SSL加密的数据将通过像HTTP之类的协议进行路由和通信。

我想知道它们之间有什么不同?还是说两者相同?


你可能会对这个类似问题感兴趣:http://security.stackexchange.com/q/5126/2435 - Bruno
3个回答

178
你找到的SSL解释是错误的。
SSL(安全套接字层)或TLS(传输层安全性)工作在传输层之上,在你的例子中是TCP。TLS可用于更多或更少的任何协议,HTTPS只是其中一个常见的实例。
HTTP是一个应用层协议
在常规的非加密HTTP中,协议栈可能如下所示: 使用HTTPS时,协议栈如下所示:
  • HTTP
  • TLS(SSL)
  • TCP
  • IP
  • Ethernet

谢谢Anders。那么,这意味着当HTTP被用作传输层协议时,HTTPS和SSL是相同的吗? - bayCoder
不是很准确,HTTP是一种应用协议。我已经更新了我的答案以澄清。 - Anders Lindahl
“HTTPS只是它的一个常见实例”这句话真的帮助我更加明确了这一点! - protoEvangelion
有关证书和HTTPS的弱点更深入的了解,请参阅以下链接中stackoverflow的答案:https://dev59.com/U3RA5IYBdhLWcg3wtwSe?rq=1 - intotecho
谢谢,伙计。你的回答非常有帮助。 - Bùi Nhật Duy

43

HTTPS运行在SSL之上(正如其名称所示,HTTP-over-SSL),而不是SSL运行在HTTP之上。首先建立SSL会话,然后将所有HTTP数据包装成安全的SSL数据包发送和接收。


我明白了。我没有正确地表达我的问题。谢谢。 - bayCoder

10

SSL (安全套接字层) 是一种标准的安全技术,用于创建服务器和客户端之间的加密链接。这个链接确保服务器和客户端之间传递的所有数据都是私有和安全的。SSL旨在支持协议,如FTP、HTTP、TELNET。

超文本传输安全协议(HTTPS) 或“HTTP安全”,是Hypertext Transfer Protocol(HTTP)与SSL/TLS的组合应用程序实现。 HTTPS用于提供加密通信和服务器的安全认证,以便没有中间人可以轻易地拦截数据。

由于HTTP中的所有内容都是明文(或编码),因此它与SSL/TLS一起使用进行加密。

找到这个链接来解释SSL、TLS、HTTPS: http://nexsniper.blogspot.com/2017/11/what-is-ssl-tls-and-https.html


谢谢提供链接,非常有帮助! - Anjali Shyamsundar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接