Junior
Care sunt diferențele dintre metodele HEAD, GET, POST și PUT în HTTP?
sobes.tech AI
Răspuns de la AI
- HEAD: Solicită anteturi care ar fi obținute cu metoda GET, dar fără corpul răspunsului. Util pentru verificarea existenței unui resurs sau pentru obținerea de metadate. Idempotent și sigur.
- GET: Solicită vizualizarea unui resurs specificat. Folosit pentru extragerea datelor. Idempotent și sigur.
- POST: Trimite date pentru procesare către resursa specificată. Datele sunt incluse în corpul cererii. Folosit pentru crearea unui nou resurs sau trimiterea de date de formular. Nesigur și nu idempotent (cererile repetate pot crea duplicate).
- PUT: Trimite date pentru actualizarea sau crearea unui resurs la URI-ul specificat. Dacă resursa nu există, serverul poate să o creeze. Datele sunt incluse în corpul cererii. Idempotent (cererile repetate nu schimbă starea serverului după prima cerere de succes). Nesigur.
Diferențele cheie:
| Metodă | Scop | Corpul cererii | Corpul răspunsului (de obicei) | Idempotent | Sigur |
|---|---|---|---|---|---|
| HEAD | Obține anteturi | Nu | Nu | Da | Da |
| GET | Extrage resursa | Nu (de obicei) | Da | Da | Da |
| POST | Trimite date | Da | Da | Nu | Nu |
| PUT | Actualizează/creează resursa | Da | Da | Da | Nu |
Sigur înseamnă că cererea nu modifică starea serverului. Idempotent înseamnă că executarea repetată a aceleiași cereri duce la același rezultat pe server.