1.1 http 请求与响应
2025/4/25大约 3 分钟基础知识
HTTP 百度百科
超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在 TCP 之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以 ASCII 形式给出;
可以得出:客户端发起的请求叫 HTTP 请求,服务器返回的响应叫 HTTP 响应。
举个浅浅的例子
当你在浏览器地址栏输入www.baidu.com这个地址按下回车,这就属于一次请求的过程。
HTTP 请求与响应,可以类比 “点外卖” 的过程。
1. HTTP 就像点外卖
- 你(客户端):想吃饭的人(比如用浏览器或手机 App)。
- 餐厅的服务器(服务端):提供饭菜的饭店。
- 外卖小哥(网络):负责传递信息。
2. HTTP 请求(你下单)
当你在浏览器输入网址(比如 www.example.com),就像在外卖 App 点餐,浏览器会发送一个 HTTP 请求,这个请求包含:
- 请求方法(Method):告诉服务器你想干什么。
GET:查看菜单(获取网页内容)。POST:提交订单(比如登录时发送账号密码)。
- 请求地址(URL):饭店的地址 + 菜品名(比如
example.com/home)。 - 请求头(Headers):备注信息(告诉服务器你是手机还是电脑请求)。
- 请求体(Body):可选,比如提交表单时的数据(比如账号密码)。
📌 例子:
你告诉外卖 App:“我要一份汉堡(GET 请求),地址是example.com/burger。”
3. HTTP 响应(餐厅送餐)
服务器收到请求后,会返回一个 HTTP 响应,就像餐厅处理订单后送餐:
- 状态码:告诉你订单是否成功。
200 OK:餐送到了(请求成功)。404 Not Found:菜品不存在(网页找不到)。500 Server Error:饭店着火了(服务器出错)。
- 响应头(Headers):送餐单上的备注(比如饭菜类型、有效期)。
- 响应体(Body):实际内容(比如网页的 HTML 或图片、JSON数据)。
📌 例子:
餐厅回复:“汉堡做好了(状态码 200),这是你的汉堡(HTML 内容)。”
4. 完整流程
- 你在浏览器输入网址 → 发送 HTTP 请求。
- 服务器处理请求 → 返回 HTTP 响应。
- 浏览器收到响应 → 显示网页(或提示错误)。
5. 实际观察(用浏览器演示)
- 按 F12 打开开发者工具 → 选择 Network(网络)。
- 刷新页面,你会看到每个文件的请求和响应(像外卖订单记录)。
- 点击任意请求,查看它的 Headers(请求头/响应头) 和 Status Code(状态码)。
6. 常见问题
- Q:为什么有些网站是
https?
A:https是加密的外卖,防止别人偷看你的订单(比如密码)。 - Q:GET 和 POST 有什么区别?
A:GET 是“查看”,POST 是“提交”(比如 GET 看新闻,POST 发评论)。
总结
- 请求:你发送订单(要什么 + 怎么要)。
- 响应:服务器回复结果(成功/失败 + 内容)。
