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
Ściąga metod HTTP
======================

Uwagi: „Bezpieczna” oznacza, że metoda nie powinna zmieniać stanu serwera. „Idempotentna” oznacza, że powtórzenie tego samego żądania powinno prowadzić do tego samego stanu końcowego.

GET — Pobiera reprezentację zasobu.
  Bezpieczna: Tak | Idempotentna: Tak | Cache'owalna: Tak
  Treść żądania: Nietypowe (zwykle ignorowane).
  Typowe statusy: 200 OK, 304 Not Modified, 404 Not Found
  Kiedy używać: Użyj GET do odczytu danych bez zmiany stanu serwera. Preferuj parametry zapytania do filtrowania i paginacji.
  Uwagi: GET jest domyślną metodą do odczytów i najlepiej współpracuje z pamięcią podręczną oraz narzędziami przeglądarki.
  Przykład: curl -i "https://api.example.com/v1/users?limit=20"

----------------------------

POST — Tworzy zasób lub wywołuje przetwarzanie po stronie serwera.
  Bezpieczna: Nie | Idempotentna: Nie | Cache'owalna: Nie
  Treść żądania: Częste (dane do utworzenia, wejście komendy).
  Typowe statusy: 201 Created, 202 Accepted, 200 OK, 400 Bad Request, 409 Conflict
  Kiedy używać: Użyj POST, gdy serwer decyduje o URI nowego zasobu, lub gdy wysyłasz komendę/przepływ pracy.
  Uwagi: Jeśli potrzebujesz bezpiecznych powtórzeń, rozważ klucze idempotencji lub alternatywne rozwiązania.
  Przykład: curl -i -X POST "https://api.example.com/v1/users" -H "Content-Type: application/json" -d '{"name":"Ada"}'

----------------------------

PUT — Tworzy lub zastępuje zasób pod znanym URI.
  Bezpieczna: Nie | Idempotentna: Tak | Cache'owalna: Nie
  Treść żądania: Częste (pełna reprezentacja).
  Typowe statusy: 200 OK, 204 No Content, 201 Created, 400 Bad Request, 404 Not Found
  Kiedy używać: Użyj PUT dla pełnej semantyki zastąpienia, gdy klient znający docelowe URI może wysłać kompletną reprezentację.
  Uwagi: Ponieważ PUT jest idempotentne, powtórzenie tego samego żądania powinno prowadzić do tego samego stanu końcowego.
  Przykład: curl -i -X PUT "https://api.example.com/v1/users/123" -H "Content-Type: application/json" -d '{"name":"Ada"}'

----------------------------

DELETE — Usuwa zasób.
  Bezpieczna: Nie | Idempotentna: Tak | Cache'owalna: Nie
  Treść żądania: Nietypowe.
  Typowe statusy: 204 No Content, 200 OK, 404 Not Found
  Kiedy używać: Użyj DELETE do usunięcia zasobu wskazanego przez URI. Rozważ mechanizm soft-delete, jeśli odzyskiwanie ma znaczenie.
  Uwagi: DELETE jest idempotentne: usunięcie tego samego zasobu dwukrotnie powinno dać ten sam stan końcowy (zasób nieobecny).
  Przykład: curl -i -X DELETE "https://api.example.com/v1/users/123"

----------------------------

PATCH — Wprowadza częściową aktualizację zasobu.
  Bezpieczna: Nie | Idempotentna: Zwykle tak (zależy od formatu poprawki). | Cache'owalna: Nie
  Treść żądania: Częste (częściowe zmiany).
  Typowe statusy: 200 OK, 204 No Content, 400 Bad Request, 404 Not Found, 409 Conflict
  Kiedy używać: Użyj PATCH, gdy chcesz zaktualizować tylko niektóre pola lub zastosować dobrze zdefiniowany zestaw zmian.
  Uwagi: PATCH może być idempotentne, ale niektóre formaty poprawek (np. „zwiększenie”) nie są.
  Przykład: curl -i -X PATCH "https://api.example.com/v1/users/123" -H "Content-Type: application/json" -d '{"email":"[email protected]"}'

----------------------------

