W żądaniu HTTP GET, parametry są wysyłane jako łańcuch zapytania:
http://example.com/page?parameter=value&also=another
W żądaniu HTTP POST parametry nie są wysyłane razem z URI.
***Gdzie są te wartości? W nagłówku żądania? W treści żądania? Jak to wygląda?
Treść jest umieszczana za nagłówkami HTTP. Format HTTP POST składa się z nagłówków HTTP, po których następuje pusty wiersz, a następnie treść żądania. Zmienne POST są przechowywane w treści jako pary klucz-wartość.
Możesz to zobaczyć w surowej zawartości HTTP Post, pokazanej poniżej:
POST /path/script.cgi HTTP/1.0
From: [email protected]
User-Agent: HTTPTool/1.0
Content-Type: application/x-www-form-urlencoded
Content-Length: 32
home=Cosby&favorite+flavor=flies
Możesz to zobaczyć używając narzędzia takiego jak Fiddler, którego możesz użyć do obserwowania surowych żądań HTTP i payloadów odpowiedzi wysyłanych przez kabel.
Nie można go wpisać bezpośrednio na pasku adresu URL przeglądarki.
Możesz zobaczyć jak dane POST są przesyłane w Internecie na przykład za pomocą Live HTTP Headers. Rezultat będzie wyglądał mniej więcej tak
http://127.0.0.1/pass.php
POST /pass.php HTTP/1.1
Host: 127.0.0.1
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:18.0) Gecko/20100101 Firefox/18.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
DNT: 1
Referer: http://127.0.0.1/pass.php
Cookie: passx=87e8af376bc9d9bfec2c7c0193e6af70; PHPSESSID=l9hk7mfh0ppqecg8gialak6gt5
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 30
username=zurfyx&pass=password
Gdzie jest napisane
Content-Length: 30
username=zurfyx&pass=password
będą to wartości postów.