HTTP Method

HTTP 메서드

HTTP(하이퍼텍스트 전송 프로토콜, Hypertext Transfer Protocol)는 웹 브라우저와 웹 서버 간의 통신을 위한 규약입니다. HTTP 메서드는 클라이언트가 서버에 요청을 보낼 때 사용하는 다양한 명령어를 의미합니다. 각 메서드는 고유한 목적과 기능을 가지며, 올바른 HTTP 메서드를 사용하는 것은 웹 애플리케이션의 설계와 운영에 있어 매우 중요합니다.

멱등성

멱등성(Idempotency)은 수학과 컴퓨터 과학에서 중요한 개념으로, 연산을 여러 번 적용하더라도 결과가 달라지지 않는 성질을 의미합니다. 즉, 동일한 연산을 여러 번 수행해도 시스템의 상태나 결과는 동일하게 유지됩니다.

HTTP 메서드에서 멱등성은 중요한 개념으로, 클라이언트가 같은 요청을 여러 번 보내더라도 서버의 상태가 변하지 않음을 보장합니다.

1. GET

GET 메서드는 서버로부터 리소스를 요청할 때 사용됩니다. 주로 데이터를 조회하는 데 사용되며, 서버에 있는 리소스를 변경하지 않습니다.

  • 특징:

    • 캐싱이 가능

  • 사용 예:

    • 특정 사용자의 정보 조회: GET /users/123

2. POST

POST 메서드는 서버에 데이터를 전송할 때 사용됩니다. 주로 폼 데이터를 제출하거나 파일을 업로드할 때 사용됩니다.

  • 특징:

    • 요청 본문에 데이터 포함

    • 데이터의 길이에 제한이 없음

    • 캐싱되지 않음

  • 사용 예:

    • 사용자 등록: POST /users

    • 블로그 글 작성: POST /posts

3. PUT

PUT 메서드는 서버에 리소스를 생성하거나 업데이트할 때 사용됩니다. 요청한 리소스가 존재하지 않으면 생성하고, 존재하면 업데이트합니다. 완전히 대체(Replace)

  • 특징:

    • 요청 본문에 데이터 포함

    • 멱등성 보장 (같은 요청을 여러 번 보내도 결과가 같음)

  • 사용 예:

    • 사용자 정보 업데이트: PUT /users/123

4. DELETE

DELETE 메서드는 서버에서 리소스를 삭제할 때 사용됩니다.

  • 특징:

    • 멱등성 보장 (같은 요청을 여러 번 보내도 결과가 같음)

    • 데이터가 제거됨

  • 사용 예:

    • 사용자 삭제: DELETE /users/123

    • 게시물 삭제: DELETE /posts/456

5. PATCH

PATCH 메서드는 리소스의 일부를 업데이트할 때 사용됩니다. PUT 메서드와 달리, 부분적인 업데이트를 수행합니다. 부분적인 변경.

  • 특징:

    • 요청 본문에 업데이트할 데이터 포함

    • 멱등성 보장되지 않음 (같은 요청을 여러 번 보내면 결과가 달라질 수 있음)

  • 사용 예:

    • 사용자 이메일 업데이트: PATCH /users/123

    • 게시물 제목 수정: PATCH /posts/456

    • 좋아요 카운트 증가: PATCH /posts/456/like

6. OPTIONS

OPTIONS 메서드는 서버가 지원하는 메서드와 기능을 확인할 때 사용됩니다. 클라이언트는 이 요청을 통해 서버의 기능을 미리 확인할 수 있습니다.

  • 특징:

    • 서버가 지원하는 HTTP 메서드 목록 반환

  • 사용 예:

    • 서버 지원 메서드 확인: OPTIONS /users/123

Last updated