cocoa – NSURL的parameterString混淆使用’;’ vs’&’

cocoa – NSURL的parameterString混淆使用’;’ vs’&’,第1张

概述我想使用 -[NSURL parameterString]来解析我传递的URL的参数.它说URL必须符合 RFC 1808但现在想知道我们的吗?!?我们使用类似的东西: ?HTTP://服务器/路径/查询property1 =值1&安培; property2 =值2 但RFC 1808从未提及&符号(&)作为有效的参数分隔符(至少我读它的方式).它表示分号(;).也许是因为它是在1995年起草的? 我想使用 -[NSURL parameterString]来解析我传递的URL的参数.它说URL必须符合 RFC 1808但现在想知道我们的吗?!?我们使用类似的东西:

?http://服务器/路径/查询property1 =值1&安培; property2 =值2

但RFC 1808从未提及&符号(&)作为有效的参数分隔符(至少我读它的方式).它表示分号(;).也许是因为它是在1995年起草的?有&取代了?如果有这样的话,任何人都要验证NSURL的parameterString是否也会用&作为分隔符?

在挖掘大洞之前,“正确”的方式是什么?

解决方法 根据RFC 1808(2.1.URL语法组件),正确的语法如下:

<scheme>://<net_loc>/<path>;<params>?<query>#<fragment>

它说查询信息的格式符合RFC 1738的3.3节,它告诉我们:

“在路径和searchpart组件中,”/“,”;“,”?“是保留的.”

对我来说,上面说你的URL路径(到您的CGI)是:

http://server/path/query

并且查询是:

property1=value1&property2=value2

其中不包含任何保留字符.所以你没事.实际上使用“&”作为查询字符串中的分隔符,这里派生自CGI specification而不是URL RFC:

“表单数据是由&字符分隔的名称=值对的流.”

总结

以上是内存溢出为你收集整理的cocoa – NSURL的parameterString混淆使用’;’ vs’&’全部内容,希望文章能够帮你解决cocoa – NSURL的parameterString混淆使用’;’ vs’&’所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1018199.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-23
下一篇2022-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存