Diversi operatori nella stringa di query come? var! = value

2

Questo potrebbe effettivamente essere 2 domande in una.

Studiando alcune API mi sono imbattuto in una API che suggerisce di avere operando diverso da uguale (=) all'interno della stringa di query ( link ):

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

È possibile ?? e per "possibile" intendo: è legale secondo gli standard? E se sì quali sono i possibili problemi per utilizzare un tale URL (compatibilità, supporto browser, ecc.)

Ora la seconda parte della domanda è: qual è il modo migliore per analizzare un URL come questo in PHP, qualcuno lo ha mai usato?

PS: La mia domanda non è un problema, ma ho pensato che sarebbe stato bello anche per gli altri.

    
posta Aslabs 16.10.2014 - 00:51
fonte

1 risposta

3

Lo standard per gli URI è STD 66 , che attualmente mappa su RFC 3986 .

Nella sezione 3.4 , è definito ciò che può contenere il componente di query. (Nota che non può contenere un < non codificato).

Tuttavia, non definisce alcun significato per i caratteri (come = ) che possono apparire nel componente di query. L'uso di un formato come key=value è solo una convenzione per quanto riguarda lo standard URI generale.

schemi URI specifici potrebbero definire tali significati, ma lo schema URI http non sembra .

Quindi semanticamente, non vi è alcuna differenza tra l'utilizzo di foo/bar , CompanyId!=5 o CompanyId-is-not-equal-to-5 . Sono solo personaggi e tocca ai consumatori interpretarli.

    
risposta data 16.10.2014 - 23:52
fonte

Leggi altre domande sui tag