发信人: kenmlee()
整理人: kenmlee(2000-07-08 16:49:20), 站内信件
|
5.1.2 Request-URI
#5.1.2 请求URI /#
The Request-URI is a Uniform Resource Identifier (section 3.2) and
identifies the resource upon which to apply the request.
Request-URI = "*" | absoluteURI | abs_path
# 请求URI是唯一资源标示符(见第3.2节)和请求资源的标示
Request-URI = "*" | absoluteURI | abs_path
/#
The three options for Request-URI are dependent on the nature of th
e
request. The asterisk "*" means that the request does not apply to
a
particular resource, but to the server itself, and is only allowed
when the method used does not necessarily apply to a resource. One
example would be
OPTIONS * HTTP/1.1
# 使用请求URI的三种选项依赖于请求的特性,星号“*”的意思是请求不是用于
特定
的资源的,而是用于服务器本身,仅允许用于不需应用于某个资源的方法。一
个例
子如下:
OPTIONS * HTTP/1.1
/#
The absoluteURI form is required when the request is being made to
a
proxy. The proxy is requested to forward the request or service it
from a valid cache, and return the response. Note that the proxy MA
Y
forward the request on to another proxy or directly to the server
specified by the absoluteURI. In order to avoid request loops, a
proxy MUST be able to recognize all of its server names, including
any aliases, local variations, and the numeric IP address. An examp
le
Request-Line would be:
GET http://www.w3.org/pub/WWW/TheProject.html HTTP/1.1
# 当请求是对代理发出的则要求使用抽象URI(absoluteURI)形式,代理应提交
请求或用合法的缓存为请求服务,然后返回结果。注意代理可能将请求提交给
另
一个代理或直接发送给抽象URI指定的服务器,为防止请求出现循环,代理必
须
能识别所有的服务器名称,包括所有别名,局部定义的变量名和数字IP地址。
例子如下:
GET http://www.w3.org/pub/WWW/TheProject.html HTTP/1.1
/#
To allow for transition to absoluteURIs in all requests in future
versions of HTTP, all HTTP/1.1 servers MUST accept the absoluteURI
form in requests, even though HTTP/1.1 clients will only generate
them in requests to proxies.
# 为了将来版本的HTTP允许在所有的请求中传输抽象URI,所有HTTP/1.1服务器
必须能接受抽象URI形式的请求,即使HTTP/1.1客户程序只是在向代理发送请
求时使用它。
/#
The most common form of Request-URI is that used to identify a
resource on an origin server or gateway. In this case the absolute
path of the URI MUST be transmitted (see section 3.2.1, abs_path) a
s
the Request-URI, and the network location of the URI (net_loc) MUST
be transmitted in a Host header field. For example, a client wishin
g
to retrieve the resource above directly from the origin server woul
d
create a TCP connection to port 80 of the host "www.w3.org" and sen
d
the lines:
GET /pub/WWW/TheProject.html HTTP/1.1
Host: www.w3.org
followed by the remainder of the Request. Note that the absolute pa
th
cannot be empty; if none is present in the original URI, it MUST be
given as "/" (the server root).
# 最一般的请求URI形式是用于标示原始服务器或网关上的资源,在这种情况下
抽象
路径必须作为请求URI传输(见第3.2.1节,abs_path),并且URI的网络位置必
须
在主机头域(Host)中传输。例如,一个客户程序希望直接从原始服务器取得
上面
的资源,可以创建一个到主机“www.w3.org"端口80的TCP连接,然后发送:
GET /pub/WWW/TheProject.html HTTP/1.1
Host: www.w3.org
后面紧跟着请求的剩余部分。注意抽象路径不能为空,如果最初的URI中什么
也没给
则必须用“/”(服务器跟目录)给出。
/#
If a proxy receives a request without any path in the Request-URI a
nd
the method specified is capable of supporting the asterisk form of
request, then the last proxy on the request chain MUST forward the
request with "*" as the final Request-URI. For example, the request
OPTIONS http://www.ics.uci.edu:8001 HTTP/1.1
would be forwarded by the proxy as
OPTIONS * HTTP/1.1
Host: www.ics.uci.edu:8001
after connecting to port 8001 of host "www.ics.uci.edu".
# 如果代理接受到请求URI中没有路径,并且请求方法能够支持星号形式的请求
,
那么请求链中最后的代理必须在最后的请求URI中使用“*”提交。例如,请求
OPTIONS http://www.ics.uci.edu:8001 HTTP/1.1
在连接到主机“www.ics.uci.edu”的8001端口后将被代理提交为:
OPTIONS * HTTP/1.1
Host: www.ics.uci.edu:8001
/#
The Request-URI is transmitted in the format specified in section
3.2.1. The origin server MUST decode the Request-URI in order to
properly interpret the request. Servers SHOULD respond to invalid
Request-URIs with an appropriate status code.
# 请求URI遵循第3.2.1节规定的格式传输,原始服务器为了适当的解释请求必须
对
请求URI进行解码。服务器应该用合适的状态码响应非法的请求URI。
/#
In requests that they forward, proxies MUST NOT rewrite the
"abs_path" part of a Request-URI in any way except as noted above t
o
replace a null abs_path with "*", no matter what the proxy does in
its internal implementation.
# 无论代理内部是如何实现的,在它所提交的请求中,代理必须不能重写请求U
RI的抽象
路径"abs_path"部分,除非是前面提到的用"*"代替空的abs_path.
/#
Note: The "no rewrite" rule prevents the proxy from changing the
meaning of the request when the origin server is improperly using
a
non-reserved URL character for a reserved purpose. Implementers
should be aware that some pre-HTTP/1.1 proxies have been known to
rewrite the Request-URI.
# 注意:不重写"no rewrite"规则防止当原始服务器不恰当的使用非保留URL字
符用于
保留目的时,代理改变请求的含义.实现这应该知道有些HTTP/1.1以前的代理
会重写
请求URI.
/#
-- ※ 修改:.kenmlee 于 Jul 8 16:32:59 修改本文.[FROM: 61.140.188.222] ※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 61.140.188.222]
|
|