首页 > 生活经验 >

问 http 的含义 超文本传输协议详解

2026-11-07 18:56:26
最佳答案

答

http 全称是 HyperText Transfer Protocol,中文名称叫做超文本传输协议,它是互联网最核心的应用层通信协议,作用就是规范浏览器和网站服务器之间的数据交互规则,规定客户端怎么发起请求,服务器怎么返回响应,请求和响应的数据格式是什么样。我们平时在浏览器输入网址打开网页,底层就是依靠 http 完成通信,浏览器作为客户端发送请求报文,服务器收到之后按照 http 标准返回网页资源图片脚本等内容。http 设计之初就是为了传输超文本,也就是带链接图文的 html 文档,后续扩展支持传输各类资源,包括 json 接口数据文件音视频。它属于无状态协议,每一次请求相互独立,服务器默认不会记住上一次请求的用户信息,所以后续才需要 cookie session 来补充保存会话状态,这点也是 http 非常关键的特性,很多初学者学习网络基础最先接触的就是 http。

基础信息对照表

项目详细说明
英文全称HyperText Transfer Protocol
中文名称超文本传输协议
协议层级TCPIP 模型应用层协议
底层依赖默认基于 TCP 连接,端口 80
核心特点无状态 请求响应模式
主流版本http1.1 http2 http3
安全版本https,也就是加密版 http

http 核心工作模式

http 采用请求响应模型,整个通信流程是客户端主动发起请求,服务器被动应答,不会由服务器主动推送消息给客户端。

完整通信步骤

第一步 客户端和服务器建立 TCP 连接

第二步 客户端构造 http 请求报文,里面包含请求方法请求地址请求头可选请求体

第三步 服务器接收请求,处理业务逻辑

第四步 服务器返回 http 响应报文,包含状态码响应头响应体

第五步 通信完成之后可以断开 TCP 连接,http1.1 默认支持长连接,可以复用同一个 TCP 通道多次请求

常见请求方法

请求方法作用
GET获取资源,参数一般放在 url 后面,最常用于打开网页
POST提交数据,数据放在请求体,常用于表单提交接口传参
PUT更新或者上传资源
DELETE删除指定资源
HEAD只获取响应头,不返回响应体
OPTIONS探测服务器支持的请求方法,跨域预检会用到

http 状态码简介

服务器返回的状态码用来告诉客户端这次请求处理结果,也是 http 协议重要组成部分

2 开头代表成功,比如 200 正常请求成功

3 开头代表重定向,比如 301 永久重定向 302 临时重定向

4 开头代表客户端错误,比如 404 资源不存在 403 禁止访问

5 开头代表服务器内部错误,比如 500 服务器报错 502 网关错误

http 重要特性深度说明

无状态是 http 最标志性特点,意思是两次请求之间服务器不会自动保留用户上下文,第一次登录请求完成之后,第二次请求服务器默认不知道这个用户是谁。这个设计优点是协议简单服务器压力小,缺点是无法识别登录用户,所以开发里面使用 cookie 携带会话标识,弥补 http 无状态缺陷。

http 本身是明文传输,请求和响应的数据在网络传输过程没有加密,中间人可以窃听篡改内容,所以衍生出 https,在 http 基础上加入 TLS 加密,端口改成 443,现在互联网主流网站都优先使用 https。

http 各个版本差异

http1.0 早期版本,每次请求都要新建 TCP 连接,性能比较差

http1.1 长期主流版本,加入长连接管线化,优化传输效率,也是大家最常接触的版本

http2 二进制分帧,多路复用,同一个连接并行传输多个请求,解决 http1.1 队头阻塞问题

http3 底层不再依赖 TCP,改用 UDP 之上的 QUIC 协议,进一步降低延迟,弱网环境表现更好

容易混淆知识点

http 只是通信协议,不是软件,也不是编程语言,它只是一套双方必须遵守的通信规则,浏览器服务器接口程序都要按照这套规则收发报文。http 和 html 也不一样,html 是网页文档,http 是用来传输 html 文档的协议,很多新手会把二者混淆。

【常见问题】

问题 1 http 的含义里面无状态是什么意思

回答 1 http 的含义里面无状态,代表 http 协议本身不会保存请求会话信息,每一次请求独立,服务器默认不记录上一次请求的数据。

问题 2 http 和 https 是同一个东西吗

回答 2 http 和 https 不完全相同,http 是明文超文本传输协议,https 是增加 TLS 加密的安全版本,http 的含义本身不包含加密能力。

问题 3 http 默认端口是多少

回答 3 http 默认使用 80 端口,在学习 http 的含义的时候,端口是基础知识点,https 默认端口是 443。

问题 4 http 是传输 html 的协议吗

回答 4 http 最初设计目标是传输 html 超文本,但是 http 的含义已经扩展,可以传输 json 图片文件等各类网络资源,不局限于 html。

【免责申明】

本文内容基于 RFC 标准公开资料整理,仅用于 http 的含义科普学习,协议标准会持续迭代,不同版本实现细节存在差异,实际开发请参考官方 RFC 规范文档。