超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。
一、HTTP请求
HTTP请求就是客户端发送至服务器的请求信息,由四部分构成。
1、动词 路径 协议/版本
例如:GET /HTTP/1.1
动词包括:GET、POST、HEAD、PUT、DELETE、TRACE OPTIONS。
2、请求头(Request Header)
标准格式:
Key1: value1
Key2: value2
Key3: value3
请求头包含有关的客户端环境和请求正文的信息。其中Content-Type标注了第4部分的格式。
3、一个回车(\n)
请求头和请求正文之间是一个空行,表示请求头已经结束,接下来的部分是请求正文。
4、请求正文(可以为空)
请求正文中可以包含客户提交的查询字符串信息,可以为空。
用Chrome开发者工具查看 HTTP 请求内容:
1、在Chrome中按快捷键F12打开开发者工具,选择Network,地址栏输入网址,查看 request,点击view source。
1.png 2.png
(如果请求有第四部分,可在 FormData 或 Payload 里面可以看到。)
二、HTTP响应
HTTP响应就是服务器对客户端请求信息的响应消息。
HTTP响应的构成:
1、协议/版本号 状态码 状态解释
如:HTTP/1.1 200 OK
其中状态码由3位数字组成,表示请求是否被理解或被满足。常见状态码:
1xx: 信息—表示请求已接收,继续处理。
2xx: 成功—表示请求已经被成功接收、理解、接受。
3xx: 重定向—要完成请求必须进行更进一步的操作。
4xx: 客户端错误—请求有语法错误或请求无法实现。
5xx: 服务器端错误—服务器未能实现合法的请求。
2、响应头(Response Header)
标准格式:
Key1: value1
Key2: value2
Content-Type: text/html;charset=utf-8
其中Content-Type标注了第4部分的格式。
3、一个回车(\n)
和请求类似,响应头和响应正文之间是一个空行。
4、响应正文(可以很长很长很长)
响应正文对应浏览器要下载的内容。
用Chrome开发者工具查看 HTTP 响应内容:
3.png 4.png(点击 Response 或者 Preview,可查看响应的第 4 部分。)
三、curl命令
curl命令是一个利用URL规则在命令行下工作的文件传输工具。
语法:
curl(选项)(参数)
具体选项参数及解释参考https://explainshell.com/explain/1/curl
网友评论