Tutte le richieste HTTP incluse le credenziali devono essere fatte usando un POST anche se in realtà è solo una richiesta di dati?

1

Supponiamo che ci sia una richiesta che sta andando a cercare un elenco di elementi da un servizio che richiede l'autorizzazione (ad esempio, è dietro un dominio di autenticazione di base). Se il servizio non richiedesse l'autenticazione, farei sempre questa richiesta come GET (è idempotente). Ma poiché le credenziali finirebbero nella stringa di query, sono fondamentalmente richiesto di farlo come POST. C'è qualche alternativa a questo metodo?

    
posta Chris Cooper 30.07.2014 - 12:58
fonte

2 risposte

2

Se lasci che il browser gestisca l'autenticazione, verrà visualizzata una schermata di accesso. I risultati verranno inclusi nell'intestazione di una richiesta anziché come parametri di query. Questa intestazione di accesso verrà inclusa in ogni richiesta dopo che l'utente ha effettuato l'accesso fino alla chiusura del browser.

Se si desidera il proprio modulo di accesso, sarà necessario POST l'id e la password per impedire che diventino parametri di query. Dopo il login, è necessario utilizzare un meccanismo per tracciare il login. Questo di solito viene fatto con un cookie di identificazione di sessione, sebbene ci siano meccanismi per includere l'ID di sessione nell'URL. Con gli ID di sessione, l'ID utente e la password devono essere inviati solo una volta. Questo è più sicuro se si consente all'utente di accedere al sito utilizzando HTTP dopo l'accesso. Prendi in considerazione l'utilizzo di un cookie sicuro per l'ID di sessione se desideri limitare l'accesso registrato a HTTPS.

    
risposta data 30.07.2014 - 14:55
fonte
0

Dipende davvero. Ad esempio, potresti avere una richiesta di POST per interrogare l'ora corrente (o la memoria utilizzata corrente nel processo del server, o il numero di richieste HTTP elaborate). Deve essere un POST perché è non idempotente, ma potresti decidere di accettare una richiesta di query di stato semplice anche senza credenziali o autenticazioni.

    
risposta data 30.08.2014 - 08:31
fonte

Leggi altre domande sui tag