HTTP 入门:从请求到响应的完整链路
每天打开网页、调用接口,背后几乎都在走 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 响应。
- 点赞
- 收藏
- 关注作者
评论(0)