Network

HTTP 메서드

dev-rootable 2023. 7. 10. 15:59

📌 주요 메서드

 

🔎 GET

 

요청 URI로 지정한 자원을 서버에 요청하는 메서드

 

  • 요청 메시지의 body가 없다.
  • 필요시, 쿼리 스트링(Query String)을 이용하여 제한된 데이터 전송이 가능
  • URL에 데이터가 포함되므로 보안에 취약

 

GET 요청(좌), 응답(우)

 

🔎 POST

 

요청 URI로 지정한 자원에 데이터를 전달하여 이를 처리한 결과를 서버에 요청하는 메서드

 

  • 요청 메시지의 body부에 데이터를 담아서 전달하므로 body가 있다.
  • 주로 전달된 데이터로 신규 리소스 생성(등록) 및 프로세스 처리에 사용
    • 회원 가입, 글 등록, 댓글 등록, 주문 등록 등
  • 데이터 처리 후, 어떤 응답을 내려줄 지에 대해 정해진 규칙은 없다.
  • 사용하는 경우
    • 보안이나 지원 여부에 따른 이슈가 있을 경우 다른 메서드로 처리하기 애매한 경우
    • 서버에서 큰 변화가 발생할 때
    • 결제 완료 -> 배송 시작 -> 배송 종료 : 프로세스의 상태가 변경되는 경우
    • 신규 리소스 생성(등록) 및 프로세스 처리
  • 클라이언트가 요청하는 시점에 새로 생성될 리소스의 위치를 알지 못함(PUT과 차이점)
    • Location : 자원이 생성된 위치 (with 201 Created 응답)

 

POST 요청(좌), 응답(우)

🔎 PUT 

 

요청 메시지 바디에 포함되어 있는 데이터를 요청 URI로 지정한 자원으로 저장(Update or Save)

 

  • 쉽게 말해서 덮어쓰기
  • 지정한 자원이 있으면 대체
  • 지정한 자원이 없으면 생성
  • 클라이언트가 리소스의 위치를 알고 URI 지정(Post와 차이점)

 

PUT 요청(좌), 응답(우)

 

🔎 PATCH

 

리소스 부분 변경

 

만약 해당 서버에서 PATCH 요청을 못 받을 경우, POST를 사용하면 된다.

 

🔎 DELETE

 

요청 URI로 지정한 자원을 서버에서 삭제

 

📌 기타 메서드

 

🔎 HEAD

 

요청 방식은 GET과 유사하고, 주로 검색엔진에서 URL/링크의 유효성을 검증하기 위해 사용한다.

 

서버 응답 시에 메시지 바디를 제외하고 헤더부만 응답

 

🔎 OPTIONS

 

대상 리소스에 대한 통신 가능 옵션(메서드)을 설명

 

🔎 CONNECT

 

대상 자원으로 식별되는 서버에 대한 터널을 설정

 

🔎 TRACE

 

대상 리소스에 대한 경로를 따라 메시지 루프백 테스트를 수행

 

Reference:

[모든 이미지의 출처는 아래 강의]

https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC/dashboard

 

모든 개발자를 위한 HTTP 웹 기본 지식 - 인프런 | 강의

실무에 꼭 필요한 HTTP 핵심 기능과 올바른 HTTP API 설계 방법을 학습합니다., [사진] 📣 확인해주세요!본 강의는 자바 스프링 완전 정복 시리즈의 세 번째 강의입니다. 우아한형제들 최연소 기술

www.inflearn.com