Mel*_*emi 6 parameters url cocoa cocoa-touch nsurl
我想-[NSURL parameterString]用来解析我已经传递的URL的参数.它说URL必须符合RFC 1808,但现在想知道我们的吗?!?我们使用类似的东西:
http://server/path/query?property1=value1&property2=value2
但RFC 1808从未提及&符号(&)作为有效的参数分隔符(至少我读它的方式).它表示分号(;).也许是因为它是在1995年起草的?有&取代了; ?如果是这样,任何人都验证NSURL的parameterString是否也将使用&作为分隔符进行解析?
在挖掘大洞之前,"正确"的方式是什么?
小智 8
根据RFC 1808(2.1.URL语法组件),正确的语法如下:
<scheme>://<net_loc>/<path>;<params>?<query>#<fragment>
Run Code Online (Sandbox Code Playgroud)
它说查询信息的格式符合RFC 1738的3.3节,它告诉我们:
"在路径和searchpart组件中,"/",";","?"是保留的."
对我来说,上面说你的URL路径(到您的CGI)是:
http://server/path/query
Run Code Online (Sandbox Code Playgroud)
并且查询是:
property1=value1&property2=value2
Run Code Online (Sandbox Code Playgroud)
其中不包含任何保留字符.所以你没事.实际上,在这里使用"&"作为查询字符串中的分隔符来自CGI规范而不是URL RFC:
"表单数据是由&字符分隔的名称=值对的流."
| 归档时间: |
|
| 查看次数: |
5213 次 |
| 最近记录: |