Metodele de cerere HTTP explicate
HTTP definește nouă metode standard de cerere, dar majoritatea traficului zilnic folosește doar câteva. Acest tabel explică fiecare metodă, dacă este sigură și idempotentă, și codurile returnate de un apel reușit.
| Metodă | Scop | Sigur? | Idempotent? | Stare de succes |
|---|---|---|---|---|
| GET | Retrieve a resource | Yes | Yes | 200 OK |
| HEAD | Retrieve headers only, no body | Yes | Yes | 200 OK |
| POST | Create a resource or trigger an action | No | No | 201 Created |
| PUT | Replace a resource entirely | No | Yes | 200 OK / 204 No Content |
| PATCH | Apply a partial update | No | No | 200 OK |
| DELETE | Remove a resource | No | Yes | 200 OK / 204 No Content |
| OPTIONS | CORS preflight; list allowed methods | Yes | Yes | 204 / 200 OK |
| TRACE | Echo the request back for diagnostics | Yes | Yes | 200 OK |
| CONNECT | Open a tunnel, e.g. HTTPS via a proxy | No | No | 200 OK |
Note
- Sigur înseamnă că metoda nu schimbă niciodată starea serverului: doar GET, HEAD, OPTIONS și TRACE sunt sigure.
- Idempotent înseamnă că repetarea apelului dă același rezultat ca un singur apel: PUT, DELETE și GET se califică; POST și PATCH nu.
- Când o rută nu acceptă o metodă, serverul răspunde 405 Method Not Allowed și include de obicei antetul Allow.
Întrebări frecvente
- Care este diferența dintre GET și POST?
- GET preia o resursă fără efecte secundare și poate fi repetat în siguranță; parametrii călătoresc în URL. POST creează ceva sau declanșează o acțiune, poate schimba starea și nu trebuie repetat orbește.
- Ce înseamnă ca o metodă HTTP să fie sigură?
- O metodă sigură nu modifică niciodată starea serverului, deci poate fi apelată fără risc. GET, HEAD, OPTIONS și TRACE sunt sigure; POST, PUT, PATCH și DELETE nu.
- Care este diferența dintre PUT și PATCH?
- PUT înlocuiește întreaga resursă cu ceea ce trimiteți; PATCH aplică o modificare parțială doar asupra câmpurilor selectate. PUT este idempotent, repetarea dă același rezultat; PATCH în general nu este.
- Ce face metoda HEAD?
- HEAD se comportă ca GET, dar nu returnează corpul răspunsului. Este utilă pentru a verifica dacă o resursă există, dimensiunea sau antetele ei, fără a descărca tot conținutul.