⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rfc1738.txt

📁 很多RFC的中文文档
💻 TXT
📖 第 1 页 / 共 3 页
字号:
fpath          = fsegment *[ "/" fsegment ]
fsegment       = *[ uchar | "?" | ":" | "@" | "&" | "=" ]
ftptype        = "A" | "I" | "D" | "a" | "i" | "d"
;FILE(文件)
fileurl        = "file://" [ host | "localhost" ] "/" fpath
;HTTP(超文本传输协议)
httpurl        = "http://" hostport [ "/" hpath [ "?" search ]]
hpath          = hsegment *[ "/" hsegment ]
hsegment       = *[ uchar | ";" | ":" | "@" | "&" | "=" ]
search         = *[ uchar | ";" | ":" | "@" | "&" | "=" ]
;GOPHER(请参考RFC1436)
gopherurl      = "gopher://" hostport [ / [ gtype [ selector
                 [ "%09" search [ "%09" gopher+_string ] ] ] ] ]
gtype          = xchar
selector       = *xchar
gopher+_string = *xchar
;MAILTO(请参考RFC822)
mailtourl      = "mailto:" encoded822addr
encoded822addr = 1*xchar               ;在RFC822中进一步定义了
;NEWS(新闻,请参考RFC1036)
newsurl        = "news:" grouppart
grouppart      = "*" | group | article
group          = alpha *[ alpha | digit | "-" | "." | "+" | "_" ]
article        = 1*[ uchar | ";" | "/" | "?" | ":" | "&" | "=" ] "@" host
;NNTP(网络新闻传输协议,请参考RFC977)
nntpurl        = "nntp://" hostport "/" group [ "/" digits ]
;TELNET(远程登录协议)
telneturl      = "telnet://" login [ "/" ]
;WAIS(广域信息服务系统,请参考RFC1625)
waisurl        = waisdatabase | waisindex | waisdoc
waisdatabase   = "wais://" hostport "/" database
waisindex      = "wais://" hostport "/" database "?" search
waisdoc        = "wais://" hostport "/" database "/" wtype "/" wpath
database       = *uchar
wtype          = *uchar
wpath          = *uchar
;PROSPERO
prosperourl    = "prospero://" hostport "/" ppath *[ fieldspec ]
ppath          = psegment *[ "/" psegment ]
psegment       = *[ uchar | "?" | ":" | "@" | "&" | "=" ]
fieldspec      = ";" fieldname "=" fieldvalue
fieldname      = *[ uchar | "?" | ":" | "@" | "&" ]
fieldvalue     = *[ uchar | "?" | ":" | "@" | "&" ]
;杂七杂八的定义
lowalpha       = "a" | "b" | "c" | "d" | "e" | "f" | "g" | "h" |
                 "i" | "j" | "k" | "l" | "m" | "n" | "o" | "p" |
                 "q" | "r" | "s" | "t" | "u" | "v" | "w" | "x" |
                 "y" | "z"
hialpha        = "A" | "B" | "C" | "D" | "E" | "F" | "G" | "H" | "I" |
                 "J" | "K" | "L" | "M" | "N" | "O" | "P" | "Q" | "R" |
                 "S" | "T" | "U" | "V" | "W" | "X" | "Y" | "Z"
alpha          = lowalpha | hialpha
digit          = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" |
                 "8" | "9"
