Http 和 Https 区别

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: Http 和 Https 区别

HTTP


Http用于客户端和服务器之间的通信,请求访问文本或图像资源的一端称为客户端,而提供资源的一方称为服务器端。在两台计算机之间使用 HTTP 协议通信时,在一条线路上必定有一端是客户端,另一端是服务器端


Http 协议规定,请求必须从客户端发出,最后服务器端响应该请求并返回。


HTTP 请求


1,请求方法,有 get ,post ,这两种最常见,还有 PUT ,DELETE 等


2,请求 Url:统一资源定位符。由 协议+主机+路径+参数构成


3,是协议名称和版本号,用来提示客户端使用的 HTTP 协议功能


1.0:发送请求,创建一次链接,获得一个资源,链接断开


1.1:发送请求,创建一次链接,获得多个资源,链接断开


4,报文头包含很多属性,格式为 属性名:属性值,服务端根据此获取客户端的嘻嘻


5,post 提交的数据


HTTP 响应


1,报文协议和版本


2,状态和描述码


3,响应头:由多个属性组成


4,响应体:即我们需要的数据


HTTP 的特点


1,支持(C/S)客户端/服务器模型


2,简单快速,发起请求时,只需要传入强求方法和路径,常用的有 GET,POST ,PUT 等。


3,灵活,http 运行传输任意类型的数据对象,正在传输的类型又 Content-Type 加以标记,常见的取值如下:

image.png

4,无连接


无连接的含义是限制每次连接只能处理一个请求,服务器处理完客户端的请求,然后响应,并受到应答之后就可以断开连接,这种方式可以节省传输时间。


5,无状态


HTTP 协议是无状态协议,无状态是指对事务处理没有记忆能力。坏处是,如果以后要用到就必须重新重新获取。好处是后续链接不需要提供之前提供的信息,响应比较快。为了解决 HTTP 的无状态特性,出现了 Cookie 和 Session 技术。


Cookie


HTTP 本身是没有状态的,所以就出现了Cookie,Cookie 是一小段的文本信息,key value 格式,客户端向服务器发起请求后,如果服务器需要记录该用户的状态,就会向客户端返回一个 Cookie,客户端会把这个 Cookie 保存起来,当再次请求时,需要带上Cookie提交给服务器,以此来辨认身份。


Session


这个不太了解,但是用过这个东西。咋获取验证码的时候,进行请求,服务器会返回一个 Session ,并且发送一个验证码。客户端将拿到的 Session 保存,并等待验证码。验证码到了后再次进行请求,在请求头中加入 Session进行请求。如果不加,就算验证码是对的,短信验证也没有任何作用。


HTTP 状态码


image.png


HTTP 工作流程


1,建立 TCP/IP 连接,客户端与服务器通过Socket三次握手进行连接


2,客户端向服务器发起 HTTP 请求,


3,客户端发送请求头信息,请求内容,最后一行留白,标志请求完毕


4,服务器做出响应并返回HTTP响应,标识对客户端请求响应,例如:HTTP/1.1 200 ok


5,释放 TCP 连接


6,客户端解析响应体中的数据


HTTP与 TCP/IP 的区别


TCP/IP 是传输层协议,主要解决数据在网络中如何传输。


HTTP 是应用层,主要解决如何包装数据,


0a2653c851af460fa595bd959398a8f1.png


表格来源于网络


HTTP 的三次握手和四次挥手


三次握手:客户端给服务器发送数据之前,有三次握手,成功后才可以传输数据。


1,客户端先发送 SYN 码,客户端请求和服务端建立连接。


2,服务端接收到 SYN 码,在发送 SYN + ACK 码,我们可以建立连接


3,客户端接收到 ACK 码后,验证 ACK 是否正确,如果正确则建立数据连接,双方数据发送通道都将开启。


四次挥手:


1,当客户端无数据传输了,发送 FIN 码告诉服务器我发送完毕了


2,服务器收到后,返回给客户端 ACK 码,表示可以关闭数据通道了


3,服务器发送完毕后,发送一个 FIN 给客户端,表示数据发送完毕


4,客户端接收完毕后,通过发送 ACK 码,告诉服务器,数据接收完毕,你可以关闭


HTTPS


超文本传输协议,默认端口 443,HTTPS 有 SSL/TLS+HTTP 协议构建的可进行加密传输,身份认证的网络协议,比 HTTP 安全很多。


在 Android 9.0 后,google 禁用了 http 请求,相比于 http,他不在透明,但是也怎加了额外的操作,所以效率上会慢一点


SSL 和 TLS


SSL :指的是安全套解层


TLS:指的是安全层传输协议


他们的作用是对通信进行加密,从而建立安全的通信线路


对称加密和非对称加密


对称加密


对称加密是指加密与解密使用同一个秘钥的加密算法。


非对称加密


非对称加密是两个秘钥,公钥和私钥,公钥相当于一把锁,而私钥相当于钥匙。这个锁可以任意的公布,如果有人要发消息,使用这把锁加密在发送。接收方用自己的私钥打开。问题:如何严责公钥是否是正真的公钥,可能在发送的过程中已经被篡改。


证书加密


服务器在使用证书加密直接需要去证书颁发机构申请该服务器的证书,在 HTTPS 请求的过程中服务器端将会把证书发送给客户端,客户端进行验证,以此来确定服务器的身份。


HTTPS 工作流程


1,客户端发起 HTTPS 请求,链接到服务器的 443 端口


2,服务器响应请求,并将证书发送到客户端


