HTTP协议详细解析

HTTP协议详解

HTTP协议(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准。

HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。

HTTP协议主要有三个特点:

1.无连接:每次连接只能处理一个请求。

2.媒体独立:只要客户端和服务器知道如何处理的数据内容,任何类型的数据都可以通过HTTP发送。

3.无状态:对事物的处理能力是没有记忆能力的。

HTTP协议的使用:

HTTP主要使用URI(统一资源标识符 -- Uniform Resource Identifiers)来传输数据和建立连接。

HTTP协议的消息结构:

客户端请求消息:请求行(request line)、请求头部(header)、空行和请求数

据四个部分组成,下图给出了请求报文的一般格式。

2012072810301161

服务器响应消息:状态行、消息报头、空行和响应正文。

httpmessage

HTTP请方法:

HTTP1.0定义了三种请求方法: GET, POSTHEAD方法。

HTTP1.1新增了五种请求方法:OPTIONS, PUT, DELETE, TRACECONNECT 方法。

方法详解:

GET:指定请求页面信息,返回实体主体。数据包含在请求头中。

HEAD:类似GET,但是返回的响应消息中没有内容,只有头部信息。

POST:向指定资源提交数据进行处理,数据包含在请求体中,可以导致新的资源建立或已有的资源修改。

PUT:从客户端想服务器传送的数据取代指定的文档内容。

DELETE:请求服务器删除指定的页面。

CONNECT:能够将连接改为管道方式的代理服务器。

OPTIONS:允许客户端查看服务器的性能。

TRACE:回显服务器收到的请求,主要用于测试或诊断。

HTTP协议响应头解析

Allow : 支持哪些方法,比如 PUT,GET,POST...

Content-Encoding:文档的编码方法,gzip

Content-Length:文档的内容长度。

Content-Type:文档类型。默认为text/plain ,一般需要显示指定为 text/html

 DATE:当前的GMT时间。

Expires:文档过期时间

Last-Modified:最后的修改时间

Location:客户应去哪里提取文档。

Refresh:标明浏览器多长时间刷新一次文档。

Server:服务器名字,一般不指定。

Set-Cookie:设置和页面相关的Cookie数据。

WWW-Authenticate:客户应该在Authorization头中提供什么类型的授权信息。

HTTP协议的Content-Type:

Content-Type:内容类型。用于定义网络文件的类型和网页的编码,决定浏览器将以什么形式、什么编码读取这个文件。

HTTP状态码:

HTTP状态码分为五种类型:

1** 信息,服务器收到请求,需要请求者继续执行操作
2** 成功,操作被成功接收并处理
3** 重定向,需要进一步的操作以完成请求
4** 客户端错误,请求包含语法错误或无法完成请求
5**

服务器错误,服务器在处理请求的过程中发生了错误

原文地址:https://www.cnblogs.com/DFX339/p/8710341.html