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
**항상 감삼다 김영한 선생님..
'기타' 카테고리의 다른 글
sts4 응용프로그램을 열 수 없습니다? (3) | 2024.07.05 |
---|---|
HTTP 웹 기본 지식(6) - HTTP 상태코드 (0) | 2024.06.21 |
HTTP 웹 기본 지식 (3) - HTTP 기본 (0) | 2024.06.20 |
HTTP 웹 기본 지식(2) - URI와 웹 브라우저 요청 흐름 (0) | 2024.06.20 |
HTTP 웹 기본 지식 (1) - 인터넷 네트워크 (3) | 2024.06.19 |