기타

HTTP 웹 기본 지식(4) - HTTP 메서드

살찐만두 2024. 6. 20. 16:05
728x90

HTTP 메서드의 종류

 

- GET: 리소스 조회

쿼리 파라미터를 이용하여 동적 데이터를 조회하거나, 검색, 필터 조회 등의 기능을 주로 사용한다. 

members/100의 정보를 달라는 거군!

클라이언트에서 메세지 요청을 보내면 서버가 메세지를 받고 응답데이터를 다시 클라이언트로 넘겨준다.

 

 

- POST: 요청 데이터 처리, 주로 등록에서 사용

서버에게 클라이언트에게 요청 데이터를 줄테니

서버가 처리해달라고 하는 약속 , 신규 데이터 등록이나 대체에 많이 쓴다. 

/members 에는 등록을 하겠다는 소스나 다른 역할이 있을 수 있음. 예를 들어 지금은 등록하는 것임

 

POST 메서드는 대상 리소스가 리소스의 고유한 의미 체계에 따라 요청에 포함된 표현을 처리하도록 요청한다.

POST 를 쓰려면 요청 데이터를 어떻게 처리할지 리소스에 따로 정해야한다는 것이다.

여러가지의 쓰임새가 있음

새 리소스 생성(등록),

요청 데이터 처리: 단순 생성 변경을 넘어서 프로세스를 처리해야하는 경우,

다른 메서드로 처리하기 애매한 경우

=> POST는 만능이다~! 그래도 GET은 조회용으로 만드는 것이 좋다.

 

- PUT: 리소스 대체, 해당 리소스 없으면 생성

폴더의 파일을 완전히 대체를 해버린다 . 덮어써버린다는거다!!

수정의 기능이라고 볼 수도 있겠지만 조금 다름

요청 시 리소스가 없다면 생성이 되겠지만 위 그림처럼 필드가 사라질 수 있다는 점을 주의 해야 한다. 

 

 

- PATCH: 리소스 부분 변경

얘가 수정에 더 가깝다.

위 PUT 과 같은 요청이라도 응답은 아래 그림처럼 해당 부분 리소스만 변경 된다. 

 

 

- DELETE: 리소스 삭제

이건 진짜 삭제!

DELETE/members/100 HTTP1.1 ~~ 의 요청을 보내면 서버에서는 리소스를 제거해 버리는 것이다

따로 이미지 첨부는 하지 않겠음.

 

 

 

*HTTP 메서드의 속성

- 안전:

  호출해도 리소스를 변경하지 않는다.

 

- 멱등:

  몇번이고 호출해도 결과는 똑같아야한다. 외부요인으로 중간에 바뀌는거는 고려하지 않기 때문에 PUT 도 멱등에 포함이 되고,

  POST만 멱등 상태가 되지 않는다고 볼 수 있다.

 

- 캐시가능:

  GET, HEAD, POST, PATCH 가 있는데 사실 GET을 실제로 사용하지 POST와 PATCH 는 바디를 비교해야하기 때문에 구현이 어렵다. 

 

 

참고: 

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

**항상 감삼다 김영한 선생님..

728x90