http 和 https 的区别及原理解析

http 和 https 的区别及原理解析

  • [HTTP 与 HTTPS 是什么](#HTTP 与 HTTPS 是什么)
  • [HTTP 与 HTTPS 的区别](#HTTP 与 HTTPS 的区别)
  • [HTTP 和 HTTPS 的工作原理](#HTTP 和 HTTPS 的工作原理)

HTTP 与 HTTPS 是什么

HTTP: 超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个简单的请求-响应协议。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。
HTTPS: HTTPS (全称:Hypertext Transfer Protocol Secure),是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性。HTTPS 在HTTP 的基础下加入SSL,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL。 HTTPS 存在不同于 HTTP 的默认端口及一个加密/身份验证层(在 HTTP与 TCP 之间)。这个系统提供了身份验证与加密通讯方法。它被广泛用于万维网上安全敏感的通讯,例如交易支付等方面。

HTTP 与 HTTPS 的区别

  1. 默认端口不同
    • http 的端口是 80
    • https 的端口是 443
  2. 传输信息安全性不同
    • http 传输是明文的,安全性较低
    • https 是用ssl进行加密的,安全性较高
  3. 连接方式不同
    • http 的连接很简单,是无状态的
    • https协议:是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议
  4. 网站申请流程不同
    • https 是需要申请证书的
    • http 不需要申请证书

HTTP 和 HTTPS 的工作原理

  1. HTTP的工作原理:
    • Client与Server建立连接,单击某个超链接,HTTP的工作开始。
    • 连接建立后,Client发送一个请求给Server,请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是MIME信息包括请求修饰符,Client信息和可能的内容。
    • Server接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括Server信息、实体信息和可能的内容。
    • Client接收Server返回的信息通过浏览器显示在用户的显示屏上,然后Client和Server断开连接。
  2. HTTPS的工作原理:
    • client向server发送请求,连接到server的443端口,发送的信息主要是随机值1和客户端支持的加密算法。
    • server接收到信息之后给予client响应握手信息,包括随机值2和匹配好的协商加密算法,这个加密算法一定是client发送给server加密算法的子集.
    • 随即server给client发送第二个响应报文是数字证书。服务端必须要有一套数字证书,可以自己制作,也可以向组织申请。区别就是自己颁发的证书需要客户端验证通过,才可以继续访问,而使用受信任的公司申请的证书则不会弹出提示页面,这套证书其实就是一对公钥和私钥。 传送证书,这个证书其实就是公钥,只是包含了很多信息,如证书的颁发机构,过期时间、服务端的公钥,第三方证书认证机构(CA)的签名,服务端的域名信息等内容。
    • 客户端解析证书,这部分工作是由客户端的TLS来完成的,首先会验证公钥是否有效,比如颁发机构,过期时间等等,如果发现异常,则会弹出一个警告框,提示证书存在问题。如果证书没有问题,那么就生成一个随即值(预主秘钥)。
    • 客户端认证证书通过之后,接下来是通过随机值1、随机值2和预主秘钥组装会话秘钥。然后通过证书的公钥加密会话秘钥。
    • 传送加密信息,这部分传送的是用证书加密后的会话秘钥,目的就是让服务端使用秘钥解密得到随机值1、随机值2和预主秘钥
    • 服务端解密得到随机值1、随机值2和预主秘钥,然后组装会话秘钥,跟客户端会话秘钥相同。
    • 客户端通过会话秘钥加密一条消息发送给服务端,主要验证服务端是否正常接受客户端加密的消息。
    • 同样服务端也会通过会话秘钥加密一条消息回传给客户端,如果客户端能够正常接受的话表明SSL层连接建立完成了
相关推荐
捷米研发三部1 小时前
CC-Link转Modbus TCP协议转换网关实现三菱 PLC与传感器通讯在快递分拣中心的应用案例
网络·网络协议
嵌入式-小王1 小时前
每天掌握一个网络协议----ARP协议
网络·网络协议·arp
阿珊和她的猫3 小时前
HTTP 状态码 301 和 302 的区别与使用场景
网络·网络协议·http
让学习成为一种生活方式5 小时前
植物中验证蛋白相互作用的Pull-down和Co-IP技术--文献精读181
网络·网络协议·tcp/ip
普普通通的南瓜5 小时前
IP证书在关键信息基础设施安全防护中的实践与挑战
网络·数据库·网络协议·tcp/ip·安全·ssl
YFLICKERH9 小时前
【加密协议】SSL/TLS 协议工作流程
网络协议·ssl/tls
6***94159 小时前
报错The default superclass, “jakarta.servlet.http.HttpServlet“(已经配置好tomcat)
http·servlet·tomcat
记得记得就15113 小时前
【Nginx 实战系列(一)—— Web 核心概念、HTTP/HTTPS协议 与 Nginx 安装】
前端·nginx·http
观望过往14 小时前
WebSocket 技术全解析:原理、应用与实现
网络·websocket·网络协议
e***753915 小时前
在 Windows 上生成本地 SSL 证书并使用 HTTPS 访问本地 Nginx 服务器
windows·https·ssl