什么是http
超文本传输协议(HTTP)是用于传输诸如HTML的超媒体文档的应用层协议。它被设计用于Web浏览器和Web服务器之间的通信。
用户通过客户端,如浏览器打开一个连接以发出请求,服务器端收到请求并发回响应。
http请求
http请求包括以下几个部分。
- 方法(GET/POST/PUT/PATCH/DELETE) 路径(包括查询参数但不包括锚点) 协议/版本
- Host:url
User-Agent:curl/7.54.0
Content-Type:application/x-www-form-urlencoded
.... - 一个换行
- 上传的数据(并不总是有)
可通过chrome浏览器查看相关信息。点击F12,找到Network,此时请求一个网页,就能看到相应的请求,点击一个请求,找到Request Headers,点击view source即可看到相应的http请求。
http响应
- 协议/版本号 状态码 状态解释
- Accept-Ranges: bytes
Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform
Connection: Keep-Alive
Content-Length: 2381
Content-Type: text/html
... - 一个换行。
- 下载的内容。
依然可通过用chrome浏览器查看相关信息。方法同上,唯一不同的是要通过Response Headers查看相应信息。
需要注意的是,Content-Type决定了第四部分的内容类型。
关于状态码的一些信息。
- 2xx 表示成功响应。
- 3xx 表示重定向。
- 4xx 表示客户端错误。
- 5xx 表示服务器错误。
具体细节可查看 状态码
除了通过chrome查看,也可使用gitbash查看请求响应信息。在命令行输入curl -s -v -H "xxx:yyy" -- "http://www.baidu.com"
,即可查看返回的内容。
使用POST方法curl -X POST -s -v -H "xxx:yyy" -- "https://www.baidu.com"
使用POST方法并发送一些数据curl -X POST -d"123456xxxx" -s -v -H "xxx:yyy" -- "https://www.baidu.com"
网友评论