Sobes.tech
Intern

Mi az a HTTP-módszerek?

sobes.tech MI

Válasz az MI-től

A HTTP-módszerek (ige vagy parancsok) meghatározzák azokat a műveleteket, amelyeket a kérés URI-jában megadott erőforráson végre lehet hajtani.

Fő módszerek:

  • GET: Kéri a megadott erőforrás reprezentációját. A kérés adatai az URL-ben kerülnek átadásra. Adatok lekérésére használják.
  • POST: Adatokat küld feldolgozásra a megadott erőforráshoz. A kérés adatai a törzsben kerülnek átadásra. Erőforrás létrehozására vagy frissítésére használják.
  • PUT: Minden aktuális erőforrás-reprezentációt felülír a kérés törzsében lévő tartalommal. Erőforrás frissítésére használják.
  • DELETE: Törli a megadott erőforrást. Erőforrás törlésére használják.
  • PATCH: Részleges módosításokat alkalmaz az erőforráson.
  • HEAD: Ugyanazokat a fejlécadatokat kérdezi le, mint a GET, de válasz törzs nélkül.
  • OPTIONS: Leírja azokat a HTTP-módszereket, amelyeket a szerver támogat a megadott URL-hez.

A módszerek tulajdonságai:

  • Idempotencia: Egy és ugyanaz a kérés többszöri végrehajtása ugyanazt az erőforrásállapotot eredményezi, mint egy végrehajtás. Idempotensek: GET, PUT, DELETE, HEAD, OPTIONS. Nem idempotensek: POST, PATCH.
  • Biztonság: A kérés nem változtatja meg az erőforrás állapotát a szerveren. Biztonságosak: GET, HEAD, OPTIONS. Nem biztonságosak: POST, PUT, DELETE, PATCH.
// Példa GET kérésre Java-ban HttpClient használatával
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
        .uri(URI.create("https://api.example.com/resource"))
        .GET()  // És
        .build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());

// Példa POST kérésre Java-ban
String postBody = "{\"name\":\"test\", \"value\":\"data\"}";
HttpRequest postRequest = HttpRequest.newBuilder()
        .uri(URI.create("https://api.example.com/resource"))
        .POST(HttpRequest.BodyPublishers.ofString(postBody)) // És
        .header("Content-Type", "application/json")
        .build();
HttpResponse<String> postResponse = client.send(postRequest, HttpResponse.BodyHandlers.ofString());
System.out.println(postResponse.body());