关于HTTP的请求/响应,以及curl 命令的使用

2018-10-05  本文已影响0人  原谅我的自负

(1)HTTP 请求/和响应包括哪些部分

想要知道http请求以及响应包括哪些内容,先要打开git Bash运行一行命令

curl -s -v -H "kkkk: xxx" -- "https://www.baidu.com"

//这个命令具体是什么意思,后面来谈,目前你只需知道 通过 curl  向百度服务器发起一个请求

运行结果如图(部分)

蓝色部分是http请求部分,黄色部分是http响应部分

首先来看http请求部分,一共是6行

> GET / HTTP/1.1

// GET是请求方式,请求方式有多种 (GET/POST/ HEAD /DELETE/PUT/ PUT / TRACE / OPTIONS )

GET:从服务器获取一份文档   

HEAD:只从服务器获取文档的首部  

POST:向服务器发送需要处理的数据  

PUT:将请求的主体部分存储在服务器上  

TRACE:对可能经过代理服务器传送到服务器上去的报文进行跟踪  

OPTIONS:决定可以在服务器上执行哪些方法  

DELETE:从服务器上删除一份文档 

 /  斜杠表示跟目录,因为没有写请求URL

HTTP/1.1  表示http协议和版本号

> Host: www.baidu.com

//这个我也不懂,就当它是废话吧,

> User-Agent: curl/7.55.0

// 这句话表示你是使用什么样的软件发起的响应

> Accept: */*

//  这个表示我接受你返回给我的任何内容,你可以指定它 ,例如 text/html

> kkkk: xxx

这句话没有意义,是自己上面加上去的,当然你也可以选择不加

>

空的回车符,不知道干啥的

总的来说,请求部分的格式一共可以分成4个部分,最少可以分成3个部分,第4部分可以为空

1 动词 路径 协议/版本

//第一部分

2 Key1: value1

2 Key2: value2

2 Key3: value3

2 Content-Type: application/x-www-form-urlencoded

2 Host: www.baidu.com

2 User-Agent: curl/7.54.0

//第二部分

3

//第三部分  分永远都是一个回车(\n)  

4 要上传的数据

//第四部分


再看http响应部分,内容很多,写几个认识的,没写的就略过吧。

< HTTP/1.1 200 OK

// http协议,版本号,200表示响应状态码,关于响应状态码查询 ----- 维基百科 响应状态码查询 OK表示没问题(瞎猜的,错了不要打我)

< Accept-Ranges: bytes    // 不懂

< Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform  // 不懂

< Connection: Keep-Alive  // 不懂

< Content-Length: 2443   // 响应字节长度

< Content-Type: text/html   // 响应的数据格式

< Date: Thu, 04 Oct 2018 14:04:29 GMT   // 响应的时间

< Etag: "58860429-98b"   // 不懂

< Last-Modified: Mon, 23 Jan 2017 13:24:57 GMT  // 不懂

< Pragma: no-cache < Server: bfe/1.0.8.18   // 不懂

< Set-Cookie: BDORZ=27315; max-age=86400; domain=.baidu.com; path=/  // 不懂

<

响应的部分也分成4个部分

1 协议/版本号 状态码 状态解释    // 状态码很重要哦

2 Key1: value1 

2 Key2: value2 

2 Content-Length: 17931 2 Content-Type: text/html 

4 要下载的内容 


(2) 如何用Chrome开发者工具查看 HTTP 请求内容和响应内容

首先你需要下载Chrome浏览器,打开浏览器空白页面,鼠标右键 检查 点一下.得到下图状态,点击三个小点点会弹出红框的内容,这个可以设置你检查界面的布局。

1.在地址栏输入一个网址

2.点开第一个响应

得到下图

我输入的天猫首页  

红框里面可以看到,有两部分被折叠起来得东西,第一个是响应部分,第二个是请求部分,至于里面的内容是什么意思,我很多都不知道。。。。请原谅一个新手,好吗?


(3) 如何使用 curl 命令

自己看文档吧,比我讲的清楚多了

参考文档

上一篇 下一篇

猜你喜欢

热点阅读