2019-04-06

HTTP

HTTP(超文本传输协议,HyperText Transfer Protocol),相当于一个桥梁,指导服务器与客户端建立连接与交互的标准

请求的基本格式:包括至少前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

4 要上传的数据

     敲黑板: 动词包括:GET POST PUT PATCH DELETE HEAD OPTIONS   

                    路径包括「查询参数」,但不包括「锚点」

                    第3部分永远是回车,用于分隔区别第2与第四部分的

   备注:符号 " > " 标识 请求request 

HTTP  三种常见的请求方式以及如何 用Chrome开发者工具查看 HTTP 请求和响应内容

第一种 请求方式: GET请求     curl -s -v -H "key: value" -- "https://www.baidu.com"

请求内容如下:

> GET / HTTP/1.1                    相当于第1部分

> Host: www.baidu.com           相当于第2部分

> User-Agent: curl/7.55.0        相当于第2部分

> Accept: */*                             相当于第2部分

> key: value                             相当于第2部分

>                                               相当于第3部分


GET请求

有请求必有响应,哪怕失败的响应,三种请求方式对应三种响应,此处以第3种POST上传为例

            响应的基本格式

                  1 协议/版本号 状态码 状态解释

                  2 Key1: value1

                  2 Key2: value2

                  2 Content-Length: 17931

                  2 Content-Type: text/html

                  3

                 4 要下载的内容

                备注:符号 " < " 标识 请求响应,Content-Type标识了第 4 部分的格式

            响应的内容:

                 < HTTP/1.1 302 Found                                            相当于第1部分

                 < Connection: Keep-Alive                                         相当于第2部分

                 < Content-Length: 17931                                          相当于第2部分

                 < Content-Type: text/html                                          相当于第2部分

                < Date: Sat, 06 Apr 2019 11:36:17 GMT                    相当于第2部分,多个value值,逗号隔开

                 < Etag: "54d97485-460b"                                            相当于第2部分

                 < Server: bfe/1.0.8.18                                                 相当于第2部分

                 <                                                                                   相当于第3部分

如何用谷歌查看HTTP请求及响应内容

1.打开谷歌开发者模式F12,选中Network选项,

2.点击请求(Request)或者响应(Response)模块的viewSource,即看 HTTP 请求内容和响应内容

3.查看 Response 或者 Preview,你会看到响应的第 4 部分


请求页面


点击viewSource后


第二种 请求方式: POST请求(未上传数据)     curl -X POST -s -v -H "key: value" -- "https://www.baidu.com"

                                  > POST / HTTP/1.1                    相当于第1部分

                                  > Host: www.baidu.com             相当于第2部分

                                   > User-Agent: curl/7.55.0          相当于第2部分

                                  > Accept: */*                               相当于第2部分

                                 > key: value                                相当于第2部分

                                 >                                                  相当于第3部分

备注: 与第一种请求方式的区别,就在于一个为POST / HTTP/1.1  另一个为  GET / HTTP/1.1 

POST请求未上传数据

第三种 请求方式: POST请求(含上传数据)     curl -X POST -d 1234567890  -s -v -H "key: value" -- "https://www.baidu.com"


> POST / HTTP/1.1

> Host: www.baidu.com

> User-Agent: curl/7.55.0

> Accept: */*

> key: value

> Content-Length: 10

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

>

备注: 与第二种请求方式的区别,就在于增加了两行Content-Length: 10          上传的大小

 Content-Type: application/x-www-form-urlencoded                            Content-Type标注了上传部分的格式



POST请求上传参数
DNS解析域名
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容