c 服务器响应get请求,http请求响应与curl命令

本文详细介绍了HTTP请求的组成部分,包括请求行、请求头、请求体以及常见的HTTP方法如GET、POST、PUT等。同时,解释了GET与POST的区别,如缓存、参数暴露等。此外,还阐述了HTTP响应报文的结构,如状态行、响应头和响应体,并通过实例展示了如何使用Chrome开发者工具查看HTTP请求和响应的内容。最后,提到了curl命令的用途及其常用选项,用于在命令行中发送HTTP请求。

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

http请求报文

d99d2bc44782

请求行:请求方法 请求的url http协议及版本。

请求头:一大堆的键值对。

空行指的是:当服务器在解析请求头的时候,如果遇到了空行,则表明,后面的内容是请求体。

请求体:数据部分(可以为空)。

http响应报文

d99d2bc44782

状态行:http协议及版本 状态码 状态描述。

响应头:一大堆的键值对。

空行:当服务器在解析响应头的时候,如果遇到了空行,则表明,后面的内容是响应体。

响应体:数据部分(可以为空)。

PS:Content-Type标注了请求体/响应体的数据格式

http方法

GET:获取资源

POST:传输资源

put:更新资源

PATCH:更新部分资源

DELETE:删除资源

HEAD:获得报文首部

GET与POST的几点区别

浏览器在回退时,get不会重新请求,但post会重新请求。

get请求会被浏览器主动缓存,而post不会。

get请求的参数,会保留在浏览器的历史记录里,而post不会。

get请求在url中传递的参数有大小限制,基本是2kb,不同的浏览器略有不同。

get参数是直接暴露在url上的,而post是放在请求体中的。

http状态码

1xx:提示信息-请求已接收,继续处理

2xx:成功-请求已被成功接收

3xx:重定向

4xx:客户端错误-请求有语法错误或无法实现

5xx:服务器错误

用Chrome开发者工具查看 HTTP 请求内容

以百度为例看get请求

打开 Network

d99d2bc44782

d99d2bc44782

点击view source

d99d2bc44782

登录百度,看post请求

勾上Preserve log,点击登录

d99d2bc44782

FormData 里可以看到请求体里的密码

d99d2bc44782

用Chrome开发者工具查看 HTTP 响应内容

依然以百度为例,查看response部分,点击view source

d99d2bc44782

curl命令的使用

1.命令功能

curl命令是一个利用URL规则在命令行下工作的文件传输工具。它支持文件的上传和下载

2.命令格式

curl [选项] [URL]

3.常见使用方法

curl url

查看网页源码

d99d2bc44782

curl -X

指定请求方式

curl -X post

curl -c

保存 Cookie

curl -c "保存cookie的文件名" http://www.example.com

curl -b

读取cookie

curl -b "cookie字符串或文件名" http://www.example.com

curl -d

使用-d发送带参数的请求,如果省略 -X,则默认为 POST 方式

curl -d "userName=abc" http://www.example.com/login

curl -H

自定义Header头信息

curl -H "Content-Type:text/html" http://www.example.com

curl -v

显示请求的信息 ,包括端口连接和 http 头。

curl -i

显示http头,连同网页代码。

curl -I

只显示http头。

提交表单信息

浏览器每次向服务器发送url时都会进行编码,然后服务器再进行解码。

所以用curl提交表单时,所传参数都必须进行编码

1.header不需要加urlencode,浏览器会自动编码

2.post和get所传参数没有编码的话需要加urlencode

$ curl -X POST --data-urlencode "data=哈哈abc" example.com/form

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值