Sobes.tech
Junior

Mi a különbség a HTTP-kérések módszerei között?

sobes.tech MI

Válasz az MI-től

A HTTP-kérések módszerei közötti fő különbség azok szemantikájában és céljában rejlik:

  • GET: Egy megadott erőforrás megjelenítését kéri. Az adatok az URL-ben kerülnek átadásra. Az adatok lekérésére szolgál, és nem szabad mellékhatásokkal járnia (azaz idempotens és biztonságos legyen).
  • POST: Adatokat küld egy adott erőforrás által feldolgozandó módon. Erőforrások létrehozására vagy frissítésére használják. Az adatok a kérés törzsében kerülnek átadásra. Nem idempotens és nem biztonságos.
  • PUT: Felülírja a célzott erőforrás összes jelenlegi megjelenítését a kérés terhelésével. Erőforrás frissítésére vagy létrehozására használják, ha az nem létezik. Idempotens, de nem biztonságos.
  • DELETE: Törli a megadott erőforrást. Idempotens, de nem biztonságos.
  • PATCH: Részleges módosításokat alkalmaz egy erőforráson. Részleges frissítésre használják. Nem idempotens és nem biztonságos.
  • HEAD: Egyenlő a GET-fel, de választest nélkül. Az erőforrás metaadatait (pl. fejléc) kéri le. Idempotens és biztonságos.
  • OPTIONS: Az erőforrás kommunikációs lehetőségeit írja le. Lehetővé teszi a kliens számára, hogy meghatározza, mely HTTP-módszereket vagy más paramétereket támogat a szerver egy adott URL esetén.
  • CONNECT: Egy csatornát hoz létre a célzott erőforráshoz, amelyet a cél erőforrás nevével azonosítanak. Általában SSL/TLS alagutak létrehozására használják meglévő proxy-n keresztül.
  • TRACE: Visszacsatolási tesztet végez a cél erőforshoz vezető úton. A kliens másolatot kaphat a kéréséről az úton. Hibakeresésre használják.

Íme egy összehasonlító táblázat:

Módszer Cél Idempotencia Biztonság Adatok továbbítása
GET Erőforrás lekérése Igen Igen URL
POST Létrehozás/frissítés Nem Nem Kérés törzse
PUT Teljes frissítés Igen Nem Kérés törzse
DELETE Erőforrás törlése Igen Nem URL
PATCH Részleges frissítés Nem Nem Kérés törzse
HEAD Metaadatok lekérése Igen Igen URL
OPTIONS Kommunikációs lehetőségek leírása Igen Igen Nincs
CONNECT Csatorna létrehozása Nem Nem Nincs
TRACE Visszacsatolási teszt Igen Igen Nincs