前言
HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。
HTTP协议工作于客户端到服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。
1 HTTP 请求
(一)http
http请求由三部分组成,分别是:请求行、消息报头、请求正文
一个完整的请求流程是
浏览器负责发起请求
服务器在 80 端口接收请求
服务器负责返回内容(响应)
(二)用Chrome开发者工具查看 HTTP 请求内容
1 我们以百度为例子,用浏览器打开百度地址
2 点击检查进入开发者模式
3 点击network查看请求详细信息
2 HTTP 响应
HTTP响应也是由三个部分组成,分别是:状态行、消息报头、响应正文
(一) 响应状态码常见状态
1xx:指示信息--表示请求已接收,继续处理
2xx:成功--表示请求已被成功接收、理解、接受
3xx:重定向--要完成请求必须进行更进一步的操作
4xx:客户端错误--请求有语法错误或请求无法实现
5xx:服务器端错误--服务器未能实现合法的请求
200 OK //客户端请求成功
400 Bad Request //客户端请求有语法错误,不能被服务器所理解
401 Unauthorized //请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用
403 Forbidden //服务器收到请求,但是拒绝提供服务
404 Not Found //请求资源不存在,eg:输入了错误的URL
500 Internal Server Error //服务器发生不可预期的错误
503 Server Unavailable //服务器当前不能处理客户端的请求,一段时间后可能恢复正常
(二)响应的Content-Type表示返回的数据格式
(三)用Chrome开发者工具查看 HTTP 返回内容
操作步骤上同
3. 如何使用 curl 命令
我们能用curl快速创建一个请求,curl命令在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,它支持文件的上传和下载,是一款很强大的http命令行工具
例如 curl -s -v -H "sssss" -- "https://www.baidu.com"