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层连接建立完成了
相关推荐
Predestination王瀞潞26 分钟前
5.2.1 通信->DNS域名系统协议标准(IETF RFC 1035):DNS(Domain Name System)
网络·网络协议·tcp/ip
riyue6663 小时前
封装 WebSocket 工具类
网络·vue.js·websocket·网络协议·v
成空的梦想5 小时前
ZLibrary反爬机制实战分析的技术文章大纲
网络协议·https·ssl
2501_915909066 小时前
不用越狱就看不到 iOS App 内部文件?使用 Keymob 查看和导出应用数据目录
android·ios·小程序·https·uni-app·iphone·webview
不做菜鸟的网工7 小时前
H3C IPv6 over IPv4隧道实验
网络协议
23.7 小时前
【网络】TCP与HTTP:网络通信的核心机制解析
网络·tcp/ip·http
独自破碎E7 小时前
【面试真题拆解】5秒内限10次HTTP接口访问,结合数据结构和算法说说你的思路
数据结构·http·面试
袁小皮皮不皮7 小时前
【HCIA】第三章TCP/IP协议栈中其他主要协议
运维·服务器·网络·网络协议·tcp/ip
小庄梦蝶8 小时前
Mixed Content: The page at ‘https://域名/‘ was loaded over HTTPS
网络协议·http·https
SVIP111598 小时前
Vue3 WebSocket 封装通关指南:心跳 + 重连 + 全局状态管理,复制即用!
网络·websocket·网络协议