HTTP 入门:从请求到响应的完整链路

举报
yd_290385797 发表于 2026/11/02 09:33:03 2026/11/02
【摘要】 每天打开网页、调用接口,背后几乎都在走 HTTP。本文沿着一条请求链路,把它的关键概念串起来,适合刚接触 Web 开发的读者入门。 一、什么是 HTTPHTTP 是超文本传输协议,规定了客户端与服务器交换报文的规则。它采用请求-响应模型:客户端先发出请求,服务器再返回响应。它本身无状态,服务器默认不记住上一次请求;登录状态等信息,通常靠 Cookie、Token 在应用层补充。 二、URL ...

每天打开网页、调用接口,背后几乎都在走 HTTP。本文沿着一条请求链路,把它的关键概念串起来,适合刚接触 Web 开发的读者入门。

一、什么是 HTTP

HTTP 是超文本传输协议,规定了客户端与服务器交换报文的规则。它采用请求-响应模型:客户端先发出请求,服务器再返回响应。它本身无状态,服务器默认不记住上一次请求;登录状态等信息,通常靠 Cookie、Token 在应用层补充。

二、URL 与请求行

以 https://www.example.com/articles?page=2 为例:https 是协议,www.example.com 是主机,/articles 是路径,?page=2 是查询参数。请求报文第一行叫请求行,由请求方法、请求目标和协议版本组成,例如 GET /articles?page=2 HTTP/1.1。

三、请求方法与请求头

GET 用于获取资源,一般不带请求体;POST 用于提交数据,常用于新建资源;PUT 用于整体替换,PATCH 用于局部更新,DELETE 用于删除。请求头是附加信息:Host 说明目标主机,User-Agent 说明客户端类型,Accept 说明希望收到的数据格式,Authorization 携带身份凭证,Content-Type 说明请求体格式。

四、状态码分类

状态码用三位数字概括处理结果:2xx 表示成功,如 200;3xx 表示重定向,如 301 表示资源永久移动;4xx 表示客户端错误,如 404 表示资源不存在、400 表示请求参数有问题;5xx 表示服务器错误,如 500。先看首位数字,就能初步定位问题在哪一端。

五、请求体与响应体

请求体是客户端发给服务器的数据,常见于 POST 请求,如提交表单或 JSON;GET 一般没有请求体,参数放在 URL 里。响应体是服务器返回的数据,可能是 HTML、JSON、图片或文件,响应头 Content-Type 会说明其格式,如 text/html 或 application/json。

六、一次完整请求示例

GET /articles?page=2 HTTP/1.1
Host: www.example.com
Accept: text/html

HTTP/1.1 200 OK
Content-Type: text/html

<html>……</html>

链路是:浏览器解析 URL 并发出请求,服务器找到资源后返回 200 和 HTML,浏览器解析渲染页面。若路径写错,返回 404;若服务器内部出错,返回 500。

七、常见误区与练习建议

HTTP 本身不加密,敏感信息应走 HTTPS,不要把密码放在 URL 里;404 不等于服务器宕机,多是路径写错或资源已删除;提交数据优先用 POST 并放在请求体里,不要用 GET 传敏感数据。练习时可用浏览器开发者工具观察一次真实请求的请求行、请求头和状态码,再对比正确路径与错误路径的 200 与 404 响应。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。