2012-02-21 15 views
5

Sto implementando un server REST.Quale è meglio, passare nome utente/password come parametri nell'intestazione HTTP o HTTP Body?

Ho intenzione di ricevere il nome utente, requestid e password per ogni richiesta da parte dell'utente.

Ho due possibilità, posso chiedere agli utenti di passare questi tre parametri nel corpo http o nell'intestazione http.

Quale sarà il modo migliore di implementare e perché?

Grazie in anticipo.

+0

Non è necessario trasmettere credenziali di autenticazione in testo normale. Cosa stai cercando di ottenere? Autenticazione utente, gestione delle sessioni? –

+0

autenticazione utente per ogni accesso. e possiamo inviare un valore criptato nell'intestazione e nel corpo. quindi quale sarà migliore? – Sarada

risposta

2

Intestazione!

Se ho capito la tua domanda, hai qualcosa che stai per passare con ogni singola richiesta. Ciò significa che se vuoi supportare richieste sicure come GET e HEAD, hai solo due scelte: le intestazioni HTTP o l'URL (in genere tramite parametri di query).

Poiché include le informazioni di autenticazione, è necessario evitare di inserirlo nell'URL. Oltre a questo, si dice che è crittografato e un ulteriore livello di protezione sarebbe quello di farlo su SSL, ma l'intestazione e il corpo sono ugualmente sicuri/vulnerabili, quindi non fa alcuna differenza dal punto di vista della sicurezza.

Inserendolo nell'intestazione si disaccoppia anche dallo stato dell'applicazione e anche dal tipo di supporto, che è una buona cosa. Se si desidera supportare i moduli JSON, XML e XHTML, non fa alcuna differenza per i parametri di autenticazione.

+0

grazie Jhericks. Ha chiarito i miei punti. – Sarada

Problemi correlati