HTTP消息格式

HTTP/1.0 请求消息的格式为:
 请求消息 = 请求行(通用信息|请求头|实体头) CRLF[实体内容]
 请求行 = 方法 请求URI HTTP版本号 CRLF
 方法 = GET|HEAD|POST|扩展方法
 URL = 协议名称+宿主名+目录与文件名
 请求行中的方法描述指定资源中应该执行的动作,常用的方法有GET、HEAD和POST。不同的请求对象对应GET的结果是不同的,对应关系如下:
 对象      GET的结果
 文件      文件的内容
 程序      该程序的执行结果
 数据库查询   查询结果
 GET    — 浏览器要求从服务器处获得信息。
 HEAD — 要求服务器查找某对象的头信息,而不是对象本身。
 POST — 从客户机向服务器传送数据,在要求服务器和CGI做进一步处理时会用到POST方法。POST主要用于发送HTML文本中FORM的内容,让CGI程序处理。
 PUT — 浏览器要求将消息中所包含的消息实体写入服务器。
 一个请求的例子为:
 GET http://www.huawei.com.cn/chinese/index.html HTTP/1.0
 头信息又称为元信息,即信息的信息,利用元信息可以实现有条件的请求或应答 。
 请求头——告诉服务器怎样解释本次请求,主要包括用户可以接受的数据类型、压缩方法和语言等。
 实体头——实体信息类型、长度、压缩方法、最后一次修改时间、数据有效期等。
 实体——请求或应答对象本身。

HTTP/1.0的响应消息格式如下:
 响应消息=状态行(通用信息头|响应头|实体头) CRLF 〔实体内容〕
 状 态 行=HTTP版本号 状态码 原因叙述
 状态码表示响应类型
 1××  保留,已接收到请求消息,正在处理中。
 2××  表示请求成功地接收,对接收到的请求消息已成功地作出响应。
 3××  为完成请求客户需进一步细化请求,表示必须采取进一步的行动才能完成请求。例如,请求消息中的URI对应多个资源,或请求消息要访问的资源的URI已改变,或必须通过代理服务器才能访问等。
 4××  客户浏览器错误,请求消息语法错误或请求无法执行。
 5××  服务器错误 ,服务器无法执行一个有效的请求。
 响应消息的状态行之后是与请求消息类似的、由各种字段名和字段值组成的消息头,响应头的信息包括:服务程序名,通知客户请求的URL需要认证,请求的资源何时能使用。
 对于响应消息,常用的字段有:
 通用消息头:Date
 响应消息头:Server、www-Authenticate、Location
 实体消息头:Allow、Content-Encoding、Content-Length、Content-Type、Expires、Last-Modified
 响应消息最后的实体(Message-Body)部分是服务器按照浏览器的请求传送回来的数据,最常见的情况就是一个网页文件的内容。

HTTP Cookie的设置应在HTTP回应的头(Header)中。它的格式如下,
 Set-Cookie: name = VALUE; expires = DATE;
 path  = PATH;    domain = DOMAIN_NAME;   secure  =
 其中NAME=VALUE可以设置为一系列的数据,expires 设置此Cookie的超期日期,日期的格式是 Wdy,DD-Mon-YYYY HH:MM:SS GMT. 当不设置超期日期时,Cookie只适用于本进程。path是所设置的URL,domain是设置的域名。对所设域名的限制是至少设为两级域名,如“hello.com”,设置顶级域名如".com",是无效的。secure 是指Cookie传输的安全性,如果设置了,则只能在访问HTTPS时传输。
 由客户软件到服务器的Cookie的发送格式为
 Cookie: NAME1=OPAQUE_STRING1; NAME2=OPAQUE_STRING2 ...

HTTP/1.0的响应消息格式如下:
 响应消息=状态行(通用信息头|响应头|实体头) CRLF 〔实体内容〕
 状 态 行=HTTP版本号 状态码 原因叙述
 状态码表示响应类型
 1××  保留,已接收到请求消息,正在处理中。
 2××  表示请求成功地接收,对接收到的请求消息已成功地作出响应。
 3××  为完成请求客户需进一步细化请求,表示必须采取进一步的行动才能完成请求。例如,请求消息中的URI对应多个资源,或请求消息要访问的资源的URI已改变,或必须通过代理服务器才能访问等。
 4××  客户浏览器错误,请求消息语法错误或请求无法执行。
 5××  服务器错误 ,服务器无法执行一个有效的请求。
 响应消息的状态行之后是与请求消息类似的、由各种字段名和字段值组成的消息头,响应头的信息包括:服务程序名,通知客户请求的URL需要认证,请求的资源何时能使用。
 对于响应消息,常用的字段有:
 通用消息头:Date
 响应消息头:Server、www-Authenticate、Location
 实体消息头:Allow、Content-Encoding、Content-Length、Content-Type、Expires、Last-Modified
 响应消息最后的实体(Message-Body)部分是服务器按照浏览器的请求传送回来的数据,最常见的情况就是一个网页文件的内容。

HTTP Cookie的设置应在HTTP回应的头(Header)中。它的格式如下,
 Set-Cookie: name = VALUE; expires = DATE;
 path  = PATH;    domain = DOMAIN_NAME;   secure  =
 其中NAME=VALUE可以设置为一系列的数据,expires 设置此Cookie的超期日期,日期的格式是 Wdy,DD-Mon-YYYY HH:MM:SS GMT. 当不设置超期日期时,Cookie只适用于本进程。path是所设置的URL,domain是设置的域名。对所设域名的限制是至少设为两级域名,如“hello.com”,设置顶级域名如".com",是无效的。secure 是指Cookie传输的安全性,如果设置了,则只能在访问HTTPS时传输。
 由客户软件到服务器的Cookie的发送格式为
 Cookie: NAME1=OPAQUE_STRING1; NAME2=OPAQUE_STRING2 ...

HTTP Cookie的设置应在HTTP回应的头(Header)中。它的格式如下,
 Set-Cookie: name = VALUE; expires = DATE;
 path  = PATH;    domain = DOMAIN_NAME;   secure  =
 其中NAME=VALUE可以设置为一系列的数据,expires 设置此Cookie的超期日期,日期的格式是 Wdy,DD-Mon-YYYY HH:MM:SS GMT. 当不设置超期日期时,Cookie只适用于本进程。path是所设置的URL,domain是设置的域名。对所设域名的限制是至少设为两级域名,如“hello.com”,设置顶级域名如".com",是无效的。secure 是指Cookie传输的安全性,如果设置了,则只能在访问HTTPS时传输。
 由客户软件到服务器的Cookie的发送格式为
 Cookie: NAME1=OPAQUE_STRING1; NAME2=OPAQUE_STRING2 ...

猜你喜欢

转载自haoppywang.iteye.com/blog/1187949