带有URL的QR码,它是否 *真的* 需要包含 http:// 呢?

17

似乎我的iPhone上的大多数(如果不是全部)QR阅读器都可以很好地处理没有http://的URL,但我想知道这是否普遍适用? 安卓? 黑莓? 是否有RFC文章需要阅读?

我正在构建QR管理/ URL缩短系统,并想知道是否绝对必要。 如果不是,我可以从我的QR的URL中删除7个字符,并将它们降低到最低复杂度(16个字符或更少)。 根据我所了解的所有信息,这是一个好事™。


刚在安卓上尝试了条形码扫描器,它可以在没有http://的情况下工作。不过其他的我就不太清楚了。 - MartinodF
大多数QR阅读器会启动浏览器并假定http,但是忽略它肯定会让我烦恼。手机怎么知道你的意图是HTTP呢?它只是猜测。 - Brad
我刚试了几个比较冷门的扫描器(MAAD Qr和i-nigma),有些只显示为字符串,并没有意识到它是一个URL。这可能就是我的问题的答案。 - Dan Berlyoung
很遗憾的是,QR码生成器在URL的开头强制要求包含http://或www元素。在iOS上,可以通过使用应用程序的标识符而不是http://来处理特定应用程序的URL。例如:phyphox://some/url将把URL打开(或转发)到Phyphox应用程序。 - undefined
4个回答

16

我还没有找到任何明确的文件说明它必须有。但是...在测试了许多QR阅读器应用程序后,很明显其中许多应用程序会在URL中没有http://的情况下进行猜测。但有许多应用程序没有这样做,并将其显示为纯字符串。由于这是一个URL,所以它真的需要它。如果有任何应用程序无法读取它,那么我必须向它们低头并为所有应用程序添加它。


6
提醒一下:我们在若干个iOS应用程序和黑莓手机上遇到了关于没有“http://”的URL的问题。添加“http://”解决了我们能够测试的所有应用程序的问题。结论:在您的链接中始终加入http:// - Mario
在iOS上,可以通过将应用程序的内部名称添加到https之前,使Web资源被特定应用程序打开(转发)。例如:phyphox://some/url/to/xml - undefined

16

嗨,丹,我是Barcode Scanner的开发者,刚看到你的问题。我有一些额外的信息可能有所帮助。

这里没有真正的“标准”; 我想HTTP规范是最接近的东西,技术上它确实说你需要“http://”。这个维基包括了我们对该领域标准和事实标准的所有了解。

我可以告诉您,QR码有特殊模式仅编码数字和仅字母数字文本。字母模式仅包括大写字母,但包括冒号和斜杠等关键标点符号。因此,HTTP://EXAMPLE.ORG/BAR应该可以用更少的字节编码为QR码,而不是http://example.org/bar

URL本身是区分大小写的。将URL大写不一定是合适的。但服务器应用程序可能是不区分大小写的。如果您控制端点并知道可以使用所有大写字母,则可以通过这种方式来压缩版本1。

最后,我要说的是,版本1 QR码有点奇怪,因为它们没有对齐模式。没有第四个点可用于查找,它不能(嗯,Barcode Scanner和很多扫描仪使用的愚笨但有效的过程)考虑透视畸变。它只能在小角度倾斜下工作。但是版本2实际上具有对齐模式的一些优势,可更好地进行解码。


非常好的信息,Sean。谢谢!关于版本1代码没有额外参考点的有趣细节。我注意到了,但从未理解其影响。 - Dan Berlyoung
注意,有些二维码阅读器会识别以大写HTTP://或HTTPS://开头的URL,但无法打开它!因此,小写http://或https://似乎是必需的(这需要更多的位来编码,并导致稍微大一点的二维码)。 - jcaron

4

趣闻:三星Galaxy手机(例如S8和S9)将在其文本编辑器中打开包含“HTTP”或“HTTPS”(大写)的URL的QR码。使用小写的“http”或“https”创建相同的URL,该URL将按预期在浏览器中打开。


4
QR阅读器通常将符合以下任一条件的文本识别为URL:
  • 文本以http://(或HTTP://)开头。
  • 文本以www.开头。
  • 文本以MEBKM:开头(NTT DoCoMo的网络书签格式)。
如果您的URL以www.开头,则不需要http,但这不是您的情况。
正如肖恩指出的那样,您应该使用大写字母的URL。
在Version 1级L QR码中,可以容纳最多24个字母数字字符,并且就足够用作URL缩短服务。 例如:
HTTP://1QR.ES/AAAAAAAAAA

2
注意,有些二维码阅读器会识别以大写HTTP://或HTTPS://开头的URL,但无法打开它!因此,小写http://或https://似乎是必需的(这需要更多的位来编码,并导致稍微大一点的二维码)。 - jcaron
但是相关的主要是移动相机和操作系统,因为这是人们使用的,而且这与大写字母一起使用效果很好。我坚持使用大写字母使其编码大小友好。 - Logemann

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接