[HTTP] HTTP API 만들어보기 2 - HTTP 메서드 정리

2025. 6. 15. 19:40·HTTP

이전에서도 봤듯이 우리는 행위를 구분하기 위해서는 HTTP 메서드를 이용해야한다.

먼저 HTTP 메서드를 실제 적용하기 전에 간단히 HTTP 메서드들에 대해 먼저 작성하겠다.


HTTP 메서드 종류

GET : 리소스 조회

POST : 요청 데이터 처리

PUT : 리소스 대체

PATCH : 리소스 부분 변경

DELETE : 리소스 삭제

+) HEAD, OPTIONS, CONNECT, TRACE 등


GET - 주세요 ~

GET 메서드는 리소스를 조회하고, 서버에 전달하고 싶은 데이터는 쿼리 파라미터(쿼리 스트링)을 통해 전달한다.

요청 메시지 바디에 데이터를 담을 순 있지만 지원하지 않는 곳이 많다.

요청
응답

GET 요청을 통해 100번째 회원정보를 요청하면 다음과 같은 JSON으로 응답을 받을 수 있다.


POST - 이 데이터로 처리해주세요 ~

POST 메서드는 요청 데이터를 처리하는 메서드로써, 메시지 바디를 통해 서버로 요청 데이터를 전달한다.

이때 서버는 요청 데이터를 처리하여 전달받은 데이터로 신규 리소스를 등록하거나 프로세스를 처리한다.

이때, POST로 어떠한 데이터를 전송할지에 대한 규약이 미리 존재해야한다.

사용자 이름, 나이를 전송

 

받은 데이터를 통해 신규 리소스 식별자를 생성
Created 응답

POST 의 기능 정리

1. 서버가 아직 식별하지 않은 새 리소스 생성

2. 결제완료 -> 배달시작 -> 배달 완료처럼 단순 값 변경을 넘어 프로세스의 상태가 변경되는 경우 프로세스 처리

3. 다른 메서드로 데이터를 넘기는 작업이 애매한경우 -> JSON 데이터를 넘겨야하는데 GET으로 사용하기 어련 경우

 


PUT - 있으면 대체, 없으면 생성

PUT 메서드는 리소스가 있으면 대체, 없으면 생성한다. -> 즉 덮어쓰는 작업을 처리한다.

PUT 메서드를 사용할 때 중요한 점은, 클라이언트가 직접 리소스를 식별할 수 있어야한다는 점이다. 클라이언트가 리소스의 정확한 위치와 URI를 통해 작업해야한다.

또한, PUT은 리소스를 완전히 대체하기 때문에, 다음과 같은 상황에는 주의해야한다.

username 필드가 삭제된다

 


PATCH - 부분 변경

PUT 메서드와 다르게, 전송받은 요청 메시지에 필드가 없으면 해당 필드는 무시하고 데이터가 존재하는 필드의 값만 업데이트한다., 즉 부분 변경이 가능하다.


DELETE - 리소스 제거

말 그대로 해당 URI의 리소스를 삭제한다.

'HTTP' 카테고리의 다른 글

[HTTP] HTTP API 만들어보기 3 - HTTP 메서드 활용  (0) 2025.06.15
[HTTP] HTTP API 만들어보기 1 - 리소스와 행위의 분류  (0) 2025.06.15
[HTTP] Connectionless - 비연결성 모델  (0) 2025.06.15
[HTTP] Stateless vs Stateful 어떤 것을 선택해야 할까?  (0) 2025.06.14
[HTTP] URL, URI , URN 이 대체 뭔데?  (0) 2025.06.14
'HTTP' 카테고리의 다른 글
  • [HTTP] HTTP API 만들어보기 3 - HTTP 메서드 활용
  • [HTTP] HTTP API 만들어보기 1 - 리소스와 행위의 분류
  • [HTTP] Connectionless - 비연결성 모델
  • [HTTP] Stateless vs Stateful 어떤 것을 선택해야 할까?
xuv2
xuv2
집에 가고 싶다
  • xuv2
    xuvlog
    xuv2
  • 전체
    오늘
    어제
    • 전체 글 모아보기 (173) N
      • 잡담 (9)
      • 도전 , 자격증 (2)
      • Error (6) N
      • Java (23)
      • Spring (40)
        • Core (10)
        • MVC (21)
        • Thymeleaf (9)
      • DataBase (6)
        • Database Modeling (4)
        • SQL (2)
      • HTTP (11)
      • Network (17)
      • Software Engineering (3)
      • Operating System (3)
      • Algorithm (16)
      • Project (19)
        • Web (9)
        • iOS (8)
        • Python (1)
        • Toy Project (1)
      • A.I (13)
      • Linux (5)
  • 블로그 메뉴

    • 홈
  • 링크

    • Github
  • 인기 글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
xuv2
[HTTP] HTTP API 만들어보기 2 - HTTP 메서드 정리
상단으로

티스토리툴바