HTTP 协议图解 (2)

例子:

HTTP/1.0 200 OK Content-Type: text/plain Content-Length: 82 Expires: Thu, 05 Dec 1997 16:00:00 GMT Last-Modified: Wed, 5 August 1996 15:55:28 GMT Server: Apache 0.84 <html> <body>Hello HTTP</body> </html>

其中:

第1行为响应状态行,HTTP/1.0 为协议版本,200 是响应状态码,OK是状态码描述,中间用空格隔开。

第2行到第6行为响应头。

第7行为空行。

第8行到第10行为响应内容。

7,HTTP 请求方法

HTTP 协议支持9 种请求方法,最常用的是GET 和POST 方法。

HTTP 方法 含义
GET   获取指定页面信息  
HEAD   类似GET 请求,但响应中没有具体内容,只有响应Header  
POST   向指定URL 提交信息  
PUT   向服务器传送数据  
DELETE   请求服务器删除指定内容  
OPTIONS   查看服务器信息  
TRACE   回显服务器收到的请求,主要用于测试或诊断  
PATCH   是对PUT 方法的补充,用来对已知资源进行局部更新  
CONNECT   HTTP/1.1 协议中预留给能够将连接改为管道方式的代理服务器  
8,HTTP GET 与POST 方法

GET 方法与POST 方法是最常用的两个HTTP 方法,来看下其异同点:

请求内容存放位置不同:GET 方法一般没有请求体,其请求内容放在URL 参数中,POST 方法则将请求内容放在请求体中。

POST 方法 安全性更高:GET 请求一般是明文传输,不利于传输敏感数据。POST 请求内容在请求体中,更方便加密,提高安全性。

POST 方法传输的数据量更大:GET 请求内容在URL 中,因此有大小限制,而POST 请求 内容在请求体中,理论上没有大小限制。

9,HTTP 请求头字段

这里介绍一些常用的HTTP 请求头字段:

Host:客户端端请求的域名。

Connection:告诉服务端,处理完本请求后,是否关闭连接。

User-Agent:客户端使用的浏览器或APP 类型/版本。

Accept:客户端支持哪些类型的文档。

Accept-Encoding :客户端支持的编码类型。

Accept-Language :客户端支持的语言类型。

Referer :客户端从哪个网页过来的。

Cache-Control:指定缓存机制。

10,HTTP 响应头字段

这里介绍一些常用的HTTP 响应头字段:

Allow:表明服务器支持哪些请求方法,如GET,POST 等。

Content-Encoding:响应内容编码方法。

Content-Type:响应内容属于什么MIME 类型。

Content-Length:响应内容的长度。

Date:当前GMT 时间。

Expiress:响应内容过期时间,过期后将不再缓存内容。

Last-Modified:文档的最后改动时间。

Location:告诉客户端到哪里获取文档,一般用于重定向。

Refresh:浏览器在多少秒后刷新文档。

Server:服务器名字。

Set-Cookie:设置和页面关联的Cookie。

Date:表示消息发送时间。

11,HTTP 响应状态码

服务器在向客户端返回内容时,会带有一个HTTP Status Code(状态码),用于告诉客户端的返回状态。

HTTP 状态码分为5 种类型,由三个十进制数字组成。第一个数字(1-5)代表状态码的分类,后两位是其含义。

状态码类型 含义
1xx   表明服务器已经收到请求  
2xx   表明服务器已经成功接收并处理请求  
3xx   表明请求的资源已重定向到其它地方  
4xx   表明客户端的请求有错误  
5xx   表明服务端出现错误  

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyssgy.html