これは、実際には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:私の質問は本当に問題ではありませんが、他の人にも知ってもらうのはいいことだと思いました。
URIの標準は STD 66 であり、現在 RFC 3986 にマッピングされています。
セクション3.4 では、クエリコンポーネントに何を含めることができるかが定義されています。 (エンコードされていない<
を含めることはできません)。
ただし、クエリコンポーネントに表示される可能性のある文字(=
など)の意味は定義されていません。 key=value
のようなフォーマットの使用は、一般的なURI標準に関する限り、単なる慣例です。
特定の RIスキーム はそのような意味を定義する可能性がありますが、http
URIスキーム しないようです 。
したがって、意味的には、foo/bar
、CompanyId!=5
、またはCompanyId-is-not-equal-to-5
を使用しても違いはありません。それらは単なるキャラクターであり、それらを解釈するのは消費者次第です。