rfc2616http协议笔记(1)

1.代理,网关,隧道:http中通用形式的媒介,代理是转发代理,接受含有绝对形式的URI请求,重定消息的所有或部分,并转发该重新格式化的请求到由URI标识的服务器。网关是接受代理,作为其它某些服务器的上层,且必要时翻译请求到下面的服务器协议。隧道作为接力点,在两个连接间,不改变消息。

以下是搜索到的对这几个概念的解释:

http代理:       
  1)你想上某个网站,但这个网站你们防火墙屏蔽了  
  2)你们在一个局域网中,只有1台机器可以上外网,其他也想上       
  此时用HTTP代理可以解决这些问题,HTTP的常用代理协议有SOCKS,SOCKS5等,它把你浏览器的HTTP请求,通过代理协议发送到代理服务器,然后代理服务器发送正常的HTTP请求到目的网站,并把结果返回给你的浏览器。   
  
  http隧道:  
  1)你想传输数据给外网某用户,但你们的防火墙只开放了HTTP端口

  此时用HTTP隧道,HTTP   隧道可以被看作是一种利用已有的通信线路(HTTP)、并在它之内创建一个次级协议来执行特殊任务的方法。   
  就是把你内部的数据封装为HTTP协议的数据包,然后穿过防火墙。  

 

2.RFC2616中并没有对URL、URI的长度进行限制,所以,理论上可以写无限长的URL;但如果服务器发现URL太长而无法处理时,会返回414状态码。
在实际使用中,URL不可能无限长,是有一定限制的,这种限制在客户端(浏览器)和服务器端都存在。

经测,IE6.0的最长字节数为2047,firefox2.0.0.5支持的URL比较长,超过了apache的限制8190(如果URL超过浏览器限制,浏览器对URL自动截取,多余部分舍弃);
服务器端的apache1.3.36的最大长度为8190(由宏DEFAULT_LIMIT_REQUEST_LINE决定)。 

 

3.响应码由三位十进制数字组成,它们出现在由HTTP服务器发送的响应的第一行。

响应码分五种类型,由它们的第一位数字表示:
1.1xx:信息,请求收到,继续处理
2.2xx:成功,行为被成功地接受、理解和采纳
3.3xx:重定向,为了完成请求,必须进一步执行的动作
4.4xx:客户端错误,请求包含语法错误或者请求无法实现
5.5xx:服务器错误,服务器不能实现一种明显无效的请求

下表显示每个响应码及其含义:
100            继续
101            分组交换协
200            OK
201            被创建
202            被采纳
203            非授权信息
204            无内容
205            重置内容
206            部分内容
300            多选项
301            永久地传送
302            找到
303            参见其他
304            未改动
305            使用代理
307            暂时重定向
400            错误请求
401            未授权
402            要求付费
403            禁止
404            未找到
405            不允许的方法
406            不被采纳
407            要求代理授权
408            请求超时
409            冲突
410            过期的
411            要求的长度
412            前提不成立
413            请求实例太大
414            请求URI太大
415            不支持的媒体类型
416            无法满足的请求范围
417            失败的预期
500            内部服务器错误
501            未被使用
502            网关错误
503            不可用的服务
504            网关超时
505            HTTP版本未被支持
 

posted on 2008-08-24 22:23  Shanks  阅读(1353)  评论(0编辑  收藏  举报

导航