`
atell
  • 浏览: 161677 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

[Web基础]URI的字符组成

阅读更多
uric          = reserved | unreserved | escaped




 (1) reserved    = ";" | "/" | "?" | ":" | "@" | "&" | "=" | "+" |
                    "$" | ","

 (2) unreserved  = alphanum | mark

      mark        = "-" | "_" | "." | "!" | "~" | "*" | "'" | "(" | ")"

(3) 除以上的字符外,均是:
      escaped     = "%" hex hex
      hex         = digit | "A" | "B" | "C" | "D" | "E" | "F" |
                            "a" | "b" | "c" | "d" | "e" | "f"



 

由上述可知:
当提交的表单中,含有的字符
1.属于情况(3)时,需要UrlEncode;
2.属于情况(1)时,需要UrlEncode,因为作为query的value部分,当然不能有reserved字符;
3.属于情况(2)时,不需要UrlEncode。不过,对(2)的mark字符,有些浏览器选择性地对它们进行了UrlEncode。

参考:http://www.faqs.org/rfcs/rfc2396.html

0
4
分享到:
评论

相关推荐

    Uri一个URI处理库

    - **修改URI组件**:你可以单独修改URI的任何部分,如更改路径、添加或删除查询参数、更新主机名等,然后重新组合成一个新的URI字符串。 - **规范化和比较URI**:Uri库支持URI的规范化,确保相同含义的URI以相同的...

    uri.rar_generic

    1. **URI的组成部分**:一个标准的URI由多个部分组成,包括协议(如http、ftp)、主机名、端口号、路径、查询字符串和片段标识符。函数可能涉及解析这些组件并提供访问它们的方法。 2. **编码与解码**:URI中不能...

    Ruby-Addressable替换URI实现Ruby标准库的一部分

    1. **IRI支持**:`Addressable::URI`类可以处理包含Unicode字符的IRIs,这对于处理国际化的Web应用非常有用。 2. **安全的URI解析**:`Addressable`能够处理潜在的恶意URI,例如那些包含特殊字符或尝试进行路径遍历...

    前端开源库-uri-util

    1. **URI解析与构造**:uri-util提供了解析URI字符串为对象的函数,这个对象包含了URI的各个组成部分,如协议、主机、路径、查询参数等。同时,它还支持将这个对象再转换回URI字符串。 2. **编码与解码**:在URI中...

    前端项目-URI.js.zip

    1. **URI解析与构造**:它可以将一个完整的URI字符串解析为各个组成部分,如协议、主机、路径、查询参数等,并允许用户通过这些部分来构建新的URI。 2. **路径处理**:支持路径的合并、分割、添加和删除,方便在...

    RFC 3986:2005 Uniform Resource Identifier (URI):Generic Syntax -

    同时,URI也是Web服务、API设计和Web应用程序交互的基础。 这份61页的完整英文电子版提供了对URI标准的全面解读,对于网络开发者、系统架构师、网络管理员以及其他与互联网技术相关的专业人士来说,是一份非常有...

    URI:URI的地址解析

    例如,可以创建一个结构体来存储URI的不同组件,并编写解析函数,从给定的URI字符串中提取这些信息。同时,为了编码和解码URI,可能需要了解和应用URI编码规则,如百分号编码(%xx)来处理非ASCII字符。 在实际应用...

    CI框架源码解读之URI.php中_fetch_uri_string()函数用法分析

    1. CLI模式下,使用PHP的$_SERVER['argv']数组获取传递给脚本的参数,这些参数组成一个数组,然后通过私有方法_private_parse_cli_args()来构造URI字符串。 2. 如果不是CLI模式,且config['uri_protocol']设置为'...

    uri-parser:Python中URI解析器的实现

    使用`URI`类解析URI字符串: ```python uri = URI("http://example.com/path/to/page?key1=value1&key2=value2#section") ``` 通过访问`uri`对象的属性,我们可以获取各个部分: - `uri.scheme` 获取方案 - `uri....

    URI-exercises:URI练习解析

    1. 解析和验证URI字符串的语法,确保它们符合URI的语法规则。 2. 将URI的不同部分提取出来,如协议(http, https等)、主机、路径、查询参数和片段。 3. 对URI进行编码和解码,处理特殊字符。 4. 使用SQL创建和操作...

    RFC 3986:2005 Uniform Resource Identifier (URI):Generic Syntax - 完整英文电子版(61页).pdf

    《RFC 3986:2005 Uniform ...总之,《RFC 3986》是互联网资源标识的核心规范,对于理解和操作URI的正确性至关重要,对于开发Web应用程序、构建网络服务和理解互联网工作原理的专业人士来说,是必不可少的参考资料。

    java-web课本课后简答题.doc

    * URI(Uniform Resource Identifier)是统一资源标识符,是以特定语法标识一个资源的字符串。URI 由模式和模式特有的部分组成,它们之间用冒号隔开。 二、动态 Web 文档技术 * 动态 Web 文档技术包括服务器端动态...

    Javascript URI 解析介绍

    创建一个`<a>`元素,并将其`href`属性设置为我们想要解析的URI,然后可以访问该元素的相关属性来获取URI的各个组成部分。 例如,对于URL `//www.jb51.net/search/?q=js&type=`,我们可以这样做: ```javascript ...

    java/jsp web.xml详解

    在Java和JSP开发中,`web.xml`文件是一个至关重要的组成部分,它是Servlet容器(如Tomcat)的部署描述符。这个文件包含了关于Web应用程序的配置信息,包括Servlet的定义、过滤器、监听器、会话配置、MIME类型映射、...

    URI:用Python制作的URI在线法官以了解语言的基础

    在Python中,处理URI是网络编程的基础,特别是在构建Web应用程序、爬虫或者数据抓取项目时。本教程将通过一个URI在线法官项目,帮助你深入理解Python语言在处理URI时的应用。 首先,Python内置了`urllib.parse`模块...

    ZzJavaScript encode and escape functions

    JavaScript中的编码和转义函数主要有encodeURI、encodeURIComponent和escape这三个函数,它们用于处理URL和URI中的特殊字符。下面将详细介绍这三个函数的功能和使用场景。 首先,encodeURI函数的主要用途是编码整个...

    URI-Problems:URI问题解决文件

    总的来说,理解和正确处理URI是Web开发中的基础技能,通过学习和实践,我们可以避免常见的URI问题,提高应用的稳定性和安全性。"URI-Problems:URI问题解决文件"应该提供了详细的指南和案例,帮助开发者诊断并解决...

    WebApplication1.rar

    总之,Web API是现代互联网应用的核心组成部分,它提供了一种标准化的方式来构建和消费网络服务。"WebApplication1.rar"中的项目可能包含了从创建、路由到响应处理的整个Web API实现过程,为学习和理解Web API提供了...

    java-web课本课后简答题.pdf

    * URI(Uniform Resource Identifier)称为统一资源标识符,是以特定语法标识一个资源的字符열。URI由模式和模式特有部件组成,通常格式如下:schema:schema-specific-part。URI是URL和URN的超集。 二、动态Web文档...

    Java web初学实践

    7. **统一资源定位符(URI)和请求映射**:在Java Web中,URI用来识别应用中的资源,而请求映射定义了Servlet如何响应特定的HTTP请求。 8. **会话管理**:通过HttpSession接口,可以存储和检索用户的会话信息,实现...

Global site tag (gtag.js) - Google Analytics