OPTIONS — Opisuje opcje komunikacji dla docelowego zasobu.
  Bezpieczna: Tak | Idempotentna: Tak | Cache'owalna: Nie
  Treść żądania: Nietypowe.
  Typowe statusy: 204 No Content, 200 OK
  Kiedy używać: Użyj OPTIONS, aby odkryć wspierane metody lub do żądań preflight CORS w przeglądarce.
  Uwagi: Poprawne odpowiedzi OPTIONS są istotne dla klientów przeglądarkowych korzystających z CORS.
  Przykład: curl -i -X OPTIONS "https://api.example.com/v1/users"

----------------------------
view: detailed view label: Szczegółowy download format: txt download txt: Ściąga metod HTTP ====================== Uwagi: „Bezpieczna” oznacza, że metoda nie powinna zmieniać stanu serwera. „Idempotentna” oznacza, że powtórzenie tego samego żądania powinno prowadzić do tego samego stanu końcowego. GET — Pobiera reprezentację zasobu. Bezpieczna: Tak | Idempotentna: Tak | Cache'owalna: Tak Treść żądania: Nietypowe (zwykle ignorowane). Typowe statusy: 200 OK, 304 Not Modified, 404 Not Found Kiedy używać: Użyj GET do odczytu danych bez zmiany stanu serwera. Preferuj parametry zapytania do filtrowania i paginacji. Uwagi: GET jest domyślną metodą do odczytów i najlepiej współpracuje z pamięcią podręczną oraz narzędziami przeglądarki. Przykład: curl -i "https://api.example.com/v1/users?limit=20" ---------------------------- POST — Tworzy zasób lub wywołuje przetwarzanie po stronie serwera. Bezpieczna: Nie | Idempotentna: Nie | Cache'owalna: Nie Treść żądania: Częste (dane do utworzenia, wejście komendy). Typowe statusy: 201 Created, 202 Accepted, 200 OK, 400 Bad Request, 409 Conflict Kiedy używać: Użyj POST, gdy serwer decyduje o URI nowego zasobu, lub gdy wysyłasz komendę/przepływ pracy. Uwagi: Jeśli potrzebujesz bezpiecznych powtórzeń, rozważ klucze idempotencji lub alternatywne rozwiązania. Przykład: curl -i -X POST "https://api.example.com/v1/users" -H "Content-Type: application/json" -d '{"name":"Ada"}' ---------------------------- PUT — Tworzy lub zastępuje zasób pod znanym URI. Bezpieczna: Nie | Idempotentna: Tak | Cache'owalna: Nie Treść żądania: Częste (pełna reprezentacja). Typowe statusy: 200 OK, 204 No Content, 201 Created, 400 Bad Request, 404 Not Found Kiedy używać: Użyj PUT dla pełnej semantyki zastąpienia, gdy klient znający docelowe URI może wysłać kompletną reprezentację. Uwagi: Ponieważ PUT jest idempotentne, powtórzenie tego samego żądania powinno prowadzić do tego samego stanu końcowego. Przykład: curl -i -X PUT "https://api.example.com/v1/users/123" -H "Content-Type: application/json" -d '{"name":"Ada"}' ---------------------------- DELETE — Usuwa zasób. Bezpieczna: Nie | Idempotentna: Tak | Cache'owalna: Nie Treść żądania: Nietypowe. Typowe statusy: 204 No Content, 200 OK, 404 Not Found Kiedy używać: Użyj DELETE do usunięcia zasobu wskazanego przez URI. Rozważ mechanizm soft-delete, jeśli odzyskiwanie ma znaczenie. Uwagi: DELETE jest idempotentne: usunięcie tego samego zasobu dwukrotnie powinno dać ten sam stan końcowy (zasób nieobecny). Przykład: curl -i -X DELETE "https://api.example.com/v1/users/123" ---------------------------- PATCH — Wprowadza częściową aktualizację zasobu. Bezpieczna: Nie | Idempotentna: Zwykle tak (zależy od formatu poprawki). | Cache'owalna: Nie Treść żądania: Częste (częściowe zmiany). Typowe statusy: 200 OK, 204 No Content, 400 Bad Request, 404 Not Found, 409 Conflict Kiedy używać: Użyj PATCH, gdy chcesz zaktualizować tylko niektóre pola lub zastosować dobrze zdefiniowany zestaw zmian. Uwagi: PATCH może być idempotentne, ale niektóre formaty poprawek (np. „zwiększenie”) nie są. Przykład: curl -i -X PATCH "https://api.example.com/v1/users/123" -H "Content-Type: application/json" -d '{"email":"[email protected]"}' ---------------------------- OPTIONS — Opisuje opcje komunikacji dla docelowego zasobu. Bezpieczna: Tak | Idempotentna: Tak | Cache'owalna: Nie Treść żądania: Nietypowe. Typowe statusy: 204 No Content, 200 OK Kiedy używać: Użyj OPTIONS, aby odkryć wspierane metody lub do żądań preflight CORS w przeglądarce. Uwagi: Poprawne odpowiedzi OPTIONS są istotne dla klientów przeglądarkowych korzystających z CORS. Przykład: curl -i -X OPTIONS "https://api.example.com/v1/users" ---------------------------- download json: [ { "method": "GET", "summary": "Pobiera reprezentacj\u0119 zasobu.", "request_body": "Nietypowe (zwykle ignorowane).", "typical_status": [ "200 OK", "304 Not Modified", "404 Not Found" ], "when": "U\u017cyj GET do odczytu danych bez zmiany stanu serwera. Preferuj parametry zapytania do filtrowania i paginacji.", "notes": "GET jest domy\u015bln\u0105 metod\u0105 do odczyt\u00f3w i najlepiej wsp\u00f3\u0142pracuje z pami\u0119ci\u0105 podr\u0119czn\u0105 oraz narz\u0119dziami przegl\u0105darki.", "safe": true, "idempotent": true, "cacheable": true, "example": "curl -i \"https://api.example.com/v1/users?limit=20\"" }, { "method": "POST", "summary": "Tworzy zas\u00f3b lub wywo\u0142uje przetwarzanie po stronie serwera.", "request_body": "Cz\u0119ste (dane do utworzenia, wej\u015bcie komendy).", "typical_status": [ "201 Created", "202 Accepted", "200 OK", "400 Bad Request", "409 Conflict" ], "when": "U\u017cyj POST, gdy serwer decyduje o URI nowego zasobu, lub gdy wysy\u0142asz komend\u0119/przep\u0142yw pracy.", "notes": "Je\u015bli potrzebujesz bezpiecznych powt\u00f3rze\u0144, rozwa\u017c klucze idempotencji lub alternatywne rozwi\u0105zania.", "safe": false, "idempotent": false, "cacheable": false, "example": "curl -i -X POST \"https://api.example.com/v1/users\" -H \"Content-Type: application/json\" -d '{\"name\":\"Ada\"}'" }, { "method": "PUT", "summary": "Tworzy lub zast\u0119puje zas\u00f3b pod znanym URI.", "request_body": "Cz\u0119ste (pe\u0142na reprezentacja).", "typical_status": [ "200 OK", "204 No Content", "201 Created", "400 Bad Request", "404 Not Found" ], "when": "U\u017cyj PUT dla pe\u0142nej semantyki zast\u0105pienia, gdy klient znaj\u0105cy docelowe URI mo\u017ce wys\u0142a\u0107 kompletn\u0105 reprezentacj\u0119.", "notes": "Poniewa\u017c PUT jest idempotentne, powt\u00f3rzenie tego samego \u017c\u0105dania powinno prowadzi\u0107 do tego samego stanu ko\u0144cowego.", "safe": false, "idempotent": true, "cacheable": false, "example": "curl -i -X PUT \"https://api.example.com/v1/users/123\" -H \"Content-Type: application/json\" -d '{\"name\":\"Ada\"}'" }, { "method": "DELETE", "summary": "Usuwa zas\u00f3b.", "request_body": "Nietypowe.", "typical_status": [ "204 No Content", "200 OK", "404 Not Found" ], "when": "U\u017cyj DELETE do usuni\u0119cia zasobu wskazanego przez URI. Rozwa\u017c mechanizm soft-delete, je\u015bli odzyskiwanie ma znaczenie.", "notes": "DELETE jest idempotentne: usuni\u0119cie tego samego zasobu dwukrotnie powinno da\u0107 ten sam stan ko\u0144cowy (zas\u00f3b nieobecny).", "safe": false, "idempotent": true, "cacheable": false, "example": "curl -i -X DELETE \"https://api.example.com/v1/users/123\"" }, { "method": "PATCH", "summary": "Wprowadza cz\u0119\u015bciow\u0105 aktualizacj\u0119 zasobu.", "request_body": "Cz\u0119ste (cz\u0119\u015bciowe zmiany).", "typical_status": [ "200 OK", "204 No Content", "400 Bad Request", "404 Not Found", "409 Conflict" ], "when": "U\u017cyj PATCH, gdy chcesz zaktualizowa\u0107 tylko niekt\u00f3re pola lub zastosowa\u0107 dobrze zdefiniowany zestaw zmian.", "notes": "PATCH mo\u017ce by\u0107 idempotentne, ale niekt\u00f3re formaty poprawek (np. \u201ezwi\u0119kszenie\u201d) nie s\u0105.", "safe": false, "idempotent": "Zwykle tak (zale\u017cy od formatu poprawki).", "cacheable": false, "example": "curl -i -X PATCH \"https://api.example.com/v1/users/123\" -H \"Content-Type: application/json\" -d '{\"email\":\"[email protected]\"}'" }, { "method": "OPTIONS", "summary": "Opisuje opcje komunikacji dla docelowego zasobu.", "request_body": "Nietypowe.", "typical_status": [ "204 No Content", "200 OK" ], "when": "U\u017cyj OPTIONS, aby odkry\u0107 wspierane metody lub do \u017c\u0105da\u0144 preflight CORS w przegl\u0105darce.", "notes": "Poprawne odpowiedzi OPTIONS s\u0105 istotne dla klient\u00f3w przegl\u0105darkowych korzystaj\u0105cych z CORS.", "safe": true, "idempotent": true, "cacheable": false, "example": "curl -i -X OPTIONS \"https://api.example.com/v1/users\"" } ] download csv: method,summary,request_body,typical_status,when,safe,idempotent,cacheable GET,"Pobiera reprezentację zasobu.","Nietypowe (zwykle ignorowane).","200 OK | 304 Not Modified | 404 Not Found","Użyj GET do odczytu danych bez zmiany stanu serwera. Preferuj parametry zapytania do filtrowania i paginacji.",Tak,Tak,Tak POST,"Tworzy zasób lub wywołuje przetwarzanie po stronie serwera.","Częste (dane do utworzenia, wejście komendy).","201 Created | 202 Accepted | 200 OK | 400 Bad Request | 409 Conflict","Użyj POST, gdy serwer decyduje o URI nowego zasobu, lub gdy wysyłasz komendę/przepływ pracy.",Nie,Nie,Nie PUT,"Tworzy lub zastępuje zasób pod znanym URI.","Częste (pełna reprezentacja).","200 OK | 204 No Content | 201 Created | 400 Bad Request | 404 Not Found","Użyj PUT dla pełnej semantyki zastąpienia, gdy klient znający docelowe URI może wysłać kompletną reprezentację.",Nie,Tak,Nie DELETE,"Usuwa zasób.",Nietypowe.,"204 No Content | 200 OK | 404 Not Found","Użyj DELETE do usunięcia zasobu wskazanego przez URI. Rozważ mechanizm soft-delete, jeśli odzyskiwanie ma znaczenie.",Nie,Tak,Nie PATCH,"Wprowadza częściową aktualizację zasobu.","Częste (częściowe zmiany).","200 OK | 204 No Content | 400 Bad Request | 404 Not Found | 409 Conflict","Użyj PATCH, gdy chcesz zaktualizować tylko niektóre pola lub zastosować dobrze zdefiniowany zestaw zmian.",Nie,"Zwykle tak (zależy od formatu poprawki).",Nie OPTIONS,"Opisuje opcje komunikacji dla docelowego zasobu.",Nietypowe.,"204 No Content | 200 OK","Użyj OPTIONS, aby odkryć wspierane metody lub do żądań preflight CORS w przeglądarce.",Tak,Tak,Nie

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!