Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我是否应该url编码一个查询字符串参数';什么是URL?_Url_Urlencode - Fatal编程技术网

我是否应该url编码一个查询字符串参数';什么是URL?

我是否应该url编码一个查询字符串参数';什么是URL?,url,urlencode,Url,Urlencode,假设我有以下url,其中有一个查询字符串参数,即url: 我应该对下一个参数进行url编码吗?如果我这样做了,谁负责解码?网络浏览器还是我的网络应用程序? 我问这个问题的原因是我看到很多大型网站都做了如下的事情 在上面的例子中,他们不需要对next参数进行编码,因为我猜,他们知道它本身没有任何查询字符串参数。如果我的下一个url也不包含任何查询字符串参数,那么这样做可以吗?说,您应该在不用于明确含义的任何地方对这些符号进行url编码;i、 e.您应该始终形成targetUrl+'?next=

假设我有以下url,其中有一个查询字符串参数,即url:

我应该对
下一个
参数进行url编码吗?如果我这样做了,谁负责解码?网络浏览器还是我的网络应用程序?

我问这个问题的原因是我看到很多大型网站都做了如下的事情

在上面的例子中,他们不需要对
next
参数进行编码,因为我猜,他们知道它本身没有任何查询字符串参数。如果我的
下一个
url也不包含任何查询字符串参数,那么这样做可以吗?

说,您应该在不用于明确含义的任何地方对这些符号进行url编码;i、 e.您应该始终形成
targetUrl+'?next='+urlencode(nextur)

网络浏览器根本不“解码”这些参数;浏览器不知道有关参数的任何信息,只传递字符串。格式为
http://www.example.com/path/to/query?param1=value¶m2=value2
被浏览器请求为:

GET /path/to/query?param1=value&param2=value2 HTTP/1.1
Host: www.example.com
(other headers follow)
在后端,您需要解析结果。我认为PHP的
$\u请求
数组已经为您完成了这项工作;在其他语言中,您需要拆分第一个
字符,然后拆分
&
字符,然后拆分第一个
=
字符,然后对名称和值进行URL解码