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

HTTP 相关知识总结(协议特点、工作流程、请求方法等)

一、HTTP/HTTPS协议基础

1、HTTP/HTTPS协议介绍

  • 作用在应用层的超文本传输协议,允许将超文本标记语言(HTML)文档从WEB服务器传送到客户端的浏览器。

  • HTTP协议基于TCP/IP四层模型,明文传输,常运行在TCP的80端口。

  • HTTPS协议,加密传输,常运行在TCP的443端口。

2、核心特点

  • 请求-响应模型:客户端发送一个请求到服务器,服务器接收到请求后给客户端返回一个响应。

  • 无状态协议:服务器不会保留之前客户端请求的任何信息,每一次请求都是独立的。

  • 资源标识符:使用统一资源标识符(URI)来定位互联网上的资源。

  • 方法:多种请求方法,get、put等。

  • 状态码:200、404、503等。

  • 消息头:请求和响应都包含消息头,传递额外信息,如内容类型、编码、认证、缓存等。

  • 版本:HTTP/1.0、HTTP/1.1、HTTP/2、HTTP/3。

二、工作机制

  • 建立连接:客户端(浏览器)通过TCP/IP协议与服务器建立连接

  • 发送请求:客户端向服务器发送一个HTTP请求,请求有多个部分组成,包含:请求行(请求方法、请求URI、HTTP版本)、头部字段(Accept可接受的响应内容类型、User-Agent客户端浏览器信息、Referer客户端跳转来源)、正文。

  • 处理请求:服务器收到请求后,解析请求航和头部字段,查找对应的资源,并准备响应。

  • 发送响应:服务器将处理后的响应发送给客户端。响应由多个部分组成,包含:状态行(包含HTTP版本号、状态码、状态短语。例如:404 Not Found)、头部字段(Content-Type响应内容类型、Content-Length响应内容长度、Set-Cookie等)、正文(网页HTML代码)。

  • 关闭链接:请求和响应之后连接关闭,释放资源。HTTP/1.1引入了持久连接,允许在同一个TCP连接上发送和接受多个HTTP请求和响应,提高了网络传输的效率。

三、请求-响应流程

  • 浏览器中输入网址

  • DNS解析域名,缓存、递归查询,浏览器获得服务器ip地址

  • 浏览器与服务器建立TCP连接(三次握手,四次挥手)

  • 浏览器向服务器发起HTTP请求,发送请求参数到服务器

  • 服务器接收请求后处理,拼好报文,返回内容给浏览器

  • 客户端浏览器根据返回内容渲染页面(获取HTML、CSS、JavaScript等各种资源,渲染模块,构建DOM树,样式计算、布局,生成效果页面)

四、请求方法

根据 HTTP 标准,HTTP 请求可以使用多种请求方法:

  • HTTP1.0 定义了三种请求方法: GET,POST,HEAD

  • HTTP1.1 新增了六种请求方法:OPTIONS,PUT,PATCH,DELETE,TRACE,CONNECT

  • 在后续其它版本的 HTTP 协议中,还陆续增加了 MKCOL,COPY,MOVE,LOCK,UNLOCK 等方法

请求方法协议版本说明
GET0.9获取资源,可以理解为读取或者下载数据
HEAD1.0获取资源,和 GET 类似,不返回具体数据,只需要头信息
POST1.0向服务端提交数据,数据通常交由后端程序处理
PUT1.1向服务端提交数据,数据直接存储在服务器上
PATCH1.1对 PUT 方法的补充,用来对已知资源进行局部更新
DELETE1.1请求服务端删除指定资源
CONNECT1.1建立一个到服务端的隧道
OPTIONS1.1请求服务端返回对指定资源支持使用的请求方法
TRACE1.1追踪请求到达服务器中间经过的代理服务器

其中 GET,POST,HEAD,PUT 等为常用的请求方法

五、响应状态码

状态码是一个十进制的数字,以代码的形式表示服务端对请求的处理结果,客户端可以根据此值转换处理状态,比如继续发送请求,切换协议,重定向跳转等,在 RFC 文档中规定的状态码是三位数,所以可用值为000 到 999,但实际上,RFC 把状态码分成了五类,用数字的第一位表示分类,而且仅仅只明确定义了41个状态码。

状态码分类

分类取值范围说明
1**100 - 199提示信息,表示服务器收到请求,目前是协议处理的中间状态,需要客户端继续执行操作
2**200 - 299成功,报文已经收到并被正确处理
3**300 - 399重定向,资源位置发生变动,需要客户端重新发送请求
4**400 - 499客户端错误,请求报文有误,服务器无法处理
5**500 - 599服务器错误,服务器在处理请求时内部发生了错误

