使用没有值的 GET 参数(在 URL 中)是一种不好的做法吗?

Is it a bad practice to use a GET parameter (in URL) with no value?(使用没有值的 GET 参数(在 URL 中)是一种不好的做法吗?)
本文介绍了使用没有值的 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 中)是一种不好的做法吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Convert JSON integers and floats to strings(将JSON整数和浮点数转换为字符串)
in php how do I use preg replace to turn a url into a tinyurl(在php中,如何使用preg替换将URL转换为TinyURL)
all day appointment for ics calendar file wont work(ICS日历文件的全天约会不起作用)
trim function is giving unexpected values php(Trim函数提供了意外的值php)
Basic PDO connection to MySQL(到MySQL的基本PDO连接)
PHP number_format returns 1.00(Php number_Format返回1.00)