HTTP 메서드

성호창·2022년 3월 25일
0

해당 글은 인프런 김영한님의 영상을 보고 정리한 글입니다. 출처

HTTP 메서드

클라이언트가 서버에게 요청할 때 기대하는 행동

GET -> 서버에게 무언가를 달라고 요청
POST -> 데이터를 서버에게 주면 등록/처리와 같은 것을 해달라고 요청

HTTP 메서드 종류

GET

리소스 조회

POST

1.요청 데이터 처리/등록에 주로 사용
2.메시지 바디를 통해 서버로 요청데이터를 전송하고 이를 처리
3.다른 메서드로 처리하기 애매한 경우에도 사용 -> JSON으로 조회한 데이터 넘겨야 하는데 GET 메서드를 사용하기 힘든 경우 -> GET은 메시지 바디에 데이터를 넣는것이 좋지 않고 지원하지 않을 수 있기 때문

PUT

보내는 리소스로 대체,해당 리소스 없으면 생성 -> 덮어쓰기

PATCH

리소스의 특정 부분 변경
EX) 회원 정보중 이름만 변경

DELETE

리소스 삭제

HTTP메서드 속성

안전(Safe methods)

호출해도 리소스를 변경하지 않는다.
해당 리소스가 변하는지만 고려 -> 로그가 쌓여 장애 발생하는 경우 고려x

멱등(Idempotent Methods)

몇번 호출하든 결과가 같다
BUT 중간에 외부요인으로 요청이 바뀌는 경우는 고려X -> 첫번째 요청과 두번째 요청의 데이터가 다른경우

GET : 몇번 호출하든 같은 결과 조회 -> 멱등
PUT : 같은 요청을 반복해도 똑같은 데이터로 대체된다(덮어쓰기). -> 멱등
DELETE : 같은 DELETE 요청을 반복해도 삭제된 결과는 동일하다 -> 멱등
POST : 결재하는 경우 여러번 호출시 같은 결제가 여러번 중복되서 발생한다 -> 멱등X

멱등 활용 -> 서버가 정상 응답 주지 못했을 경우 클라이언트가 동일한 요청을 해도 된느 경우 사용

캐시가능(Cacheable Methods)

응답 결과 리소스를 캐시해서 사용해도 되는지
GET,HEAD,POST,PATCH는 캐시가 가능하나 실제로는 GET, HEAD 정도만 캐시로 사용

0개의 댓글