HTTP: Quina diferència hi ha entre GET i POST?


Resposta 1:

HTTP:

Les sol·licituds POST subministren dades addicionals del client (navegador) al servidor del cos de missatges.

En canvi, les sol·licituds GET inclouen totes les dades necessàries a l’URL. Els formularis en HTML poden utilitzar qualsevol mètode especificant method = "POST" o method = "GET" (predeterminat) a la secció element.

El mètode especificat determina com s'envien les dades del formulari al servidor. Quan el mètode és GET, totes les dades del formulari es codifiquen a l’URL, adjuntant-se a l’URL d’acció com a paràmetres de cadena de consulta. Amb POST, les dades del formulari apareixen al cos de missatges de la sol·licitud HTTP.

Gràcies!

Tingueu en contacte:

Empreses de disseny web de Bangalore, Empresa de desenvolupament de llocs web Bangalore, Disseny de llocs web Bangalore, Desenvolupament web Bangalore


Resposta 2:

GET i POST són dos tipus diferents de sol·licituds HTTP.

Segons Wikipedia:

GET sol·licita una representació del recurs especificat. Tingueu en compte que GET no s'ha d'utilitzar per a operacions que causin efectes secundaris, com ara utilitzar-lo per realitzar accions en aplicacions web. Un dels motius d’això és que els robots o rastrejadors poden ser utilitzats GET de manera arbitrària, cosa que no hauria de tenir en compte els efectes secundaris que pot provocar una sol·licitud.

i

POST envia dades que s’han de processar (per exemple, des d’un formulari HTML) al recurs identificat. Les dades s’inclouen al cos de la sol·licitud. Això pot donar lloc a la creació d'un nou recurs o a les actualitzacions dels recursos existents o als dos.

De manera essencial, GET s'utilitza per recuperar dades remotes i POST s'utilitza per inserir / actualitzar dades remotes.

Especificació HTTP / 1.1 (RFC 2616) secció 9 Definicions del mètode conté més informació sobre GETand POST i sobre els altres mètodes HTTP, si us interessa.

A més d’explicar els usos previstos de cada mètode, l’especificació també ofereix almenys una raó pràctica per la qual GET només s’ha d’utilitzar per recuperar dades:

Els autors de serveis que utilitzin el protocol HTTP NO haurien d’utilitzar formularis basats en GET per a l’enviament de dades confidencials, perquè això farà que es codifiquin aquestes dades a l’URI de Sol·licitud. Molts servidors, proxies i agents d’usuari existents registraran l’URI de sol·licitud en algun lloc on pugui ser visible per a tercers. En el seu lloc, els servidors poden utilitzar enviament de formularis basat en POST

Finalment, una consideració important quan s’utilitza GET per a sol·licituds AJAX és que alguns navegadors (en particular, IE) cauran els resultats d’una sol·licitud GET. De manera que si, per exemple, realitzeu un sondeig mitjançant el mateix GETrequest, sempre obtindreu els mateixos resultats, fins i tot si les dades que esteu consultant s’actualitzen al servidor. Una forma de pal·liar aquest problema és fer que l’URL sigui única per a cada sol·licitud si s’adjunta una marca de temps.


Resposta 3:

En paraules senzilles,

Amb un mètode GET, envieu les vostres dades mitjançant l’URL. Mentre que, amb un mètode POST, les dades s’incorporen a l’objecte del formulari i s’envien directament des del vostre navegador al servidor.

Ambdós poden transmetre les dades, però sempre és millor utilitzar POST per enviar dades que es graven per assegurar-se que es conserva la integritat de les dades (en cas de proxies i normes de tallafoc).


Resposta 4:

GET i POST no són del tot segurs i s’han de verificar les dades enviades a través d’aquestes consultes abans de fer-ho.

Normalment utilitzem GET per identificar i renderitzar dinàmicament pàgines i POST per enviar dades de formulari, però no sempre és així.

GET també té un límit molt reduït de bytes que podeu enviar en comparació amb el POST molt menys limitat.

Per exemple, Google utilitza GET en forma de pàgina principal perquè el resultat ha de ser marcat fàcilment i per compartir-lo.