`
javatar
  • 浏览: 1700787 次
  • 性别: Icon_minigender_1
  • 来自: 杭州699号
社区版块
存档分类
最新评论

[摘录]URL规范

    博客分类:
  • AJAX
阅读更多
简写:
URL: Uniform Resource Locators
URI: Uniform Resource Identicators

全格式:
protocol://user:password@host:port/directory/file.extension?query=value#hash

一、格式说明
“|” 表示隔开的两部分只能出现其中一个,方括号[]括起来的表示可选,文字由双引号””括起来,以n*开头表示至少n个或更多的,n的缺省值为0。

二、总体格式
genericurl     = scheme “:” schemepart

scheme         = 1*[ lowalpha | digit | “+” | “-” | “.” ]
schemepart     = *xchar | ip-schemepart

ip-schemepart  = “//” login [ “/” urlpath ]
login          = [ user [ “:” password ] “@” ] hostport
hostport       = host [ “:” port ]
host           = hostname | hostnumber
hostname       = *[ domainlabel “.” ] toplabel
domainlabel    = alphadigit | alphadigit *[ alphadigit | “-” ] alphadigit
toplabel       = alpha | alpha *[ alphadigit | “-” ] alphadigit
alphadigit     = alpha | digit
hostnumber     = digits “.” digits “.” digits “.” digits
port           = digits
user           = *[ uchar | “;” | “?” | “&” | “=” ]
password       = *[ uchar | “;” | “?” | “&” | “=” ]
urlpath        = *xchar    ; depends on protocol see section 3.1三、常见scheme
; FTP (参见RFC959)
ftpurl         = “ftp://” login [ “/” fpath [ “;type=” ftptype ]]
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               ; further defined in 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
分享到:
评论

相关推荐

    NoteExpress_10491.rar

    而两个.url文件是网页快捷方式,"淘宝优惠券.url"可能与软件购买或升级的优惠活动有关,"欧普下载站-打造安全免费软件和安卓游戏下载基地.url"则是提供其他软件下载的网站链接。 综上所述,NoteExpress是一款全面的...

    RSS案例视频,RSS阅读器

     为了进一步了解RSS及其发展历程的有关背景知识,下面摘录了2003年10月平文胜为时代营销撰写的有关RSS技术层面的介绍文章。仅供参考。网上此类介绍文章也不少,有兴趣的请到网上检索更多信息。例如维基百科对于RSS...

    symfony-cheatsheet:Symfony速查表-使用Symfony框架时经常需要的实用实用命令,代码和摘录

    3. **路由**:Symfony的路由系统允许定义URL与控制器方法之间的映射,使你可以自由设计URL结构。 4. **模板**:Symfony使用Twig模板引擎来生成HTML,提供了一套强大的模板语法,包括变量、控制流和函数调用。 5. *...

    安车机动车检验监管系统接口使用手册V4.40(设备厂家)

    2. **接口调用方法**:文档中提到的接口调用方法可能包括对特定URL地址的Web服务调用,如"***"。这表明系统接口可能是基于SOAP Web服务的,开发者可以通过这个地址获取WSDL文件,进而了解接口的具体信息和调用方式。...

    sqlmap中英文对照手册.pdf

    根据提供的文件内容,这篇文档是关于sqlmap的中英文对照手册的一部分。...以下是对这些知识点的详细说明: ...请务必遵守道德规范和法律法规,在授权范围内使用sqlmap及相关工具,并在合法的测试环境中进行操作。

    住院收费系统v1.0

    2. 代码中国.txt:可能包含了开发者对于代码规范、编程心得或者是一些参考代码的摘录,有助于理解系统的实现细节。 3. 代码中国.url:这是一个链接,可能指向一个编程论坛或资源网站,开发者可能在那里寻求帮助或...

    COM组件书籍

    "ccrun.com.nfo"、"ccrun.com.txt"和"ccrun.com.url"可能是与"Inside COM"这本书相关的补充信息,比如NFO文件通常是发布者提供的详细信息,TXT可能是书中的摘录或笔记,URL可能是指向更多资源或作者网站的链接。...

    英文版JAVA学习教程

    - **讨论权限:** 可以与其他规格说明书的被许可人(根据此许可协议或类似版本的许可协议)讨论规格说明书(包括提供文本的有限摘录,以支持讨论的论点) ### 许可条件 - **有效期:** 自发布之日起两年内有效;或...

    百度自然语言处理的API接口PDF文档

    多实体情感倾向分析能对文本中多个主体的情感倾向进行自动分析,而地址识别则可以精准提取地址信息并辅助生成规范的结构化信息。 开发者使用百度NLP API时,需要遵循OAuth2.0授权机制。具体来说,开发者需要通过...

    java免费下载资源网站

    - 关注科帮网获取更多源码.url:这是一个网址链接,指向可能提供更多Java源码和其他学习资源的网站。 在学习和使用Java时,不断探索这些资源,结合实际项目实践,将有助于提升你的编程技能和解决问题的能力。同时,...

    JAVA上百实例源码以及开源项目源代码

    本规范尝试满足大型主机、微型主机、个人工作站、和TACs 的不同需求。例如,容易实现协议的设计。 Java EJB中有、无状态SessionBean的两个例子 两个例子,无状态SessionBean可会话Bean必须实现SessionBean,获取系统...

Global site tag (gtag.js) - Google Analytics