Is it a bad practice to use a GET parameter (in URL) with no value?(使用没有值的 GET 参数(在 URL 中)是一种不好的做法吗?)
问题描述
我和我的老板就使用没有价值的 GET 参数的 URL 有一点争论.例如
I'm in a little argument with my boss about URLs using GET parameters without value. E.g.
http://www.example.com/?logout
我经常在网络上看到这种链接,当然,这并不意味着这是一件好事.他担心这不是标准的,可能会导致意想不到的错误,所以他宁愿让我使用类似的东西:
I see this kind of link fairly often on the web, but of course, this doesn't mean it's a good thing. He fears that this is not standard and could lead to unexpected errors, so he'd rather like me to use something like:
http://www.example.com/?logout=yes
根据我的经验,我从未在使用空参数时遇到任何问题,而且它们有时对我更有意义(例如在这种情况下,?logout=no 没有任何意义,所以注销"的值是无关紧要的,我只会测试参数服务器端的存在,而不是它的值).(它看起来也更干净.)
In my experience, I've never encountered any problem using empty parameters, and they sometimes make more sense to me (like in this case, where ?logout=no wouldn't make any sense, so the value of "logout" is irrelevant and I would only test for the presence of the parameter server-side, not for its value). (It also looks cleaner.)
但是我无法确认这种用法实际上是有效的,因此真的不会引起任何问题.
However I can't find confirmation that this kind of usage is actually valid and therefore really can't cause any problem ever.
你有这方面的链接吗?
推荐答案
RFC 2396, "Uniform Resource Identifiers (URI): Generic Syntax", §3.4, "Query Component" 是关于查询字符串的权威信息来源,并声明:
RFC 2396, "Uniform Resource Identifiers (URI): Generic Syntax", §3.4, "Query Component" is the authoritative source of information on the query string, and states:
查询组件是一串要被解释的信息资源.
The query component is a string of information to be interpreted by the resource.
[...]
在查询组件中,字符;"、/"、?"、:"、@"、&"、="、+"、,"和$"是保留的.
Within a query component, the characters ";", "/", "?", ":", "@", "&", "=", "+", ",", and "$" are reserved.
RFC 2616,超文本传输协议 -- HTTP/1.1",§3.2.2,http URL",没有重新定义.
RFC 2616, "Hypertext Transfer Protocol -- HTTP/1.1", §3.2.2, "http URL", does not redefine this.
简而言之,您提供的查询字符串(注销")是完全有效的.
In short, the query string you give ("logout") is perfectly valid.
这篇关于使用没有值的 GET 参数(在 URL 中)是一种不好的做法吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:使用没有值的 GET 参数(在 URL 中)是一种不好的做法吗?
- Oracle 即时客户端 DYLD_LIBRARY_PATH 错误 2022-01-01
- openssl_digest vs hash vs hash_hmac?盐与盐的区别HMAC? 2022-01-01
- 如何从数据库中获取数据以在 laravel 中查看页面? 2022-01-01
- 覆盖 Magento 社区模块控制器的问题 2022-01-01
- Laravel 5:Model.php 中的 MassAssignmentException 2021-01-01
- 如何使用 Google API 在团队云端硬盘中创建文件夹? 2022-01-01
- 使用 GD 和 libjpeg 支持编译 PHP 2022-01-01
- PHP foreach() 与数组中的数组? 2022-01-01
- PHP - if 语句中的倒序 2021-01-01
- 如何在 Symfony2 中正确使用 webSockets 2021-01-01
