我的问题与这个问题有关。除了我的问题更具体,因为它是关于连字符是否可以在查询字符串参数值中使用。
我正在用 PHP 解析
$_SERVER['QUERY_STRING']
。我想知道在查询字符串值中使用连字符(例如下面的情况)在语法上是否正确,或者连字符是否必须在浏览器 URL 中转义。下划线呢?
http://example.com/?q1=query-string-value-one&q2=query-string-value-two
根据 this document 连字符在所有符合标准的浏览器中应该没问题,但我想仔细检查一下。
谢谢。
是
连字符可用于查询字符串参数名称
这是官方文档https://datatracker.ietf.org/doc/html/rfc3986#section-2.3
URI 中允许但没有保留的字符
目的被称为无保留。这些包括大写和小写 字母、十进制数字、连字符、句点、下划线和波形符。unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"