HTTP协议以及curl命令
二.HTTP的请求和HTTP响应
1.HTTP请求:
指的是从客户端发起请求,服务器响应,主要包括三部分,有一部分可以为空,所以也可以是四部分:
第一部分是请求方法URL协议/版本,通俗讲就是动词 路径 协议/版本,请求分为GET和POST,PUT PATCH DELETE HEAD OPTIONS目前我们主要掌握前两种,GET用来获取,而POST提供上传,在第一部分中,这两种请求的内容是不同的,下面举例,GET / HTTP1.1 或者 POST / HTTP1.1。 第二部分是主要是由一些键值对以及Content-Type和Host以及User-Agent组成,Content-Type标注了第四部分的格式,当然有时候s第四部分是空的。第三部分是一个回车,用来和下一部分进行区分。 第四部分就是要上传的数据。
下面介绍一些如何在Chrome中查看HTTP的请求内容,点击F12点击NetWork左边的name栏或显示很多接口,我们点击需要查看的,就会看到三栏,General,ResponseHeaders,RequestHeader,点击qrquest,右边有view source,只有点击了这个键,才能看到我们熟悉的请求格式,如果有请求的s第四部分,下方有FormData和Payload,点击即可看到第四部分。
2.HTTP响应 我们发起请求之后会得到一个响应,响应是对应于请求的,响应的格式也有四部分: 第一部分是协议/版本号 状态码 状态解释。 第二部分是键值对以及Content-length,content-type,这是标注第四部分格式的,且遵循MIME规范。 第三部分依然是一个空格。
第四部分可以很长很长,GET请求和POST请求对应的响应h可以一样,也可以不一样,第一部分的状态码是需要记住的,这是服务器对浏览器说的话,1开头的表示不常用,2开头的表示成功,3开头的表示不需要,4开头表示发起者错误,5开头表示服务器错误。
在Chrome中查看响应和查看请求步骤类似,区别在于我们点中响应的接口,查看的是ResponseHeaders,不要忘记点击view source,这样我们才能看到我们能认识的格式,第四部分在preview或者response中查看。
三.curl命令的使用 curl用来‘从server传输数据’或者‘传输数据到server’,支持多种协议(HTTP, HTTPS, FTP, FTPS, SCP, SFTP, TFTP, DICT, TELNET, LDAP or FILE)。 curl提供了大量有用的技巧像 proxy support, user authentication, FTP upload, HTTP post, SSL connections, cookies, file transfer resume and more。 curl由libcurl支持完成transfer-related(传输相关)的功能。
为了更好的了解HTTP请求与响应,我们可以用curl命令进行学习。
curl的格式是curl 请求和参数,在课上我们主要用到了
curl -s -v -H "xiedaimala: xxx" -- "https://www.baidu.com"
curl -X POST -s -v -H "xiedaimala: xxx" -- "https://www.baidu.com"
curl -X POST -d "1234567890" -s -v -H "xiedaimala: xxx" -- "https://www.baidu.com"
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: curl 发送http 请求
- 下一篇: php curl请求http和https