猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
何时将空间编码为加号(+)或%20?
何时将空间编码为加号(+)或%20?
有时,空格会将URL编码到
+
签个字,其他时候
%20
..有什么不同,为什么会发生这种情况?
撒科打诨
浏览 689
回答 3
3回答
烙印99
所以,这里的答案都有点不完整。使用‘%20’对URL中的空格进行编码是在RFC 3986,它定义了如何构建URI。本规范中没有提到使用“+”对空间进行编码-如果仅按此规范进行编码,则必须将空间编码为‘%20’。对编码空间使用“+”的提及来自HTML规范的各种形式-特别是在描述内容类型‘application/x-www-form-urlencode’的一节中。这用于发布表单数据。现在,HTML2.0规范(RFC 1866)第8.2.2节明确指出,GET请求的URL字符串的查询部分应该编码为‘application/x-www-form-urlencode’。理论上,这表明在查询字符串中的URL中使用‘+’是合法的(在‘?’之后)。但是.。真的吗?记住,HTML本身就是一个内容规范,带有查询字符串的URL可以与HTML以外的内容一起使用。此外,尽管HTML规范的后期版本继续在‘application/x-www-form-urlencode’内容中将‘+’定义为合法,但它们完全忽略了GET请求查询字符串定义为该类型的部分。事实上,在HTML2.0规范之后,没有提到查询字符串编码。这就给我们留下了一个问题-它有效吗?当然,在查询字符串中支持“+”的遗留代码很多,生成它的代码也很多。所以,如果你使用“+”,几率是很好的。(事实上,我最近对此做了所有的研究,因为我发现了一个主要的站点,它没有接受GET查询中的‘%20’作为一个空间。他们实际上没能解码任何百分比编码的字符。因此,您使用的服务也可能是相关的。)但是,从规范的纯读来看,如果没有HTML 2.0规范中的语言转到以后的版本,URL就完全由RFC 3986覆盖,这意味着空间应该转换为‘%20’。当然,如果您请求的不是HTML文档,就应该是这种情况。
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
算法与数据结构
数据结构中,与所使用的计算机无关的数据是什么?
1 回答
学完C语言之后是先学数据结构还是先学JAVA好呢?
1 回答
源码
spark分组排序提取前N个值
1 回答
请问转让门店小程序需要源码吗?门店小程序有自己的源代码吗?是否要注册计算机软件著作权才可以交易?
1 回答
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续