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

2023-10-13php开发问题
0

本文介绍了使用没有值的 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 中)是一种不好的做法吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

The End

相关推荐

PHP实现DeepL翻译API调用
DeepL的翻译效果还是很强大的,如果我们要用php实现DeepL翻译调用,该怎么办呢?以下是代码示例,希望能够帮到需要的朋友。 在这里需要注意,这个DeepL的账户和api申请比较难,不支持中国大陆申请,需要拥有香港或者海外信用卡才行,没账号的话,目前某宝可以...
2025-08-20 php开发问题
168

PHP通过phpspreadsheet导入Excel日期数据处理方法
PHP通过phpspreadsheet导入Excel日期,导入系统后,全部变为了4开头的几位数字,这是为什么呢?原因很简单,将Excel的时间设置问文本,我们就能看到该日期本来的数值,上图对应的数值为: 要怎么解决呢?进行数据转换就行,这里可以封装方法,或者用第三方的...
2024-10-23 php开发问题
287

mediatemple - 无法使用 codeigniter 发送电子邮件
mediatemple - can#39;t send email using codeigniter(mediatemple - 无法使用 codeigniter 发送电子邮件)...
2024-08-23 php开发问题
11

Laravel Gmail 配置错误
Laravel Gmail Configuration Error(Laravel Gmail 配置错误)...
2024-08-23 php开发问题
16

将 PHPMailer 用于 SMTP 的问题
Problem with using PHPMailer for SMTP(将 PHPMailer 用于 SMTP 的问题)...
2024-08-23 php开发问题
4

关于如何在 GoDaddy 服务器中使用 PHPMailer 设置 SMTP 的问题
Issue on how to setup SMTP using PHPMailer in GoDaddy server(关于如何在 GoDaddy 服务器中使用 PHPMailer 设置 SMTP 的问题)...
2024-08-23 php开发问题
17