Nwlapcug.com


Qual è la differenza tra HTTP GET e HTTP POST?

Qual è la differenza tra HTTP GET e HTTP POST?


Quando si invia un modulo, uno dei due metodi è utilizzato dietro le quinte per trasmettere i dati di quella forma di qualunque pagina Web o il codice è progettato per leggerlo. A seconda delle circostanze, il metodo sarà GET o POST. Entrambi possono essere utilizzati per gestire lo stesso tipo di dati, ma ci sono chiare e importanti differenze tra GET e POST. Per motivi di praticità, usabilità e sicurezza, ogni situazione si chiama in genere per uno specifico tipo di modulo di richiesta.

FATTI contro il POST

Strettamente parlando, la differenza tra GET e POST si trova in modalità di trasferimento delle richieste. OTTENERE informazioni sono trasmesso nell'URL. Se non hai mai visto un URL incluso punti interrogativi e le e commerciali, che stavi guardando una richiesta GET: example.com/request.php?var1=foo & var2 = bar è una stringa GET che codifica la variabile "var1" come "foo" e la variabile "var2" come "bar." POST informazioni è incluso nel corpo della richiesta e non è visibile nella stringa dell'URL (e, quindi, non visibile all'utente).

Guida di riferimento convenzionale

Formalmente, le linee guida HTML dire che ottenere devono essere utilizzate per "idempotente" richieste, o che non cambia nulla. Per esempio, Immaginate una pagina Web che ha restituito il meteo locale: "l'example.com/weather.php?zipcode=12345". L'atto di invio di tale richiesta di più e più volte non cambia nulla. POST deve essere utilizzato per le richieste che non sono idempotenti. Si supponga, ad esempio, che si stavano facendo un acquisto con carta di credito. Presentazione di apposita istanza più e più volte potrebbe portare ad alcune modifiche abbastanza grande. Perché inviare nuovamente una richiesta POST ha conseguenze (anche se sono minori), browser web di solito pop una richiesta all'utente di confermare che effettivamente vogliono eseguire nuovamente la query del modulo.

Vantaggi di GET

GET ha un certo numero di vantaggi rispetto ai POST. Perché GET è codificato come parte di un URL, è possibile tagliare e incollare l'URL e condividere con altre persone. Le richieste GET può anche essere segnalibro. Se si controlla regolarmente il tuo tempo, è possibile aggiungere "l'example.com/weather.php?zipcode=12345" alla barra di "Preferiti" del tuo browser, in modo che cliccando su quel link automaticamente carica la pagina meteo personalizzati. Poiché le richieste GET sono visibili (e modificabile) da parte dell'utente, può anche essere violati. Per esempio, se il sito di meteo non offerta un modo ovvio per modificare il percorso della richiesta Meteo, si potrebbe modificare manualmente "12345" a "99762" a guardare il tempo a Nome, Alaska invece il tempo a Schenectady.

Quando utilizzare POST

Anche in situazioni che sono idempotenti, POST ha usi chiari occasionali. Alcuni di questi sono basati sulla sicurezza o la legalità. OTTENERE variabili sono trasmesse "in"chiaro, così non volete inviare informazioni sulla carta di credito, numeri di previdenza sociale, password o dati sensibili tramite GET. Poiché i dati POST sono oscurati, è preferibile in quelle situazioni. POST viene utilizzato anche per la trasmissione di grandi quantità di dati, anche se i dati non sensibili. Tecnicamente, gli URL (e quindi le variabili GET) possono essere di lunghezza illimitata. Ma perché molti browser limitare quanto spazio può occupare un URL, GET è solitamente considerato adatto solo per le richieste relativamente breve.