Request 请求,由客户端发出,可以将request划分四部分
- 请求方式
- 请求链接url
- 请求头
- 请求bady
响应方法 request method ,常见的有两种方法 post,get
请求头 request headers,用来说明服务器要使用的附加信息,比较重要的信息有 Cookie、Referer、User-Agent 等,下面将一些 常用的头信息说明如下
- Accept,请求报头域,用于指定客户端可接受哪些类型的信息。
- Accept-Language,指定客户端可接受的语言类型。
- Accept-Encoding,指定客户端可接受的内容编码。
- Host,用于指定请求资源的主机 IP 和端口号,其内容为请求 URL 的原始服务器或网关的位置。从 HTTP 1.1 版本开始,Request 必须包含此内容。
- Cookie,也常用复数形式 Cookies,是网站为了辨别用户进行 Session 跟踪而储存在用户本地的数据。 Cookies 的主要功能就是维持当前访问会话
-
Referer ,此内容用来标识这个请求是从哪个页面发过来的,服务器可以拿到这一信息并做相应的处理,如 做来源统计、做防盗链处理等。
-
User-Agent,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、浏览器及版本等信息。在做爬虫时加上此信息可以伪装为浏览器,如果不加很可能会被识别出为爬虫。
-
Content-Type,即 Internet Media Type,互联网媒体类型,也叫做 MIME 类型,在 HTTP 协议消息头中,使用它来表示具体请求中的媒体类型信息。例如 application/x-www-form-urlencoded 表示表单数据, text/html 代表 HTML 格式, image/gif 代表 GIF 图片, application/json 代表 Json 类型,
Request Body
即请求体,一般用于post请求,主要定义向服务端提交的数据类型,而对于GET请求Request Body则为空
比如在登录之前我们填写了用户名和密码信息,提交时就这些内容就会以
Form Data
的形式提交给服务器,此时注
意
Request Headers
中指定了
Content-Type
为
application/x-www-form-urlencoded
,只有设
置
Content-Type
为
application/x-www-form-urlencoded
才会以
Form Data
形式提交,另外我们也可以
将
Content-Type
设置为
application/json
来提交
Json
数据,或者设置为
multipart/form-data
来上传文件。
常用 Content-Type 和 POST 提交数据方式的关系:
Content-Tyre | 提交数据方式 |
application/x-www-form-urlencoded
|
Form 表单提交
|
multipart/form-data
|
表单文件上传提交
|
application/json
|
序列化 Json 数据提交
|
text/xml
|
XML 数据提交
|
Response
Response,即响应,由服务端返回给客户端。Response 可以划分为三部分:
•
Response Status Code
•
Response Headers
•
Response Body
Response Status Code
响应状态码,此状态码表示了服务器的响应状态,如
200
则代表服务器正常响应,
404
则代表页面未找到,
500
则
代表服务器内部发生错误。常用响应状态码如下
状态码 | 说明 | 详情 |
200 | 成功 | 服务器已成功处理请求 |
201 | 已创建 | 请求成功并服务器创建了新的资源 |
301 | 永久移动 | 请求的网页已永久移动到新的位置,即永久重定向 |
302 | 临时移动 | 请求的网页暂时跳转到其他页面,即暂时重定向 |
400 | 错误请求 | 服务器无法解析请求 |
401 | 未授权 | 请求没进行身份验证或验证未通过 |
403 | 禁止访问 | 服务器拒绝此请求 |
404 | 未找到 | 服务器找不到请求的网页 |
500 | 服务器内部错误 | 服务器遇到错误,无法完成请求 |
501 | 未实现 | 服务器不具备完成请求的功能 |
502 | 错误网关 | 服务器作为网关或代理,从上游服务受到无效响应 |
Response Headers
响应头,其中包含了服务器对请求的应答信息,如 Content-Type、Server、Set-Cookie 等,下面将一些常用的
头信息说明如下:
•
Date
,标识 Response 产生的时间。
•
Last-Modified
,指定资源的最后修改时间。
•
Content-Encoding
,指定 Response 内容的编码。
•
Server
,包含了服务器的信息,名称,版本号等。
•
Content-Type
,文档类型,指定了返回的数据类型是什么,如 text/html 则代表返回 HTML 文档,
application/x-javascript 则代表返回 JavaScript 文件,image/jpeg 则代表返回了图片。
•
Set-Cookie
,设置 Cookie,Response Headers 中的 Set-Cookie 即告诉浏览器需要将此内容放在
Cookies 中,下次请求携带 Cookies 内容。
•
Expires
,指定 Response 的过期时间,使用它可以控制代理服务器或浏览器将内容更新到缓存中,如果再
次访问时,直接从缓存中加载,降低服务器负载,缩短加载时间
Response Body
即响应体,响应的正文数据都是在响应体中,如请求一个网页,它的响应体就是网页的 HTML 代码,请求一张图
片,它的响应体就是图片的二进制数据。一般在接口的响应内容大多都是
Json
数据内容.