HTTP/1.1协议笔记
查看次数26881 发表时间2012-07-27 00:00:48
HTTP/1.1协议笔记
HTTP/1.0 没有充分考虑分层代理,缓存,永久连接需求,或虚拟主机的影响.
代理 指一种中间程序,既作为服务器,又作为客户端,目的是按其它客户端的行为作出请求。请求在内部服务或传递它们,进行可能的翻译,到其它服务器。“透明代理”是这种代理,除其所需的代理认证和标识以外,它不修改请求或响应。“非透明代理”是另一种代理,即它要修改请求或响应,为了给用户代理提供一些服务,如组注解服务,媒体类型转换,协议变形或匿名过滤器。
网关 一种作为一些其它服务器的媒介服务器。与代理不同,代理接受对所请求资源的请求,如同自己是原始服务器一样;请求客户端可能并不清楚它正与网关通迅。
在HTTP/1.0中,大多实现为每个请求/响应交换使用新的连接。在HTTP/1.1中,一个连接可用于一次或多次请求响应交换,尽管连接可能由于各种原因被关闭。
HTTP协议没有对URI的长度作出任何硬性规定。服务器【必须】能够处理它们服务的任何资源的URI,且【应该】能够处理长度极大的URI,如果它们提供基于GET的形式可以生成这类URI。服务器【应该】返回414(Request-URI Too Long)状态,如果URI超过服务器能够处理的长度。
注:服务器应当小心决定URI长度超过255字节,因为一些老的客户端或代理实现可能不能正确支持这种长度。
媒体类型
HTTP在Content-Type和Accept头部域中使用因特网媒体类型,为了提供打开和要扩展的数据类型和类型协议。
media-type=type"/"subtype*(";"parameter)
type=token
subtype=token
parameter【可以】接在type/subtype后面,按attribute/value对的形式。
304 Not Modified
如果客户端执行条件GET请求,且允许访问,但文档没有变化,服务器应该用该响应码响应。304响应禁止包含消息体,因此它始终止于头部域后的首个空行。
414 Request-URI Too Long
服务器拒绝服务请求,因为Request-URI长于服务器愿意解析的长度。该罕见的状态一般发生在当客户端使用长请求信息不正确转换POST请求为GET请求时,当客户端已经降入URI重定向黑洞时(例如重定向URI前缀指向它自己的后缀),或当服务器被客户端试图利用在某些服务器中存在的安全漏洞(使用固定长度缓冲来读取或控制Request-URI)发起攻击时。
HTTP协议中文版下载:http://ishare.iask.sina.com.cn/f/8431889.html
(转发请注明转自:学PHP)
HTTP/1.0 没有充分考虑分层代理,缓存,永久连接需求,或虚拟主机的影响.
代理 指一种中间程序,既作为服务器,又作为客户端,目的是按其它客户端的行为作出请求。请求在内部服务或传递它们,进行可能的翻译,到其它服务器。“透明代理”是这种代理,除其所需的代理认证和标识以外,它不修改请求或响应。“非透明代理”是另一种代理,即它要修改请求或响应,为了给用户代理提供一些服务,如组注解服务,媒体类型转换,协议变形或匿名过滤器。
网关 一种作为一些其它服务器的媒介服务器。与代理不同,代理接受对所请求资源的请求,如同自己是原始服务器一样;请求客户端可能并不清楚它正与网关通迅。
在HTTP/1.0中,大多实现为每个请求/响应交换使用新的连接。在HTTP/1.1中,一个连接可用于一次或多次请求响应交换,尽管连接可能由于各种原因被关闭。
HTTP协议没有对URI的长度作出任何硬性规定。服务器【必须】能够处理它们服务的任何资源的URI,且【应该】能够处理长度极大的URI,如果它们提供基于GET的形式可以生成这类URI。服务器【应该】返回414(Request-URI Too Long)状态,如果URI超过服务器能够处理的长度。
注:服务器应当小心决定URI长度超过255字节,因为一些老的客户端或代理实现可能不能正确支持这种长度。
URI中不在“保留”和“不安全”集(见RFC 2396)中的字符与其“%HEX HEX”编码相同。例如,下面三个URI是相同:
http://itravel.smartcom.cc/~zhanhailiang/itravel2/trunk/htdocs/unionpay/back_notify.php
http://itravel.smartcom.cc/%7Ezhanhailiang/itravel2/trunk/htdocs/unionpay/back_notify.phphttp://itravel.smartcom.cc/%7ezhanhailiang/itravel2/trunk/htdocs/unionpay/back_notify.php
在调用一些第三方支付时需要提交回调URL时通常需要保证URL中所有字符都是安全的(或必须是经过编码的)。媒体类型
HTTP在Content-Type和Accept头部域中使用因特网媒体类型,为了提供打开和要扩展的数据类型和类型协议。
media-type=type"/"subtype*(";"parameter)
type=token
subtype=token
parameter【可以】接在type/subtype后面,按attribute/value对的形式。
304 Not Modified
如果客户端执行条件GET请求,且允许访问,但文档没有变化,服务器应该用该响应码响应。304响应禁止包含消息体,因此它始终止于头部域后的首个空行。
414 Request-URI Too Long
服务器拒绝服务请求,因为Request-URI长于服务器愿意解析的长度。该罕见的状态一般发生在当客户端使用长请求信息不正确转换POST请求为GET请求时,当客户端已经降入URI重定向黑洞时(例如重定向URI前缀指向它自己的后缀),或当服务器被客户端试图利用在某些服务器中存在的安全漏洞(使用固定长度缓冲来读取或控制Request-URI)发起攻击时。
HTTP协议中文版下载:http://ishare.iask.sina.com.cn/f/8431889.html
(转发请注明转自:学PHP)
相关推荐
- 深入理解HTTP协议、HTTP协议原理分析 (2012-07-28 00:45:46)
- HTTP 头部解释 (2012-09-04 15:00:42)
- HTTP 格式分析 (2012-09-10 23:15:39)
- 浅谈HTTP中的Get和Post的区别 (2012-09-10 23:16:24)
- HTTP Headers状态码(status)主要字段属性详解GET,POST,HEAD (2012-09-10 23:17:23)
- TCP连接关闭总结 (2012-07-26 23:58:05)
- IPv4中十种特殊用途的IP地址介绍 (2012-07-26 23:57:59)
- HTTP协议详解(真的很经典) (2012-07-02 00:20:06)
- 域名配置zone文件 (2011-11-02 13:33:30)
- NAT详解、实例(下) (2011-11-01 20:22:32)
- 1楼 Brandywine说: 2016-12-22 01:23:40
-
What a pleasure to find someone who idifitnees the issues so clearly
- 2楼 Brandywine说: 2016-12-22 01:24:13
-
What a pleasure to find someone who idifitnees the issues so clearly
发表评论