常用状态码及说明

状态码状态短语说明
200OK请求成功,一般用于 GET 与 POST 请求
301Moved Permanently永久重定向,客户端请求的资源被移动到新的 URI,返回信息中包含新的 URI,客户端自动请求
302Found临时重定向,其它与 301 相同
304Not Modified自上次访问以来,该资源没有发生更改,客户端直接使用本地缓存
400Bad Request客户端请求的语法错误,服务器无法理解,此状态码是一个通用的错误码,并不能准确描述错误
401Unauthorized请求要求用户的身份认证
403Forbidden服务器理解请求客户端的请求,但是拒绝执行此请求,原因有多样,通常是没有权限
404Not Found服务器上没有找到客户端需要访问的资源
500Internal Server Error服务器内部错误,无法完成请求
502Bad Gateway服务端网关错误
503Service Unavailable服务器当前很忙,暂时无法响应请求(网络服务正忙,请稍后重试)
504Gateway Time out服务端网关超时

六、HTTP 与 HTTPS 差异比对

对比项HTTPHTTPS
核心机制无加密机制,数据以 明文形式 传输基于 SSL/TLS 协议(如 TLS 1.2/1.3),实现 数据加密、身份验证、完整性校验
默认端口使用 80 端口使用 443 端口
安全性明文传输,易被中间件(如路由器、黑客工具)窃听、篡改、伪造(“中间人攻击”)- 加密传输:数据通过对称加密(如 AES)处理,仅收发方持有密钥可解密- 身份验证:依赖 CA 机构(如 Let's Encrypt)颁发的证书,验证服务器真实性,防止 “钓鱼网站”- 完整性校验:通过哈希算法(如 SHA-256)确保数据未被篡改
证书无需任何证书必须配置 CA 签发的有效证书(自签证书会被浏览器标记为 “不安全”)
性能无额外加密 / 解密步骤,性能损耗极低建立连接时需完成 SSL/TLS 握手(协商加密算法、交换密钥),存在轻微性能损耗(但 TLS 1.3 已大幅优化,耗时可忽略)
浏览器提示无特殊提示(部分浏览器会标记 “未加密”)地址栏显示 锁形图标,点击可查看证书信息;若证书无效 / 过期,会弹出 “不安全” 警告,阻止用户访问
适用场景仅适合传输 公开、无敏感信息 的内容(如静态博客、公开文档)必须用于传输 敏感信息 的场景(如登录页、支付页面、用户隐私数据、电商订单),目前已成为互联网主流协议(浏览器默认优先推荐 HTTPS)

http://www.dtcms.com/a/462100.html

相关文章:

  • 个人网站的设计微信营销手机
  • 免费动态素材网站网站建设公司平台
  • 基于米家协议的智能灯嵌入式程序开发教程
  • DataX Web | 增量同步
  • 【Linux】认识ELF格式文件
  • 做网站哪个最好烟台有没有做网站
  • 鸿蒙:使用@Reusable实现组件的复用,提升性能
  • Day08_刷题niuke20251009
  • 操作系统权限提升(Windows令牌窃取和白名单绕过UAC提权)
  • 商城网站模板dede温州论坛703
  • 多线程——定时器
  • 深圳网站建设哪家公司便宜国外网建站
  • 告别复杂配置:用Milvus、RustFS和Vibe Coding,60分钟DIY专属Chatbot
  • 网站做直播功能需要注册吗备案号查询平台
  • 【HDFS实战】社区版 HDFS 2.8.2滚动升级3.4.1实践
  • 临沂外贸网站建设网站的建设需要虚拟机吗
  • 【MySQL】从零开始了解数据库开发 --- 数据表的约束
  • 建什么网站 做 cpa国外设计案例网站
  • 有可以做推广的网站吗wordpress插件如何开发
  • nginx访问控制 用户认证 https
  • 部署 Ansible
  • 磁悬浮轴承的磁滞非线性:精密控制中的“幽灵”与驯服之道
  • 沈阳网站外包公司wordpress 获取文章的分类id
  • Git 中的某个分支打标签
  • 知识IP如何迭代打法?
  • 今日行情明日机会——20251009
  • 网站游戏网站怎么自己做聚名网域名转出
  • TDengine 数学函数 ABS() 用户手册
  • AI 赋能 IBMS 智能化集成系统:从 “被动监控” 到 “主动决策” 的智慧建筑升级革命
  • 鹤庆县公路建设网站工商营业执照咨询电话24小时