Metoda POST w HTTP
Słownik kwalifikacji INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
POST to metoda protokołu HTTP używana najczęściej do wysyłania danych z formularzy HTML do serwera. Dane nie są dopisywane do adresu URL, lecz przesyłane w treści żądania HTTP.
Cechy metody POST
- dane formularza nie są widoczne bezpośrednio w pasku adresu przeglądarki,
- nadaje się do przesyłania większej ilości danych niż GET,
- jest typowo używana przy logowaniu, rejestracji, zamówieniach, komentarzach i formularzach kontaktowych,
- żądanie POST zwykle zmienia stan aplikacji, np. zapisuje dane w bazie.
Przykład formularza HTML
<form action="logowanie.php" method="post">
<input type="text" name="login">
<input type="password" name="haslo">
<button type="submit">Zaloguj</button>
</form>
W PHP dane z takiego formularza można odczytać przez tablicę $_POST:
$login = $_POST['login'];
$haslo = $_POST['haslo'];
POST a bezpieczeństwo
Metoda POST jest lepsza od GET dla danych poufnych, ponieważ nie pokazuje danych w adresie URL, historii przeglądarki ani zakładkach. Nie oznacza to jednak, że sama metoda POST szyfruje dane.
Aby bezpiecznie przesyłać hasła, numery telefonów czy dane kart płatniczych, strona powinna działać przez HTTPS, czyli z użyciem certyfikatu SSL/TLS.
Ważne na egzaminie
Jeżeli w pytaniu porównywane są GET i POST, to POST wybiera się wtedy, gdy dane nie powinny być widoczne w adresie URL, np. przy formularzu logowania.