Come vengono trasferiti i dati POST / PUT / DELETE alle API?

3

So che i dati vengono trasmessi tramite HTTP, ma non sono sicuro se dovrei passare dati attraverso intestazioni HTTP o corpi HTTP. Qual è la convenzione per le API?

Inoltre, usando teoricamente PHP, che sarebbe più facile da elaborare? In base a ciò che so, utilizzare le intestazioni sembra essere il metodo più semplice.

corpo POST

POST /api/v1/test_params.json HTTP/1.1
Host: rollrbla.de
Content-Length: 59
X-Target-URI: http://rollrbla.de
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Connection: Keep-Alive

Test-Parameter-1=Test-value-1&Test-Parameter-2=Test-Value-2

intestazione POST

POST /api/v1/test_params.json HTTP/1.1
Test-Parameter-2: Test-Value-2
Host: rollrbla.de
Test-Parameter-1: Test-Value-1
Content-Length: 0
X-Target-URI: http://rollrbla.de
Connection: Keep-Alive

Nel complesso, quale sarebbe il modo migliore per elaborare questi dati e qual è la convenzione?

    
posta Dubstaphone 11.01.2016 - 21:50
fonte

2 risposte

12

Il corpo.

Le intestazioni dovrebbero descrivere la richiesta, non incapsulare il suo carico utile.

Le intestazioni sono meta-dati .

    
risposta data 11.01.2016 - 22:35
fonte
2

Ho esaminato l'aspetto di una richiesta usando parametri del corpo e parametri di intestazione e anche alcuni esempi di PHP (grazie a @RobertHarvey) e ho concluso che i parametri del corpo sono il modo migliore per andare, poiché non lo fanno richiedono funzioni speciali da leggere in PHP. Non ero sicuro di cosa fossero, ma ora capisco completamente.

Corpo POST

POST /api/v1/test_params.json HTTP/1.1
Host: rollrbla.de
Content-Length: 59
X-Target-URI: http://rollrbla.de
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Connection: Keep-Alive

Test-Parameter-1=Test-value-1&Test-Parameter-2=Test-Value-2

... è il modo migliore per andare. Grazie a tutti quelli che mi hanno aiutato a raggiungere questa conclusione.

    
risposta data 11.01.2016 - 22:20
fonte

Leggi altre domande sui tag