safe           = "$" | "-" | "_" | "." | "+"
extra          = "!" | "*" | "'" | "(" | ")" | ","
national       = "{" | "}" | "|" | "\" | "^" | "~" | "[" | "]" | "`"
punctuation    = "<" | ">" | "#" | "%" | <">


reserved       = ";" | "/" | "?" | ":" | "@" | "&" | "="
hex            = digit | "A" | "B" | "C" | "D" | "E" | "F" |
                 "a" | "b" | "c" | "d" | "e" | "f"
escape         = "%" hex hex

unreserved     = alpha | digit | safe | extra
uchar          = unreserved | escape
xchar          = unreserved | reserved | escape
digits         = 1*digit

6.安全事项
URL方案自身并不会造成安全威胁。用户需要小心的是:在一个时刻指向一个给定对象的
URL并不会保证一直指向这个对象。甚至也不保证因服务器上对象的移动而会在后来指向
另一个不同的对象。
一种同URL相关的安全威胁是:构建一个试图执行像取回对象这样无害的等幂操作的URL
有时可能会导致发生破坏性的远程操作。这个不安全的URL通常是通过指定一个除了那
些保留给正在讨论的网络协议用的端口数产生的。客户端在无意间同一个服务器打了交
道,而这个服务器实际上正在运行一个不同的协议,这样就导致URL内容中包含的指令
被其他的协议解释了,从而产生意外操作。一个例子就是使用gopher URL来生成一个原
始的消息并通过SMTP服务器来发送。在使用那些指定端口不是缺省端口的URL时应该进
行警告,尤其是在这个端口数出现在保留空间里面的情况下。
当URL包含有嵌入式已编码的特定协议中的分隔符(例如,telnet协议的CR和LF字符)
并且在传输前没有被解码时应该引起注意。这样除了可能被用来模拟一个超出其范围的操
作或者参数,会干扰这个协议,并再一次引起执行意想不到的而且可能是有害的远程操作。
使用包含应该作为秘密的密码的URL是非常轻率的。
7.感谢
这份文件建立在基本WWW设计(RFC1630)和许多人在网络上对这个观点进行的诸多讨论
的基础上。这些讨论受到了Clifford Lynch,Brewster Kahle [10] 和 Wengyik Yeong 
[18]的文章的极大鼓舞。这份文件综合了John Curran, Clifford Neuman, Ed Vielmetti
和后来的IETF URL BOF与URI工作小组的成果。

Dan Connolly, Ned Freed, Roy Fielding, Guido van Rossum, Michael Dolan, Bert 
Bos, John Kunze, Olle Jarnefors, Peter Svanberg最近详细审阅了这份文件并提出
了宝贵的意见。还有许多人为这份RFC的完善提供了很大帮助。

附录:上下文URL的推荐标准
URI(统一资源标志符),包括URL,趋向于通过这样的协议来传输:这些协议为它们的解
释提供了上下文。
在有些情况下,有必要区分URL和语法结构中其他可能的数据结构。在这种情况下,建
议在URL之前加上一个有字符“URL:”组成的前缀,这个前缀可以用来把URL和其它种
类的URI区分开。

此外,其它种类的文字中包含URL的情况也很常见。例如包含在电子邮件中,USENET 新
闻消息中或者印在纸上。在这些情况下,可以很方便的用一个单独的语法分隔符号来分隔
URL并把它和文字的其它部分相分离。在一些特殊情况下,标点符号标记可能会造成URL
的其它部分出错。因为这个原因,建议使用尖括号(“<”和“>”)并使用“URL:”前缀
来界定URL。这些界定符号不会出现在URL中,也不应该出现在指定这个界定符的上下文
中。
在一个“片断/锚点”(fragment/anchor)标志符和一个URL(在一个“#”之后)相关联
的情况下,这个标志符也应该放到括号中。
在有些情况下,需要加一些额外的空白(空格,回车,制表符等)来打断那些超过一行的
长URL。在提取URL时这些空白应该被忽略。
在连字符(“-”)后不应该加入空白。因为有些排字机和打印机在打断一行是可能会(错
误地)在行末加入一个连字符,解释程序在解释一个在连字符后包含一个行中断的URL
时应该忽略行中断左右所有未编码的空白,并且应该注意到连字符可能是也可能不是URL
的一个部分。
例如:
是的,Jim,我发现它在<URL:ftp://info.cern.ch/pub/www/doc;type=d>上,但是你可
能能够从<URL:ftp://ds.internic.net/rfc>那儿获得它。请注意
<URL:http://ds.internic.net/instructions/overview.html#WARNING>上的警告。

参考文献:
   [1] Anklesaria, F., McCahill, M., Lindner, P., Johnson, D.,
       Torrey, D., and B. Alberti, "The Internet Gopher Protocol
       (a distributed document search and retrieval protocol)",
       RFC 1436, University of Minnesota, March 1993.
       <URL:ftp://ds.internic.net/rfc/rfc1436.txt;type=a>

   [2] Anklesaria, F., Lindner, P., McCahill, M., Torrey, D.,
       Johnson, D., and B. Alberti, "Gopher+: Upward compatible
       enhancements to the Internet Gopher protocol",
       University of Minnesota, July 1993.
       <URL:ftp://boombox.micro.umn.edu/pub/gopher/gopher_protocol
       /Gopher+/Gopher+.txt>

   [3] Berners-Lee, T., "Universal Resource Identifiers in WWW: A
       Unifying Syntax for the Expression of Names and Addresses of
       Objects on the Network as used in the World-Wide Web", RFC
       1630, CERN, June 1994.
       <URL:ftp://ds.internic.net/rfc/rfc1630.txt>

   [4] Berners-Lee, T., "Hypertext Transfer Protocol (HTTP)",
       CERN, November 1993.
       <URL:ftp://info.cern.ch/pub/www/doc/http-spec.txt.Z>

   [5] Braden, R., Editor, "Requirements for Internet Hosts --
       Application and Support", STD 3, RFC 1123, IETF, October 1989.
       <URL:ftp://ds.internic.net/rfc/rfc1123.txt>

   [6] Crocker, D. "Standard for the Format of ARPA Internet Text
       Messages", STD 11, RFC 822, UDEL, April 1982.
       <URL:ftp://ds.internic.net/rfc/rfc822.txt>

   [7] Davis, F., Kahle, B., Morris, H., Salem, J., Shen, T., Wang, R.,
       Sui, J., and M. Grinbaum, "WAIS Interface Protocol Prototype
       Functional Specification", (v1.5), Thinking Machines
       Corporation, April 1990.
       <URL:ftp://quake.think.com/pub/wais/doc/protspec.txt>

   [8] Horton, M. and R. Adams, "Standard For Interchange of USENET
       Messages", RFC 1036, AT&T Bell Laboratories, Center for Seismic
       Studies, December 1987.
       <URL:ftp://ds.internic.net/rfc/rfc1036.txt>

   [9] Huitema, C., "Naming: Strategies and Techniques", Computer
       Networks and ISDN Systems 23 (1991) 107-110.
  [10] Kahle, B., "Document Identifiers, or International Standard
       Book Numbers for the Electronic Age", 1991.
       <URL:ftp://quake.think.com/pub/wais/doc/doc-ids.txt>

  [11] Kantor, B. and P. Lapsley, "Network News Transfer Protocol:
       A Proposed Standard for the Stream-Based Transmission of News",
       RFC 977, UC San Diego & UC Berkeley, February 1986.
       <URL:ftp://ds.internic.net/rfc/rfc977.txt>

  [12] Kunze, J., "Functional Requirements for Internet Resource
       Locators", Work in Progress, December 1994.
       <URL:ftp://ds.internic.net/internet-drafts
       /draft-ietf-uri-irl-fun-req-02.txt>

  [13] Mockapetris, P., "Domain Names - Concepts and Facilities",
       STD 13, RFC 1034, USC/Information Sciences Institute,
       November 1987.
       <URL:ftp://ds.internic.net/rfc/rfc1034.txt>

  [14] Neuman, B., and S. Augart, "The Prospero Protocol",
       USC/Information Sciences Institute, June 1993.
       <URL:ftp://prospero.isi.edu/pub/prospero/doc
       /prospero-protocol.PS.Z>

  [15] Postel, J. and J. Reynolds, "File Transfer Protocol (FTP)",
       STD 9, RFC 959, USC/Information Sciences Institute,
       October 1985.
       <URL:ftp://ds.internic.net/rfc/rfc959.txt>

  [16] Sollins, K. and L. Masinter, "Functional Requirements for
       Uniform Resource Names", RFC 1737, MIT/LCS, Xerox Corporation,
       December 1994.
       <URL:ftp://ds.internic.net/rfc/rfc1737.txt>

  [17] St. Pierre, M, Fullton, J., Gamiel, K., Goldman, J., Kahle, B.,
       Kunze, J., Morris, H., and F. Schiettecatte, "WAIS over
       Z39.50-1988", RFC 1625, WAIS, Inc., CNIDR, Thinking Machines
       Corp., UC Berkeley, FS Consulting, June 1994.
       <URL:ftp://ds.internic.net/rfc/rfc1625.txt>

  [18] Yeong, W. "Towards Networked Information Retrieval", Technical
       report 91-06-25-01, Performance Systems International, Inc.
       <URL:ftp://uu.psi.com/wp/nir.txt>, June 1991.

  [19] Yeong, W., "Representing Public Archives in the Directory",
       Work in Progress, November 1991.

  [20] "Coded Character Set -- 7-bit American Standard Code for
       Information Interchange", ANSI X3.4-1986.

编者地址:
Tim Berners-Lee
World-Wide Web project
CERN,
1211 Geneva 23,
Switzerland

电话:+41 (22)767 3755
传真:+41 (22)767 7155
Email:timbl@info.cern.ch

Larry Masinter
Xerox PARC
3333 Coyote Hill Road
Palo Alto, CA 94034

电话: (415) 812-4365
传真: (415) 812-4333
EMail: masinter@parc.xerox.com


Mark McCahill
Computer and Information Services,
University of Minnesota
Room 152 Shepherd Labs
100 Union Street SE
Minneapolis, MN 55455

电话: (612) 625 1300
EMail: mpm@boombox.micro.umn.edu



RFC1738——Uniform Resource Locators (URL)             统一资源定位器(URL)


1
RFC文档中文翻译计划

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -