什么是HTTP
HTTP的英文全称是HyperText Transfer Protocol,中文全称是超文本传输协议,协议协议就是双方约定好的,以后沟通或做事情按照这个规则,如果一方不遵守,那么另一方就可以不按照其要求做出相应的反应,而在HTTP中的协议双方是浏览器和服务器。
HTTP的请求
-
请求方法(八种)
-
GET
向指定的资源发出“显示”请求,使用GET方法应该只用在读取数据。 复制代码
-
HEAD
与GET方法一样,都是向服务器发出指定资源的请求。只不过服务器将不传回资源的本文部分,只返回元信息或称元数据。 复制代码
-
POST
向指定资源提交数据,请求服务器进行处理,这个请求可能会创建新的资源或修改现有资源,或二者皆有 复制代码
-
PUT
向指定资源位置上传其最新内容。 复制代码
-
DELETE
请求服务器删除Request-URI所标识的资源。 复制代码
-
TRACE
回显服务器收到的请求,主要用于测试或诊断。 复制代码
-
OPTIONS
这个方法可使服务器传回该资源所支持的所有HTTP请求方法。 复制代码
-
CONNECT
用于SSL加密服务器的链接 复制代码
-
PATCH
用于将局部修改应用到资源。 复制代码
-
-
请求的信息(三部分)
- 请求行(动词 路径 协议/版本)
- 请求头(Key: value)
- 空行
- 请求正文
如下图
图中,第一行为请求行,其中get
为请求的方法,
/
为路径,
HTTP
为请求所使用的协议,
1.1
为协议的版本号。第二行到第空行的上一行为请求头,请求头包含许多有关的客户端环境和请求正文的有用信息,格式为key:value的方式。空行的下一行为请求正文,其包含客户提交的查询字符串信息。
- 服务器应答信息(三部分)
- 状态行
- 响应头
- 空行
- 响应正文
如下图
图中,第一行为状态行,由协议版本、状态代码以及状态描述组成。第二行到空行为响应头,也是由key:value的形式组成,其中Content-Type 标注了响应正文的格式; 以及Content-Type 标注所遵循的 MIME 规范。空行以下为响应的正文。- 状态码
- 1xx:指示信息--表示请求已接收,继续处理
- 2xx:成功--表示请求已被成功接收、理解、接受
- 3xx:重定向--要完成请求必须进行更进一步的操作
- 4xx:客户端错误--请求有语法错误或请求无法实现
- 5xx:服务器端错误--服务器未能实现合法的请求
- 常见的状态码说明
- 200 //客户端请求成功
- 400 //客户端请求有语法错误,不能被服务器所理解
- 401 //请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用
- 403 //服务器收到请求,但是拒绝提供服务
- 404 //请求资源不存在
- 500 //服务器发生不可预期的错误
- 503 //服务器当前不能处理客户端的请求,一段时间后可能恢复正常
使用curl
curl命令是一个利用URL规则在命令行下工作的文件传输工具。
其语法为:curl [option] [url]
; 基本用法:curl http://www.baidu.com
使用Chrome查看 HTTP 请求内容及HTTP 响应内容
- 启动Chrome浏览器,打开开发者工具,点击Network选项
- 点击Name栏中的你想查看的那一项请求,如图
- 选择上图中,headers中的Request Headers选项,如下图:
- 点击Request Headers旁的 view parsed按钮,所得到的即为HTTP的请求内容