`
deng131
  • 浏览: 672760 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

URL格式规范

阅读更多
转自:http://nosound.my.gsdn.net/2004/12/09/6276/

先记录下,以便以后使用。

一、格式说明

“|” 表示隔开的两部分只能出现其中一个,方括号[]括起来的表示可选,文字由双引号””括起来,以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
分享到:
评论

相关推荐

    RFC2255LDAP URL格式中文版

    **RFC2255 LDAP URL格式中文版** 在信息技术领域,RFC(Request for Comments)文档是一种重要的技术标准,由互联网工程任务组(IETF)发布,用于定义互联网相关的协议和规范。RFC2255是其中之一,它详细阐述了LDAP...

    c#各种URL格式转换工具

    这个"C#各种URL格式转换工具"很可能实现了上述部分或全部功能,可以帮助开发者快速、准确地处理URL格式,提高开发效率,同时确保URL处理的正确性和安全性。在实际使用中,可以根据具体需求进行定制和扩展。

    SIP协议的基本原理和呼叫流程,概述

    SIP 协议的基本原理和呼叫流程概述 ...SIP URL 采用与 E-mail 地址类似的格式,它实际上就是 SIP 服务器的应用层地址,遵循 URL 格式规范。 SIP 协议是一种强大且灵活的信令协议,广泛应用于实时通信应用领域。

    mapgis7.0

    **2.3 URL 格式规范** - **2.3.1 URL 定义**: 统一资源定位符(Uniform Resource Locator),用于唯一标识互联网上的资源位置。 - **2.3.2 URL 的一般格式**: 包括协议、主机名、路径等组成部分。 - **2.3.3 涉及到...

    计算机一级考试题库软件.docx

    #### 三、URL格式规范 **1. URL示例** - 正确的URL格式: `https://www.example.com/notice/file.htm` #### 四、计算机发展趋势 **1. 巨型化特征** - “巨型化”指的是计算机向着更高的性能、更大的存储容量以及更...

    tomcat8get请求url格式问题

    原因:由于tomcat的新版本增加了一个新特性,就是严格按照 RFC 3986规范进行访问解析,而 RFC 3986规范定义了Url中只允许包含英文字母(a-zA-Z)、数字(0-9)、-_.~4个特殊字符以及所有保留字符(RFC3986中指定了...

    电子名片输出格式通用规范

    vCard是IMC制订的电子名片的文件格式标准,包含姓名、地址信息、电话号码、URL、logo、相片等信息。 MIME(Multipurpose Internet Mail Extensions)是指多用途互联网邮件扩展,主要用于在发送电子邮件时附加多媒体...

    另类URL重写

    1. 规范URL结构:保持URL的一致性和简洁性,避免过多的动态参数。 2. 避免重复:确保每个URL对应唯一的资源,防止冲突。 3. 设置404页面:当重写后的URL无效时,应引导用户到404错误页面。 4. 更新旧链接:对已发布...

    微软 RTF格式规范

    RTF规范V1.7是该格式的一个重要版本,广泛应用于Microsoft Word和基于RichEdit控件的程序中。 RTF的主要目标是提供一种跨平台的数据交换格式,它能够保存诸如字体、字号、颜色、段落样式等丰富的文本格式信息。通过...

    URLCanonicalizer:规范化和规范化任何URL

    在使用这个库时,开发者可以输入各种格式的URL,然后得到一个标准化的版本。这有助于确保网站在被搜索引擎索引时,不会因为URL的多种形式而被视为重复内容,从而提高搜索引擎排名和用户体验。 在具体使用...

    根据url来获取页面的截图

    Java的`java.net.URLEncoder`类可以帮助我们编码参数值,确保它们符合URL规范。 在提供的压缩包中,`截图网页图片`可能是实现这一功能的代码文件或者示例截图。如果需要具体实现,还需要查看代码文件内容或进行...

    HTML基础:字符实体、URL规范与语义化标记的应用

    本文详细介绍了HTML中的字符实体及其重要性,解释了URL的概念、格式与区分URL和URI的关系。此外还探讨了语义化标记的优势,比如维护代码简便性和降低交流的成本,同时对于SEO优化进行了基本概述。 适合人群:初学...

    url编码转换器

    URL编码主要遵循ASCII字符集,根据RFC3986规范,非ASCII字符以及某些特殊字符(如空格、#、%等)在URL中需要被转义。转义规则是将每个字符替换为其对应的百分号(%)加两位十六进制数字的形式。例如,空格通常被编码...

    Python-yarl这个模块提供了用于url解析和更改的便捷的URL类

    `yarl`还支持自动规范化URL,这意味着它会自动处理URL中的相对路径、重复的斜杠等问题,确保生成的URL始终是标准格式。例如,如果你有相对路径`'../other'`,`yarl`可以将其正确地合并到现有的URL中。 在与`aiohttp...

    利用jquery正则表达式在页面验证url网址输入是否正确

    6. URL格式规范:一个合法的URL一般由协议名(如http或https)、域名(包括次级域名)、路径以及可能的参数组成。此外,URL还可以包含子域名、端口号等部分。 7. 例子中的正则表达式解析: - `/http(s)?`: 匹配 ...

    IIS的URL重写组件

    规则通常包括匹配模式(用于识别需要重写的URL)和转换规则(定义新的URL格式)。 **二、IIS URL重写组件的特点** 1. **易用性**:IIS的URL重写组件提供了一个直观的管理界面,方便管理员添加、编辑和删除重写规则...

    IISURL重写组件

    5. **URL规范化**:防止因URL的不同形式(如www.example.com与example.com,http与https)导致的重复内容问题。 **三、安装IIS URL重写组件** 在Windows服务器上,可以通过以下两个文件进行安装: - `...

    JAVA接口规范.doc

    二、查询类接口格式规范 2.1 获取单条对象信息 这类接口通常用于获取某个特定对象的详细信息,例如用户登录时获取用户个人信息。请求格式包括URL、HTTP方法(通常是GET或POST)以及可能的请求头。参数说明应详细列...

    网站安全urlrewrite教程和jar包

    3. **URL规范化**:确保所有URL指向同一个资源时,格式保持一致,避免因URL重复导致的SEO问题。 4. **重定向**:当某个URL不再有效时,可以设置重定向规则,引导用户访问新的URL。 安装并配置`urlrewrite.jar`后,...

    Normalize a URL.zip

    开源项目"Normalize a URL.zip"很可能是提供了一个用于处理和标准化URL的库或工具,便于开发者处理和统一URL格式,确保它们指向同一资源的准确、规范的表示。下面我们将深入探讨URL规范化涉及的知识点: 1. **URL...

Global site tag (gtag.js) - Google Analytics