当前位置: 首页 > news >正文

HTTP与HTTPS

一,HTTP的定义

1,什么是超文本

包含有超链接(Link)和各种多媒体元素标记(Markup)的文本。这些超文本文件彼此链接,形成网状(Web),因此又被称为网页(Web Page)。这些链接使用URL表示。最常见的超文本格式是超文本标记语言HTML。(可以理解为具有链接效益的普通文本

2,什么是URL

URL即统一资源定位符(Uniform Resource Locator),用来唯一地标识万维网中的某一个文档。URL由协议、主机和端口(默认为80)以及文件名三部分构成。(万维网独一无二的门牌号

3,什么是HTTP

HTTP(Hypertext Transfer Protocol,超文本传输协议)是互联网中最基础的应用层协议,用于实现客户端(如浏览器)与服务器之间的通信,是万维网(WWW)的核心协议。

4,HTTP版本

http无状态协议  不保任何数据,当前请求和上一次请求没有任何关联
如果需要保存状态数据,要么保存在浏览器本地,要么保存在服务器

http1.1(持久连接  http2.0(二进制帧  http3.0( QUIC 协议(基于 UDP)取代了 TCP 作为传输层协议

http/1.0 短链接

http/1.1 长链接,管道化,允许客户端在同一个连接上连续发送多个请求,而无需等待每个响应

http/2.0 二进制分帧,多路复用

http/3.0 udp传输,QUIC协议

概念描述主要版本核心问题
短连接一个请求/响应就关闭TCP连接HTTP/1.0 (默认)连接建立开销巨大
长连接多个请求/响应复用同一个TCP连接HTTP/1.1 (默认)HTTP层队头阻塞
多路复用在长连接上并行交错传输多个请求/响应HTTP/2TCP层队头阻塞
QUIC 连接基于UDP的新型“长连接”,内置多路复用和加密HTTP/3从根本上重新设计,解决所有问题

二,HTTP报文结构

1,请求报文

相当于数据包

accept 内容协商

accpect-language 支持的语言

connection 链接类型

cookie

dnt 浏览器发出的一种信号

host 必须头

user-agent 浏览器类型

2,响应报文

connection  链接类型

content-type 媒体类型

data 时间

server 版本号或名称

vary 版本或内容缓存

x-cache 响应缓存来自哪里 

三,HTTP原理

1,基本构成
  • 请求(Request):客户端向服务器发送的消息,包含请求方法、目标 URL、请求头、请求体等。
  • 响应(Response):服务器对请求的回复,包含状态码、响应头、响应体(如 HTML、JSON 等数据)
2,请求

请求方法  http方法
POST  新增         (附加一个命名资源,如WEB页面
DELETE  删除        (删除WEB页面
PUT   修改        (请求存储一个WEB页面
GET  查询        (请求一个WEB页面
HEAD  获取头部信息        
OPTIONS  查询当前url可以支持什么方法请求 /student  get,post

2,响应

http状态码
1xx  表示请求过程中的状态
2xx  表示成功 

               200  请求成功,得到响应

               201 请求成功,并且服务器创建新的资源((通常伴随 POST 或 PUT 请求)

               204 请求成功,不需要任何实体返回
3xx  代表重定向 

               301(请求的资源已被永久分配到新的 URI(统一资源标识符),后续所有请求都应使用新 URI

               302 临时重定向
304 资源未被修改。客户端可以使用缓存的版本。
4xx  代表客户端错误

                 403 (服务器拒绝请求(已验证身份,但无访问权限,如禁止访问的页面
404 (请求的资源不存在(最常见的错误,如 URL 拼写错误)
405 (请求方法不被允许(如用POST访问只支持GET的接口),响应头Allow会列出允许的方法
499 (客户端在服务器还没有返回最终响应之前,就主动关闭了连接。
5xx  代表服务端错误 

                  501 (服务器不支持请求的方法(如客户端用PATCH,但服务器未实现)
502 (服务器作为网关 / 代理时,收到上游服务器的无效响应(如反向代理后端服务故障)
503 (服务器暂时无法处理请求(如维护中),响应头Retry-After可提示恢复时间

四,HTTPS

1,什么是HTTPS

HTTPS (HyperText Transfer Protocol Secure) 是一种用于安全通信的网络协议。最通俗的理解是:HTTPS = HTTP + 加密 + 认证 + 完整性保护

它通过在标准的HTTP协议和TCP协议之间加入一个安全层(由 TLS 协议实现),来解决HTTP明文传输的所有安全问题。

2,与HTTP对比

特性HTTPHTTPS
协议应用层协议HTTP over TLS over TCP
默认端口80443
安全性明文传输,无认证,无完整性保护加密强认证完整性保护
SEO无优势搜索引擎(如Google)优先排名
性能无加密开销,稍快有TLS握手和加密开销,但通过优化(TLS 1.3、会话恢复)已几乎可忽略
必要性逐渐被淘汰现代网站的标配和最低安全要求
五,LTS
1,定义

在计算机软件领域,LTS 是 Long-Term Support 的缩写,中文意为 “长期支持”

它是一个软件发布和维护的生命周期模型,主要用于操作系统、编程语言、框架和大型软件项目。

2,具体实现
第一次握手

客户端首先会发一个Client Hello消息,消息里面有客户端使用的 TLS 版本号、支持的密码套件列表,以及生成的随机数(Client Random),这个随机数会被服务端保留,它是生成对称加密密钥的元素之一。

第二次握手

当服务端收到客户端的Client Hello消息后,会确认 TLS 版本号是否支持,然后从密码套件列表中选择一个密码套件,以及生成随机数(Server Random)。

然后,服务端为了证明自己的身份,会发送Server Certificate给客户端,这个消息里含有数字证书。

第三次握手

服务端收到后,用私钥解密,得到客户端发来的随机数 (pre-master)。

至此,客户端和服务端双方都共享了三个随机数,分别是 Client Random、Server Random、pre-master。

生成完会话密钥后,客户端发一个Change Cipher Spec,告诉服务端开始使用堆成加密方式发送消息。

然后,客户端再发一个Encrypted Handshake Message(Finishd)消息,把之前所有发送的数据做个摘要,再用会话密钥(master secret)加密一下,让服务器做个验证,验证加密通信是否可用和之前握手信息是否有被中途篡改过。

第四次握手

服务器也是同样的操作,发Change Cipher Spec和Encrypted Handshake Message消息,如果双方都验证加密和解密没问题,那么握手正式完成。

步骤TLS 握手Token 认证 (以OAuth 2.0授权码模式为例)相似目的
1. 初始问候客户端发送 ClientHello,列出自己的能力。客户端将用户重定向到认证服务器(Authorization Server),带上自己的ID和请求的权限范围(scope)。发起流程,声明自己的意图和能力。
2. 身份认证服务器出示其SSL证书,证明自己的身份。认证服务器要求用户登录(输入用户名密码),以此认证用户的身份。核心身份验证。TLS验证服务器,OAuth验证用户。这是最大的不同点:验证对象不同
3. 交换密钥/代码客户端生成 PreMaster Secret,用服务器的公钥加密后发送。用户授权后,认证服务器发回一个授权码(Authorization Code) 给客户端。交换一个一次性的、临时的秘密。这个秘密本身不是最终凭证,但用于获取最终凭证。且传输过程受到保护(TLS用非对称加密,OAuth要求用HTTPS并只能通过重定向URI传输)。
4. 换取最终凭证双方用三个随机数生成最终的会话密钥(Session Key)客户端用授权码 + 自己的客户端密钥(Client Secret) 向认证服务器换取访问令牌(Access Token)用临时秘密换取最终的、用于后续通信的短期凭证。TLS得到的是对称密钥,OAuth得到的是Token。
5. 安全通信后续所有通信都用会话密钥进行对称加密后续客户端访问资源服务器时,在请求头中带上 Access Token(如 Authorization: Bearer <token>)。使用轻量级凭证进行高效、安全的后续操作。TLS用密钥加密所有通信内容,OAuth用Token来授权访问特定资源

图解1-1


文章转载自:

http://rN3bGksS.ryfqj.cn
http://ptqdtCDz.ryfqj.cn
http://UYBpNlki.ryfqj.cn
http://rQAACtsF.ryfqj.cn
http://Vszwow6L.ryfqj.cn
http://yjgqZtKr.ryfqj.cn
http://pEJPZEbF.ryfqj.cn
http://7MYKhfYA.ryfqj.cn
http://QQaxDJGe.ryfqj.cn
http://FEb2lQ1A.ryfqj.cn
http://q7zRwCz3.ryfqj.cn
http://pSLkusJp.ryfqj.cn
http://OuWqy2N9.ryfqj.cn
http://qvlhlnt7.ryfqj.cn
http://YUyNW88k.ryfqj.cn
http://Wiv6sPBh.ryfqj.cn
http://6TWceosm.ryfqj.cn
http://Qci8KTu3.ryfqj.cn
http://0jhhCBR6.ryfqj.cn
http://Niz1EUv5.ryfqj.cn
http://Cw3yHrEw.ryfqj.cn
http://wuLhmgkY.ryfqj.cn
http://jnvz14LS.ryfqj.cn
http://AfpdqTWa.ryfqj.cn
http://Gwo90tJr.ryfqj.cn
http://y7CfmyWQ.ryfqj.cn
http://tNLz6XnR.ryfqj.cn
http://UFw68MkS.ryfqj.cn
http://qePNr5Xa.ryfqj.cn
http://WJbZxa4h.ryfqj.cn
http://www.dtcms.com/a/380341.html

相关文章:

  • devextreme-vue表格设置可复制粘贴
  • Go 语言 PDF 生成库综合比较与实践指南
  • 图技术重塑金融未来:悦数图数据库如何驱动行业创新与风控变革
  • 金融数据---ETF日线行情数据
  • Vue 整体框架全面解析
  • 鸿蒙 NEXT应用国际化:时区与夏令时处理
  • 海外代理IP平台哪家好?高纯净度稳定住宅代理IP平台推荐
  • 锂电池行业生产中 AI 应用场景与价值分析
  • MySQL 命令行导入 SQL 文件
  • 3DMAX自动材质开关插件AutoMaterial安装和使用方法
  • Ubuntu C编程 (make工具和Makefile的引用)
  • 9.12AI简报丨腾讯投资AI游戏平台,B站开源AniSora V3
  • 家庭健康智能终端:解锁智能家居时代的健康管理
  • 机器视觉检测如何使用360 度全景成像镜头进行AI 瑕疵检测
  • # Windows驱动程序开发入门:从原理到实践
  • 在Webpack中集成Vite的开发服务器时,可能会遇到哪些兼容性问题?如何解决?
  • DCA1000 AWR1843 环境安装
  • 零公网IP 跨设备协同OctoPrint+cpolar3D打印远程管理新方法
  • 【Spring】原理解析:Spring Boot 自动配置的核心机制与实战剖析
  • Linux挂在目录空间问题--随手
  • Linux:线程控制详解
  • 花漾TK功能重要更新:界面重大更新、新增店铺数字面板(Dashboard)等(20250820)
  • 【计算机网络 | 第14篇】应用层协议
  • 三坐标测量仪:高精度测量内径检测手段及其实际运用
  • MQTT Dashboard
  • Spark广播变量HttpBroadcast和TorrentBroadcast对比
  • lvgl修改输入设备驱动使其支持鼠标右键、双击、滑轮...
  • 什么是 SaaS 安全?
  • LeetCode力扣-hot100系列(5)
  • 【Vue2手录12-单文件组件SFC】