前言:不管是前端开发、后端开发还是测试工程师的面试题,都可能问到HTTP和HTTPS。因此弄清楚这两个是十分重要的。

什么是HTTP?

超文本传输协议,是一个基于请求与响应,无状态的,应用层的协议,常基于TCP/IP协议传输数据,互联网上应用层最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP的初衷是为了提供一种发布和接受HTML页面的方法。

什么是HTTPS?

基于HTTP协议,通过SSL或TLS提供加密处理数据,验证对方身份以及数据完整性保护。

  1. 内容加密:采用混合加密技术,中间者无法直接查看明文内容。
  2. 验证身份:通过证书认证客户端访问的是自己的服务器。
  3. 保护数据完整性:防止传输的内容被中间人冒充或者篡改。
混合加密:结合对称加密和非对称加密技术。客户端使用对称加密生成秘钥对传输数据进行加密,然后使用非对称加密的公钥再对秘钥进行加密,所以网络上传输的数据是被秘钥加密的密文和用公钥加密后的秘钥,因此即使被黑客截取,由于没有私钥,无法获取到加密明文的秘钥,便无法获取到明文数据。

HTTPS是如何工作的?

基础知识:

非对称加密的特点:

  • 任何经过A的公钥进行过加密的信息,只有A的私钥才能解密。
  • 任何有公钥的人可以确认对方发送的信息是被私钥加密过的。

image-20210108232612292

HTTP和HTTPS的区别:

  • https协议需要到CA申请证书,一般免费的证书较少,因而需要一定的费用。
  • http是超文本传输协议,信息是明文传输,https则是具有安全性的SSL加密传输协议。
  • http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443.
  • http的连接很简单,是无状态的,https协议是有SSL + HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
内容来源于网络如有侵权请私信删除

文章来源: 博客园

原文链接: https://www.cnblogs.com/caituotuo/p/14253800.html

你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!