重新阅读《HTTP协议基础》(2)

来源:happyshow.org 时间:2008-04-04 17:40:00 

请求消息

请求消息的第一行为下面的格式:

MethodSPRequest-URISPHTTP-VersionCRLFMethod表示对于Request-URI完成的方法,这个字段是大小写敏感的,包括OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE。方法GET和HEAD应该被所有的通用WEB服务器支持,其他所有方法的实现是可选的。GET方法取回由Request-URI标识的信息。HEAD方法也是取回由Request-URI标识的信息,只是可以在响应时,不返回消息体。POST方法可以请求服务器接收包含在请求中的实体信息,可以用于提交表单,向新闻组、BBS、邮件群组和数据库发送消息。

SP表示空格。Request-URI遵循URI格式,在此字段为星号(*)时,说明请求并不用于某个特定的资源地址,而是用于服务器本身。HTTP-Version表示支持的HTTP版本,例如为HTTP/1.1。CRLF表示换行回车符。请求头域允许客户端向服务器传递关于请求或者关于客户机的附加信息。请求头域可能包含下列字段Accept、Accept-Charset、Accept-Encoding、Accept-Language、Authorization、From、Host、If-Modified-Since、If-Match、If-None-Match、If-Range、If-Range、If-Unmodified-Since、Max-Forwards、Proxy-Authorization、Range、Referer、User-Agent。对请求头域的扩展要求通讯双方都支持,如果存在不支持的请求头域,一般将会作为实体头域处理。

典型的请求消息:

GEThttp://download.microtool.de:80/somedata.exe

Host:download.microtool.de

Accept:*/*

Pragma:no-cache

Cache-Control:no-cache

Referer:http://download.microtool.de/

User-Agent:Mozilla/4.04[en](Win95;I;Nav)

Range:bytes=554554-

上例第一行表示HTTP客户端(可能是浏览器、下载程序)通过GET方法获得指定URL下的文件。棕色的部分表示请求头域的信息,绿色的部分表示通用头部分。

Host头域

Host头域指定请求资源的Intenet主机和端口号,必须表示请求url的原始服务器或网关的位置。HTTP/1.1请求必须包含主机头域,否则系统会以400状态码返回。

Referer头域

Referer头域允许客户端指定请求uri的源资源地址,这可以允许服务器生成回退链表,可用来登陆、优化cache等。他也允许废除的或错误的连接由于维护的目的被追踪。如果请求的uri没有自己的uri地址,Referer不能被发送。如果指定的是部分uri地址,则此地址应该是一个相对地址。

Range头域

Range头域可以请求实体的一个或者多个子范围。例如,

表示头500个字节:bytes=0-499

表示第二个500字节:bytes=500-999

表示最后500个字节:bytes=-500

表示500字节以后的范围:bytes=500-

第一个和最后一个字节:bytes=0-0,-1

同时指定几个范围:bytes=500-600,601-999

但是服务器可以忽略此请求头,如果无条件GET包含Range请求头,响应会以状态码206(PartialContent)返回而不是以200(OK)。

标签:http,协议,html
0
投稿

猜你喜欢

  • 教你用FrontPage2003轻松布局网页

    2008-02-24 17:05:00
  • 如何减少SQL Server死锁发生的情况

    2009-02-24 17:49:00
  • asp将数据库中的信息存储至XML文件中

    2007-09-19 12:54:00
  • 百度在线手写输入法

    2010-02-03 14:27:00
  • ASP生成html的新方法

    2011-04-02 11:04:00
  • css可以给img元素设置背景图

    2008-09-29 15:35:00
  • EXEC(EXECUTE)函数访问INSERTED或DELETED的内部临时触发表

    2012-01-29 18:07:30
  • SQL Server如何才能访问Sybase中的表

    2009-01-08 13:33:00
  • 5个常见的XHTML验证错误

    2010-01-15 20:24:00
  • ASP IE地址栏参数的判断

    2011-04-03 11:21:00
  • 为你的ASP程序作一个负载测试

    2008-10-23 13:48:00
  • 默认Web字体样式

    2009-11-24 12:37:00
  • 三分钟学会Sql Server的复制功能[图]

    2008-07-18 12:18:00
  • 如何实现网上站点维护?

    2010-05-24 18:35:00
  • 深入了解MySQL的数据类型以及建库策略

    2008-12-17 16:16:00
  • MySQL旧版本升级为新版本

    2009-02-26 15:44:00
  • Oracle 低权限数据库账户得到 OS 访问权限 提权利用

    2009-06-19 17:27:00
  • 由浅到深了解JavaScript类

    2008-06-16 13:20:00
  • 面包屑设计

    2009-07-07 11:17:00
  • JavaScript 各种动画渐变效果

    2008-09-02 10:38:00
  • asp之家 网络编程 m.aspxhome.com