您的位置:首页 > 理论基础 > 计算机网络

《HTTP权威指南》读书笔记---HTTP报文

2012-12-09 21:56 204 查看


报文组成部分
1)起始行 start line 2)首部 header 3)主体 body
报文语法

请求报文

<method> <request-URL> <version>

<headers>

<entity-body>

响应报文

<version> <status><reason-phrase>

<headers>

<entity-body>

method(方法)

客户端希望服务器对资源执行的动作。主要方法:

GET 从服务器获取一份文档。这是最常用的方法,通常用于请求服务器发送某个资源。

HEAD 只从服务器获取文档的首部。因为在服务器响应中只返回首部,不返回实体部分,所以就允许客户端在未获取实际资源的情况下,对资源的首部进行检查。使用HEAD,可以

1)在不获取资源的情况下了解资源的情况(比如判断类型);

2)通过查看响应中的状态码,看看某个对象是否存在;

3)通过查看首部,测试资源是否被修改了。

POST 向服务器发送需要处理的数据。通常用它来支持HTML的表单。表单中填好的数据通常会被发送给服务器,然后由服务器发送到其他的地方(如网关程序中)。

PUT 将请求的主体部分存储在服务器上。与GET从服务器读取文档相反,PUT方法会向服务器写入文档。

TRACE
对可能经过代理服务器传送到服务器上去的报文进行追踪。客户端发起一个请求时,这个请求可能要穿过防火墙,代理,网关或其他一些应用程序。每个中间节点都会修改原始的HTTP请求。TRACE方法允许客户端在最终将请求发送给服务器时,看看他变成什么样子。TRACE发放主要用于诊断,用于验证请求是否如愿穿过了请求/响应链。可以用来查看代理和其他应用程序对用户请求所产生的效果。

缺点:因为他假定中间应用程序对各种不同类型请求的处理是相同的。很多HTTP应用程序会根据方法的不同做出不同的事情,TRACE并不提供区分这些方法的机制。通常,中间应用程序会自行决定对TRACE请求的处理方式。

OPTIONS 决定可以在服务器上执行哪些方法。请求Web服务器告知其支持的各种功能。

DELETE
从服务器上删除一份文档。但是,客户端应用程序无法保证删除操作一定会被执行。因为HTTP规范允许服务器在不通知科幻段的情况下撤销请求。

扩展方法

HTTP被设计成字段可扩展的,这样新的特性就不会使老的软件失效了。它主要指的是没在HTTP/1.1规范中定义的方法。

Web发布扩展方法

1)LOCK 允许用户锁定资源。

2)MKCOL 允许用户创建资源

3)COPY 便于在服务器上复制资源

4)MOVE 在服务器上移动资源

request-URL(请求URL)

命名了所请求资源,或者URL路径组件的完整URL。

version(版本)

报文所使用的HTTP版本,其格式是

HTTP/<major>.<minor>

status-code(状态码)

这三位数字描述请求过程中发生的情况。

方法是用来告诉服务器做什么事情,状态码则告诉客户端发生了什么事情,位于响应的起始行中。

100-199 信息提示

200-299 成功

300-399 重定向

400-499 客户端错误

500-599 服务器错误

首部

方法和首部配合工作,共同决定了客户端和服务器能做什么事情.

可以讲首部分为五个重要类型

通用首部

提供了与报文相关的最基本的信息。对于请求首部和响应首部都是通用的。

Connection

Date

MIME-Version

Trailer

Transfer-Encoding

Via

请求首部

用于说明谁或什么在发送请求,请求源来自何处,或者客户端的喜欢及能力。服务器可以根据请求首部给出的客户端信息,试着为客户端提供更好的响应。

请求的信息性首部

Client-Ip

From

Host



Accept首部

为客户端提供了一种将其喜欢和能力告知服务器的方式,包括他想要什么,可以使用什么,以及最重要的,他们不想要什么。

响应首部

为客户端提供一些额外信息,比如谁在发送响应,响应者的功能,甚至与响应相关的特殊指令。

实体首部

提供了有关实体及其内容的大量信息,从有关对象类型的信息,到能够对资源使用的各种有效的请求方法。

有些不全,我会在抽时间截取真实的报文,再来结合书来说说。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: