首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >计算机网络-http介绍

计算机网络-http介绍

作者头像
运维小路
发布2026-04-02 13:21:50
发布2026-04-02 13:21:50
1400
举报
文章被收录于专栏:运维小路运维小路

作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

目前几乎所有的应用都会跟网络打交道,所以我们了解和熟悉网络对我们后续的排错是很有必要的,我这里讲解的部分主要是我个人理解来进行讲解。

HTTP 核心概念

HTTP 是一种无状态、应用层的请求 - 响应协议,通常运行在 TCP/IP 之上(HTTP/3 基于 UDP)。其核心模型是客户端(如浏览器)发起请求,服务器返回响应。

无状态:每个请求独立,服务器不保留前后请求的上下文信息。为解决此问题,引入了 Cookie、Session 等机制。

可扩展性:通过 Headers(头部字段)的扩展,支持缓存、认证、内容协商等丰富功能。

HTTP 版本演进

版本

特点

关键问题

HTTP/0.9

仅支持 GET,响应仅为 HTML,无头部

过于简陋

HTTP/1.0

引入 POST/HEAD、状态码、Headers,支持多种格式

短连接(每次请求重建 TCP)

HTTP/1.1

持久连接(Keep-Alive)、管道化、Host 头、分块传输

队头阻塞(HOL blocking)

HTTP/2

二进制分帧、多路复用、服务器推送、头部压缩(HPACK)

仍存在 TCP 层面的队头阻塞

HTTP/3

基于 QUIC(UDP),彻底解决队头阻塞,0-RTT 快速连接

部署与兼容性逐步普及

HTTP 报文结构

1. 请求报文

代码语言:javascript
复制
<method> <path> <version>
<headers>

[body]
  • 方法:GET、POST、PUT、DELETE、PATCH、HEAD、OPTIONS、CONNECT、TRACE 等。
  • 路径:URL 路径部分,如 /index.html
  • 版本:如 HTTP/1.1
  • Headers:如 HostUser-AgentAcceptContent-Type
  • Body:POST/PUT 等携带的数据(如 JSON、表单)。

2. 响应报文

代码语言:javascript
复制
<version> <status-code> <reason-phrase>
<headers>

[body]

状态码(重要分类)

  • 1xx:信息性(如 100 Continue)
  • 2xx:成功(200 OK, 201 Created)
  • 3xx:重定向(301 Moved Permanently, 302 Found)
  • 4xx:客户端错误(400 Bad Request, 401 Unauthorized, 403 Forbidden, 404 Not Found)
  • 5xx:服务端错误(500 Internal Server Error, 502 Bad Gateway, 504 Gateway Timeout)

关键头部字段(Headers)

类别

示例

作用

通用头

Cache-Control, Connection, Date

请求与响应通用

请求头

Host, User-Agent, Accept, Cookie, Authorization

客户端声明能力或身份

响应头

Set-Cookie, Location, Server, WWW-Authenticate

服务器指示客户端行为

实体头

Content-Type, Content-Length, Content-Encoding

描述 body 信息

Content-Type 常见值application/jsonapplication/x-www-form-urlencodedmultipart/form-datatext/html

HTTP 特性详解

1. 连接管理

  • 短连接(HTTP/1.0 默认):每次请求后断开 TCP。
  • 持久连接(HTTP/1.1 默认):复用 TCP 连接,通过 Connection: keep-alive 或默认行为。
  • 管道化:允许客户端在等待上一个响应时发送多个请求,但服务器需按序响应,现实中应用不广。

2. 缓存机制

  • 强缓存Cache-Control: max-age=<seconds>Expires,直接从本地缓存取,不发请求。
  • 协商缓存Last-Modified / If-Modified-SinceETag / If-None-Match,询问服务器资源是否更新。

3. 内容协商

客户端通过 AcceptAccept-LanguageAccept-Encoding 等头声明偏好,服务器返回最匹配的版本。

4. 安全与认证

  • Basic Auth:明文传输用户名密码,需配合 HTTPS。
  • Bearer Token(如 JWT):通过 Authorization: Bearer <token>
  • Cookie / Session:通过 Set-Cookie 维护状态。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-03-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 运维小路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • HTTP 核心概念
  • HTTP 版本演进
  • HTTP 报文结构
    • 1. 请求报文
    • 2. 响应报文
  • 关键头部字段(Headers)
  • HTTP 特性详解
    • 1. 连接管理
    • 2. 缓存机制
    • 3. 内容协商
    • 4. 安全与认证
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档