Sobes.tech
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.";
}
?>