Intern
Jakie są rodzaje żądań HTTP?
sobes.tech AI
Odpowiedź od AI
Główne rodzaje żądań HTTP: GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS, TRACE, CONNECT.
Opis najczęściej używanych:
- GET: Żąda wyświetlenia określonego zasobu. Żądania tym metodą powinny pobierać tylko dane.
- POST: Wysyła dane do przetworzenia przez określony zasób. Częstym wynikiem jest zmiana stanu lub efekty uboczne na serwerze.
- PUT: Zastępuje wszystkie aktualne reprezentacje docelowego zasobu danymi z ciała żądania.
- DELETE: Usuwa wskazany zasób.
- PATCH: Wprowadza częściowe modyfikacje zasobu.
- HEAD: Żąda nagłówków tak jak
GET, ale bez ciała odpowiedzi. Używany do pobierania metadanych. - OPTIONS: Opisuje parametry komunikacji dla docelowego zasobu.
- CONNECT: Przekształca żądane połączenie w przezroczysty proxy TCP/IP.
- TRACE: Wykonuje test zwrotny na ścieżce do zasobu docelowego.
Różnice między GET a POST:
| Cecha | GET | POST |
|---|---|---|
| Cel | Pobranie danych | Wysłanie danych do przetworzenia |
| Przesyłanie danych | Przez parametry URL (Query String) | Przez ciało żądania |
| Bezpieczeństwo | Idempotentny (powtarzające się żądania nie zmieniają stanu) | Nie idempotentny |
| Widoczność danych | Widoczne w URL, zapisywane w historii przeglądarki, logi serwera | Nie widoczne w URL, nie zapisywane w historii przeglądarki |
| Rozmiar danych | Ograniczony długością URL | Bez ograniczeń (lub bardzo duży) |
| Keszowanie | Może być cache'owane | Nie jest cache'owane przez podstawowe środki |
| Zakładki | Można dodać stronę z parametrami GET do zakładek | Nie można (dla zwykłych metod wysyłki formularzy) |
Przykład użycia GET w PHP:
<?php
// Pobranie parametru 'id' z URL
$userId = $_GET['id'];
echo "ID użytkownika: " . htmlspecialchars($userId);
?>
Przykład użycia POST w PHP (przetwarzanie danych formularza):
<?php
// Sprawdzenie, czy żądanie jest metodą POST
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// Pobranie danych z ciała żądania
$username = $_POST['username'];
$password = $_POST['password'];
// Przetwarzanie danych (np. zapis do bazy)
echo "Nazwa użytkownika: " . htmlspecialchars($username) . "<br>";
echo "Odebrano hasło.";
}
?>