HTTP 1.1 协议
当欧洲高等物理实验室开发出网页
服务器时
,当时是使用 HTTP 1.0 版通讯协议
,市场上支持得最好的浏览器大概就是 Netscape Navigator及Communicator,Netscape 公司在产品成熟后紧接着推出 Gold 版开始收费贩卖,在 Gold 版中他们提出了线上编辑网页的概念(编好后要用 FTP 上传就是了),为了实现这个概念必须要发展新的 HTTP 通讯协议,当然没多久 Netscape 从市场消失,大家开始改用微软公司的 IE 以及 FrontPage,微软公司基于简单易用的考量, 积极参与新版本 HTTP 通讯协议的制定,这就是后来我们看到的 HTTP 1.1
。 HTTP 1.1 版通讯协议的改版幅度相当大,例如:增加档案 zip 压缩功能,增加 MD5 编密传送功能......等等,其中对微软公司最重要的就是,他们提案的 PUT 和 DELETE 指令被接受了,PUT 指令用来新增网页、修改网页内容或变更文件名,DELETE 指令则用来删除网页或目录,透过这个机制就可以很容易用 HTTP 80 端口来直接更新网站内容,这就是微软产品 FrontPage Server Exteion 的目标,目前除了 FrontPage 支持 PUT、DELETE 指令外,还有 W3C 开发的 Winie 也可以用来上传网页(支持 Linux 平台,Server 端则由 Apache mod_put 负责)
。底下简要的说明 HTTP 1.1 版各个指令的用途:
指令 用途
OPTIO 查询或设定 URI 旗号,透过这个机制
服务器得以和浏览器协商传输资料时要不要压缩、要不要 Cache ......等等
GET 取得网页资料。必须使用绝对网址来要求资料,如果使用相对路径,则必须以 Host: 标头标示目的网址,这跟 1.0 版有很大的不同
HEAD 跟 GET 很像,但只会取得网页标头,不包含网页内文(除错用)
POST 取得网页资料前,先上传前一个网页的窗体资料,POST 和 GET 的差别在于上传资料的方式不同,使用 GET 可以在网址后方添加信息(?user=xxamtest=on......),但信息的量无法超过一行的限制,使用 POST 上传没有上限。POST 除了用来上传窗体资料(上传档案)外,还可以:
为 Server 上的资料来源建立批注
提供资料给窗体中的动态数据链路项目(DataField)
新增资料到数据库(通常是另一个网页或纯文字数据库)
在 FrontPage 上可以制作这种进阶窗体,在此不作详细说明
PUT 当 PUT 指定的网页不存在时,会自动新增网页,否则就是要取代旧网页或变更名称
DELETE 删除指定的网页或空目录
TRACE 用来做应用层的 looack 追踪,可以配合 OPTIO 指定 Max-Forwards 来决定追踪的深度,使用此指令将追踪出所经过的 Proxy(除错用)
COECT 是给 Proxy 服务器用来建立 L 信道的,当浏览器透过 Proxy 使用 HTT 连上网页时,需要在 Proxy 上建立 L 信道才能提供服务给 Client 端
了解 HTTP 响应状态码的涵义(RFC 2068),对于理解 Apache 服务器的行为和运作机制有很大的帮助,同时当网页出现状况无法正常显示时,浏览器也会秀出这些错误讯息,了解这些错误讯息您就可以判断出问题的成因,因此在本文特地收录了一般常见的各种状态码的表列,当作补充教材请学员细心阅读。