Sprytne Okazje — promocje, kody rabatowe i wyprzedaże

Przewodnik po metodach HTTP

Poznaj wszystkie metody HTTP: GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS. Różnice, zastosowania, idempotentność. Dla programistów. Bezpłatnie.

Bezpieczne (SSL)
Przetwarzanie Lokalne
100% Darmowe
Instrukcja
  • 1
    Wprowadź dane
    Wpisz treść, wklej tekst lub załaduj plik z dysku.
  • 2
    Kliknij przycisk
    Narzędzie natychmiast przetworzy Twoje dane w przeglądarce.
  • 3
    Pobierz wynik
    Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
function runTool() {
  return "Wynik gotowy w 0.1s";
}
33 znaków
Ustaw parametry i kliknij „Przetwórz”, aby zobaczyć wynik.

Oceń to narzędzie:

Powiązane narzędzia

Inne narzędzia, które mogą Ci się przydać

Przewodnik po metodach HTTP – kompletny opis GET, POST, PUT, DELETE

Metody HTTP (HTTP verbs) definiują akcję jaką klient chce wykonać na zasobie serwera. Prawidłowe użycie metod HTTP jest podstawą projektowania REST API. Przewodnik omawia wszystkie metody: semantykę, idempotentność, bezpieczeństwo i praktyczne zastosowania.

metody HTTP GET POST PUT DELETE HTTP verbs REST API metody HTTP

Podstawowe metody HTTP

GET: pobierz zasób. Bezpieczna, idempotentna, brak body. POST: utwórz zasób lub wyślij dane. Nie jest idempotentna. PUT: zastąp zasób całkowicie. Idempotentna. PATCH: modyfikuj częściowo. DELETE: usuń zasób. Idempotentna (wielokrotne DELETE = ten sam efekt). HEAD: jak GET ale bez body (sprawdź nagłówki). OPTIONS: jakie metody obsługuje endpoint.

Bezpieczeństwo i idempotentność

Bezpieczna metoda: nie zmienia stanu serwera (GET, HEAD, OPTIONS). Idempotentna: wielokrotne żądanie = ten sam efekt (GET, PUT, DELETE, HEAD). POST: NIE jest idempotentna (wielokrotne = wielokrotne rekordy). PATCH: może być idempotentna zależy od implementacji. Praktyczne znaczenie: retry logic. Jeśli GET/PUT/DELETE timeout → bezpieczne ponowienie. POST → może zduplikować dane.

PUT vs PATCH

PUT: zastąp cały zasób. Musisz wysłać kompletną reprezentację. PUT /users/1 z {name:"Jan", email:"[email protected]"} → zastępuje wszystkie pola. PATCH: modyfikuj wybrane pola. PATCH /users/1 z {email:"[email protected]"} → zmienia tylko email. RFC 5789 definiuje PATCH. JSON Patch (RFC 6902): operacje add/remove/replace/move. JSON Merge Patch (RFC 7396): prostszy format.

Kody odpowiedzi HTTP dla metod

GET 200 OK (znaleziono), 404 Not Found. POST 201 Created (z nagłówkiem Location), 400 Bad Request. PUT 200 OK lub 204 No Content. PATCH 200 OK. DELETE 204 No Content (sukces bez body), 404 jeśli nie istnieje. OPTIONS 200 z nagłówkiem Allow: GET, POST, PUT, DELETE. HEAD: jak GET ale ciało odpowiedzi puste.

Najczęstsze pytania

Jaka jest różnica między POST a PUT?

POST: tworzy zasób, URL zasobu generowany przez serwer. POST /api/users → serwer decyduje o ID. PUT: zastępuje zasób pod konkretnym URL. PUT /api/users/123 → klient zna docelowy URL. POST nie jest idempotentny (dwa POST = dwa rekordy). PUT jest idempotentny (dwa PUT = jeden zasób). W REST API: POST dla create, PUT dla update/replace.

Kiedy używać PATCH zamiast PUT?

PATCH gdy chcesz zmienić tylko jedno/kilka pól i nie chcesz wysyłać całego obiektu. PUT jest lepszy gdy chcesz zastąpić zasób kompletnie. Przykład: user ma 20 pól. Zmiana emaila: PATCH /users/1 {email: "[email protected]"} (wysyłasz 1 pole). PUT wymagałoby wszystkich 20 pól. PATCH oszczędza bandwidth. Caveat: PATCH wymaga ostrożnej implementacji (partial update logic).

Dlaczego formularz HTML obsługuje tylko GET i POST?

Specyfikacja HTML4/5 (form method): tylko GET i POST. Historia: HTML starszy niż REST. Obejścia: method overriding (PUT/DELETE w ukrytym polu), AJAX (fetch/XHR może używać wszystkich metod). Framework: Laravel: @method('PUT') w formularzu. Django: podobne metody. W nowoczesnych aplikacjach SPA (React, Vue): AJAX + wszystkie metody HTTP.

Co to są idempotentne żądania i dlaczego ważne?

Idempotentność: f(f(x)) = f(x). Wielokrotne wywołanie daje ten sam wynik. Znaczenie praktyczne: retry on timeout. DELETE /orders/1: jeśli timeout → ponów → bezpieczne (404 jeśli już usunięte). POST /orders: jeśli timeout → NIEBEZPIECZNE ponowienie (zduplikowany order). Rozwiązanie dla POST: Idempotency-Key header (Stripe API). UUID w body żądania.

Jak testować metody HTTP w praktyce?

curl: curl -X GET https://api.example.com/users. curl -X POST -H "Content-Type: application/json" -d '{"name":"Jan"}' https://api.example.com/users. Postman: GUI dla HTTP requests. HTTPie: http POST api.example.com/users name=Jan. Thunder Client (VS Code extension). Insomnia. Dev Tools Network tab: sprawdź metody rzeczywistych żądań. Hoppscotch (open-source Postman alternative).

Powiązane narzedzia: tester API REST, analizator nagłówków HTTP i generator URL API.

Zobacz też — powiązane narzędzia

Zainstaluj Webp.pl Miej narzędzia we własnej kieszeni!