web-dev-qa-db-ja.com

?var!= valueのようなクエリ文字列の異なる演算子

これは、実際には2つの質問で構成されます。

クエリ文字列内に等しい(=)とは異なるオペランドを使用することを提案するAPIに出くわしたいくつかのAPIを調べました( http://www.salesboard.com/api/ ):

mycompany.salesboard.com/api/contacts?CompanyId!=5
or
mycompany.salesboard.com/api/contacts?Id<=5

それは可能ですか? 「可能」とは、つまり、それが基準に従って合法かどうかということです。そして、もしそうなら、そのようなURLを使用することで起こりうる問題は何ですか(互換性、ブラウザサポートなど)。

質問の2番目の部分は次のとおりです。PHPでこのようなURLを解析する最良の方法は何ですか?

PS:私の質問は本当に問題ではありませんが、他の人にも知ってもらうのはいいことだと思いました。

4
Aslabs

URIの標準は STD 66 であり、現在 RFC 3986 にマッピングされています。

セクション3.4 では、クエリコンポーネントに何を含めることができるかが定義されています。 (エンコードされていない<を含めることはできません)。

ただし、クエリコンポーネントに表示される可能性のある文字(=など)の意味は定義されていません。 key=valueのようなフォーマットの使用は、一般的なURI標準に関する限り、単なる慣例です。

特定の RIスキーム はそのような意味を定義する可能性がありますが、http URIスキーム しないようです

したがって、意味的には、foo/barCompanyId!=5、またはCompanyId-is-not-equal-to-5を使用しても違いはありません。それらは単なるキャラクターであり、それらを解釈するのは消費者次第です。

4
unor