HTTP入门

2018-04-05  本文已影响15人  Miracletjf

HTTP是一个客户端终端(用户)和服务器端(网站)请求和应答的标准。通过使用网页浏览器、网络爬虫或者其它的工具,客户端发起一个HTTP请求到服务器上指定端口(默认端口为80)。我们称这个客户端为用户代理程序(user agent)。应答的服务器上存储着一些资源,比如HTML文件和图像。我们称这个应答服务器为源服务器(origin server)

通常,由HTTP客户端发起一个请求,创建一个到服务器指定端口(默认是80端口)的TCP连接。HTTP服务器则在那个端口监听客户端的请求。一旦收到请求,服务器会向客户端返回一个状态,比如"HTTP/1.1 200 OK",以及返回的内容,如请求的文件、错误消息、或者其它信息。

HTTP请求

http请求

上图就是一个简单的HTTP请求的内容

HTTP请求的格式

1 请求的动词 路径 协议/版本
2 key1: value1
2 key2: value2
2 key3: value3
2 ...
2 Content-Type: value
2 Host: www.baidu.com
2 User-Agent: curl/7.57.0
3 (回车)
4 要上传的数据

开头的1234表示请求的第几部分,最少三部分
动词有GET(获取) POST(上传) PUT(整体更新) PATH(局部更新) DELETE(删除) HEAD(获取资源元数据) OPTIONS (获取信息)
路径包括查询参数,不包括锚点,如果没有写路径,默认的路径为 /
Content-Type 制定了第四部分的格式
User-Agent 表示发起请求的方式
HOST 代表域名
更多的请求参数可以查看weiki百科

HTTP响应

HTTP响应

HTTP响应的格式

1 协议/版本号 状态码 状态解释
2 key1: value1
2 key2: value2
2 Content-Length: 2443
2 Content-Type: text/html
2 ...
3 (回车)
4 要下载的内容

关于响应以下的几点需要解释一下
状态码代表与服务器之间的状态,比较常见的状态码有:

使用chrome查看请求与响应

打开 chrome ,打开开发者工具,找到netWork,如下图

network对应位置

在地址栏输入,你想访问的地址,在回车之前先清屏,方便查看.
然后找到你请求的网址,点击打开,查看preview下的数据.里面有response和request信息


点击view source

点击view resource,就可以查看response和request了.

使用curl命令发起请求

curl 是一种发送请求的命令行工具
curl -s -v http://www.baidu.com 默认以GET的方式发起一次http请求,-s代表不显示进度条,-v表示显示一个完整的通信过程,最后边接的就是访问的url
curl -X POST -d "requestData" -s -v http://www.baidu.com发起一次POST请求,-X后接请求类型,-d后接一个请求数据.

上一篇 下一篇

猜你喜欢

热点阅读