HTTP的请求与响应(一)

本文详细介绍了HTTP协议中请求与响应的基本概念,包括GET与POST请求的区别、如何使用curl发送不同类型的请求,以及服务器响应的状态码含义等。通过本文,读者可以了解HTTP交互的核心流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

HTTP的请求与响应

服务器与浏览器的交互

服务器与浏览器的交互过程

一、HTTP请求

1.HTTP请求组成

这里写图片描述
其中:1.请求方法有GET(获取) POST(新增或者上传) PUT(整体更新) PATCH(局部更新) DELETE(删除) HEAD OPTIONS

2.请求的格式

1.POST

1 动词 路径 协议/版本
2 key1:value
2 key2: value
2 key3: value
2 Content-Type: application/x-www-form-urlencoded
2 Host: www.baidu.com
2 User-Agent: curl/7.54.0
3
4 要上传的数据

例子:

POST  HTTP/1.1
Host: www.demo.com
Cache-Control: no-cache
Postman-Token: 81d7b315-d4be-8ee8-1237-04f3976de032
Content-Type: application/x-www-form-urlencoded

key=value&testKey=testValueget

2.get

1 GET 路径 协议/版本
2 key1:value
2 key2: value
2 key3: value
2 Content-Type: application/x-www-form-urlencoded
2 Host: www.baidu.com
2 User-Agent: curl/7.54.0

例子:

GET /path HTTP/1.1
Host: localhost:8888
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.23 Safari/537.36
Accept: */*


  • 这里需要注意的是:

1.请求最多包含四部分、最少三部分
2.第三部分永远都是一个回车(\n)
3.动词有 GET(获取) POST(新增或者上传) PUT(整体更新) PATCH(局部更新) DELETE(删除) HEAD OPTIONS
4.这里的路径包括查询参数,但不包括锚点
5.如果你没有写路径、则默认为/
6.第2部分中的Content-Type标注了第四部分的格式(Content-Type: application(应用程序)/x-www(万维网)-form(表单)-urlencoded(将中文压缩成一种形式)


get请求不安全,会将请求的内容暴露在URL中,且有长度限制。但是速度快。
post请求安全,上传的数据大,单数速度较慢。

3.用curl发送请求

1.curl -s -v -H “wangliuyong” – “https://www.baidu.com” (get请求 获取内容)
2.curl -X POST -s -v -H “wangliuyong” – “https://www.baidu.com” (POST请求 上传内容)
3.curl -X POST -d “12345678” -s -v -H “wangliuyong” – “https://www.baidu.com” (POST + 数据 请求)

4.用 Chrome 发请求

1.打开 Network
2.地址栏输入网址
3.在 Network 点击,查看 request,点击「view source」
4.点击「view source」

二、HTTP响应

在浏览器发出请求之后,服务器会给出对应的响应

1.响应的内容及格式

1 协议/版本号 状态码 状态解释
2 key1:value
2 key2:value
2 Content-Length: 17931
2 Content-Type: text/html
3
4 要下载的内容


  • 其中关于状态码:

状态码:服务器对浏览器说的话(参考状态码: http://www.runoob.com/http/http-status-codes.html
1xx 不常用(信息,服务器收到请求,需要请求者继续执行操作)
2xx 表示成功(成功,操作被成功接收并处理)
3xx 表示滚吧(重定向,需要进一步的操作以完成请求)
4xx 表示出错(客户端错误,请求包含语法错误或无法完成请求)
5xx 表示服务器内部出错(服务器错误,服务器在处理请求的过程中发生了错误)
2.用 Chrome 查看响应

1.打开 Network
2.输入网址
3.选中第一个响应
4.查看 Response Headers,点击「view source」

总结

1.get请求时上传数据,服务器会拒绝接受
2.https 传输过程中数据加密,http传输过程中数据不加密
3.在浏览器发出请求之后都会得到一个响应,除非断网或者服务器宕机

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值