3,客户端使用机构认证的公钥认证证书,并重证书中取出 Service 端公钥


4,客户端 使用公钥加密一个随机秘钥,并传到 服务器


5,服务器使用 私钥解密出随机秘钥


6,通信双方使用随机秘钥为对称秘钥进行加密解密


HTTP 和 HTTPS 区别


1,http 是明文传输,https 是密稳传输


2,默认端口号不同,http 是 80,https 是 443


3,https 请求过程中需要 CA 证书验证身份以保证客户端请求到服务器返回的响应式来自服务器端,http 则不需要 CA 证书


4,https = http+ 加密+认证+完整性保护


5,https 的效率比较低,不如 http


PS 区别


1,http 是明文传输,https 是密稳传输


2,默认端口号不同,http 是 80,https 是 443


3,https 请求过程中需要 CA 证书验证身份以保证客户端请求到服务器返回的响应式来自服务器端,http 则不需要 CA 证书


4,https = http+ 加密+认证+完整性保护


5,https 的效率比较低,不如 http


相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
2月前
|
Ubuntu Linux Shell
(已解决)Linux环境—bash: wget: command not found; Docker pull报错Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled
(已成功解决)Linux环境报错—bash: wget: command not found;常见Linux发行版本,Linux中yum、rpm、apt-get、wget的区别;Docker pull报错Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled
464 68
(已解决)Linux环境—bash: wget: command not found; Docker pull报错Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled
|
5天前
|
缓存 安全 网络安全
代理协议解析:如何根据需求选择HTTP、HTTPS或SOCKS5?
本文详细介绍了HTTP、HTTPS和SOCKS5三种代理协议的特点、优缺点以及适用场景。通过对比和分析,可以根据具体需求选择最合适的代理协议。希望本文能帮助您更好地理解和应用代理协议,提高网络应用的安全性和性能。
32 17
|
15天前
|
网络协议 安全 网络安全
Introduction to the HTTP and HTTPS Protocol
HTTP protocol is the foundation of the Internet, and HTTPS is the secure version of HTTP. HTTP is an application layer protocol based on TCP/IP protocol. It does not involve packet (packet) transmission, mainly specifying the communication format between the client and the server, and the default po
62 25
|
1月前
|
安全 搜索推荐 网络安全
HTTPS与HTTP:区别及安全性对比
HTTP和HTTPS是现代网络通信中的两种重要协议。HTTP为明文传输,简单但不安全;HTTPS基于HTTP并通过SSL/TLS加密,确保数据安全性和完整性,防止劫持和篡改。HTTPS还提供身份验证,保护用户隐私并防止中间人攻击。尽管HTTPS有额外的性能开销和配置成本,但在涉及敏感信息的场景中,如在线支付和用户登录,其安全性优势至关重要。搜索引擎也更青睐HTTPS网站,有助于提升SEO排名。综上,HTTPS已成为大多数网站的必然选择,以保障用户数据安全和合规性。
64 1
|
3月前
单模和多模光纤电缆的区别 原文出自[易百教程] 转载请保留原文链接: https://www.yiibai.com/geek/330968
光纤电缆是基于光可以通过全内反射被限制在弯曲的玻璃棒内这一理念。
82 25
单模和多模光纤电缆的区别 原文出自[易百教程] 转载请保留原文链接: https://www.yiibai.com/geek/330968
|
2月前
|
应用服务中间件 Linux 网络安全
nginx安装部署ssl证书,同时支持http与https方式访问
为了使HTTP服务支持HTTPS访问,需生成并安装SSL证书,并确保Nginx支持SSL模块。首先,在`/usr/local/nginx`目录下生成RSA密钥、证书申请文件及自签名证书。接着,确认Nginx已安装SSL模块,若未安装则重新编译Nginx加入该模块。最后,编辑`nginx.conf`配置文件,启用并配置HTTPS服务器部分,指定证书路径和监听端口(如20000),保存后重启Nginx完成部署。
695 7
|
2月前
|
安全 算法 网络安全
HTTP和HTTPS的区别
本文介绍HTTP与HTTPS的区别、HTTPS链接建立过程及常见加密算法。HTTP为明文传输,易被窃听;HTTPS通过SSL/TLS协议加密,确保数据安全。HTTPS使用端口443,提供认证机制。文中还详细讲解了对称加密(如AES、DES)和非对称加密(如RSA、ECC)算法的特点及应用场景。
|
3月前
|
存储 XML 自然语言处理
信息检索和信息提取的区别 原文出自[易百教程] 转载请保留原文链接: https://www.yiibai.com/geek/331046
提取的意思是 “取出”,检索的意思是 “取回”。信息检索是返回与用户特定查询或兴趣领域相关的信息。而信息提取则更多地是从一组文档或信息中提取一般知识(或关系)。信息提取是获取数据并从中提取结构化信息的标准过程,以便将其用于各种目的,其中一个目的可能是搜索引擎。
122 24
|
3月前
|
Web App开发 Linux 应用服务中间件
【DrissionPage】Linux上如何将https改为http
通过上述步骤,可以在Linux上将DrissionPage从HTTPS改为HTTP。关键在于修改DrissionPage配置、代码中的HTTPS设置、URL以及Web服务器配置,确保所有部分都正确使用HTTP协议。通过合理配置和测试,能够确保系统在HTTP环境下稳定运行。
90 1
|
3月前
|
前端开发 JavaScript 数据库
https页面加载http资源的解决方法
https页面加载http资源的解决方法
93 5