개발이 좋아서/HTTP가 좋아서

HTTP 메서드 - GET, POST, PUT, PATCH, DELETE

zoaseo 2024. 12. 17. 18:53

HTTP 메서드 종류

  • GET: 리소스 조회
  • POST: 요청 데이터 처리, 주로 등록에 사용
  • PUT: 리소스를 대체, 해당 리소스가 없으면 생성
  • PATCH: 리소스 부분 변경
  • DELETE: 리소스 삭제

GET

  • 리소스 조회
  • 서버에 전달하고 싶은 데이터는 query(쿼리 파라미터, 쿼리 스트링)를 통해서 전달
  • 메시지 바디를 사용해서 데이터를 전달할 수 있지만, 지원하지 않는 곳이 많아서 권장하지 않음

ex)

GET /search?q=hell0&hl=ko HTTP/1.1

Host: www.google.com 

 

POST

  • 요청 데이터 처리
  • 메시지 바디를 통해 서버로 요청 데이터 전달
  • 서버는 요청 데이터를 처리 - 메시지 바디를 통해 들어온 데이터를 처리하는 모든 기능을 수행한다.
  • 주로 전달된 데이터로 신규 리소스 등록, 프로세스 처리에 사용

ex)

POST /members HTTP/1.1

Content-Type: application/json

 

{

    "username": "hello",

    "age": 20

}

 

PUT

  • 리소스를 대체 - 리소스가 있으면 대체, 리소스가 없으면 생성(덮어버림)
  • 클라이언트가 리소스를 식별 (POST와 차이점)

ex)

PUT /members/100 HTTP/1.1

Content-Type: application/json

 

{

    "username": "hello",

    "age": 20

}

 

PATCH

  • 리소스 부분 변경

ex)

PUT /members/100 HTTP/1.1

Content-Type: application/json

 

{

    "age": 20

}

 

DELETE

  • 리소스 제거

ex)

DELETE/members/100 HTTP/1.1

Host: localhost:8080