모든 개발자를 위한 HTTP 웹 기본 지식 #03 - HTTP 메서드

·2022년 11월 19일
0
post-thumbnail

인프런 김영한님의 모든 개발자를 위한 HTTP 웹 기본 지식을 수강하고 정리한 글입니다.

HTTP Method


GET

  • 리소스 조회
  • 서버에 전달하고 싶은 데이터는 쿼리 스트링을 통해 전달한다.
  • 민감한 데이터를 처리할 때 사용하면 안된다.
  • 길이 제한이 있다.
  • 오직 데이터 요청만을 위해 사용한다.

POST

  • 요청 데이터 처리 (서버얌 데이터 줄게 요청 데이터 처리해줘..)
  • 전송할 데이터를 body에 담아서 전달한다.(body 타입은 Content-Type 헤더에 따라 결정)
  • 외부적으로 데이터가 드러나지 않아 보안이 필요한 부분에 사용한다.
  • 리소스를 생성(CREATE) , 등록하기 위해 사용된다.
  • 단순히 데이터를 생성하거나 변경하는것이 아닌, 프로세스를 처리하는 경우 모두 post를 사용한다. (post의 결과로 새로운 리소스가 생성되지 않을수도있다.)
  • 길이 제한이 없다.

PUT

  • 리소스를 수정(UPDATE) 하기 위해 사용된다.
  • 리소스를 대체해 버리는 의미로 사용된다. (없으면 생성)
  • 쉽게 이야기해서 덮어버리는 것이다. (완전히 대체함)
  • POST와 다르게, 클라이언트가 리소스 위치를 알고 URI를 지정한다.

PATCH

  • PUT과 유사하게 리소스를 수정(UPDATE)할 때 사용된다.
  • 일부를 교체하는 의미로 사용된다.(부분 변경)

DELETE

  • 리소스를 삭제(DELETE)할 때 사용한다.

 

HTTP 메서드의 속성


  • 안전(Safe Methods)
  • 멱등(Idempotent Methods)
  • 캐시가능(Cacheable Methods)

안전

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

멱등

  • 한번 호출하든 두번 호출하던 100번하던.. 다 결과가 같아야한다
  • 멱등은 외부 요인으로 중간에 리소스가 변경되는 것 까지는 고려하지 않는다.

캐시가능

  • GET, HEAD, POST, PATCH 는 캐시 가능
  • 실제로는 GET, HEAD 정도만 캐시로 사용 (POST, PATCH는 본문까지 고려해야해서 구현이 쉽지 않다.)
profile
삶을 스스로 통제하고 있다는 느낌을 받을 때 더 행복하고 성공한다.🍃

0개의 댓글