HTTP协议(学习笔记)

HTTP服务器与HTTP客户机之间的会话如下:

1 客户机与服务器建立联系

与服务器建立连接,就是与SOCKET建立连接,因此要指定机器名称、资源名称

和断口号,可以通过URL来提供这些信息。URL的格式为:

HTTP:///[端口号]/[路径][?<查询信息>]

资源的缺省值是INDEX或DEFAULT,断口号缺省为80.

2 客户向服务器提出请求

请求信息包括希望返回的文件名和客户机信息.客户机信息以请求头发送

给服务器,请求头包括HTTP方法和头字段.

HTTP方法常用的有GET、HEAD、POST,而PUT、DELETE、LINK、UNLINK方法

许多HTTP服务器都不使用。

头字段包括:

。DATE:请求发送的日期和时间

。PARGMA:用于向服务器传输与实现无关的信息。这个字段还用于告诉代理服

务器,要从实际服务器而不是从高速缓存取资源

。FORWARDED:可以用来追踪机器之间,而不是客户机和服务器的消息。这个字段

可以用来追踪在代理服务器之间的传递路由。

。MESSAGE_ID:用于唯一地标识消息

。ACCEPT: 通知服务器客户所能接受的数据类型和尺寸。(*/*表示可以接受

所有类型的数据。

。AOTHORIZATION:向服务器提供旁路安全保护和加密机制,若服务器

不需要这个字段,则不提供这个字段

。FROM:当客户应用程序希望想服务器提供有关其电子邮件地址时使用

。IF-MODEFIED-SINCE用于提供条件GET。如果所请求的文档自从所指定

的日期以来没有发生变化,则服务器应不发送该对象。如果所发送的日期格式不合

法,或晚于服务器的日期,服务器会忽略该字段

。BEFERRER:向服务器进行资源请求用到的对象

。MIME-VERTION:用于处理不同类型文件的MIME协议版本号

。USER-AGENT:有关发出请求的客户信息

3 服务器对请求作出应答

服务器收到一个请求,就会立刻解释请求中所用到的方法,并开始处理应答。

服务器的应答消息也包含头字段形式的报文信息。

。报文第一行是状态行,格式为 <状态代码><解释短语>

状态码是个三位数字码,分为四类:

。以2开头,表示请求被成功处理

。以3开头,表示请求被重定向

。以4开头,表示客户的请求有错

。以5开头,表示服务器不能满足请求

解释短语是对状态码的解释。

。报文还向客户返回几个头字段,如:

。STATUS CODE/REASON PHRASE

。DATE

。LAST-MODIFIED

。SERVER

。CONTENT _TYPE

。RETRY_AFTER:服务器太忙时返回这个字段

。WWW_AUTHENTICATE:当服务器的安全机制要求客户发送某中授权信息时使用该字段

。报文最后是实体信息,即客户请求得到的HTTP服务器上的资源内容。

4 关闭客户与服务器之间的连接

原文地址:https://www.cnblogs.com/bluespot/p/1082259.html