GET과 POST차이

기모·2023년 6월 30일
0

면접 대비 CS

목록 보기
6/7

GET

GET 은 클라이언트에서 서버로 어떠한 리소스로 부터 정보를 요청하기 위해 사용되는 메서드이다.

  • 게시물을 조회 또는 검색 할 때 사용

GET을 통한 요청은 URL 주소 끝에 파라미터로 포함되어 전송되며, 이 부분을 쿼리 스트링 (query string) 이라고 부른다.

방식은 URL 끝에 " ? " 를 붙이고 그다음 변수명1=값1&변수명2=값2... 형식으로 이어 붙이면 된다.

따라서 GET은 Body가 필요없음!

GET의 특징

  • GET 요청은 캐시가 가능하다.
    : GET을 통해 서버에 리소스를 요청할 때 웹 캐시가 요청을 가로채 서버로부터 리소스를 다시 다운로드하는 대신 리소스의 복사본을 반환한다. HTTP 헤더에서 cache-control 헤더를 통해 캐시 옵션을 지정할 수 있다.
  • GET 요청은 브라우저 히스토리에 남는다.
  • GET 요청은 북마크 될 수 있다.
  • GET 요청은 길이 제한이 있다.
    : GET 요청의 길이 제한은 표준이 따로 있는건 아니고 브라우저마다 제한이 다르다고 한다.
  • GET 요청은 중요한 정보를 다루면 안된다. ( 보안 )
    : GET 요청은 파라미터에 다 노출되어 버리기 때문에 최소한의 보안 의식이라 생각하자.
  • GET은 데이터를 요청할때만 사용 된다.

POST

POST는 클라이언트에서 서버로 리소스를 생성하거나 업데이트하기 위해 데이터를 보낼 때 사용 되는 메서드다.

  • 게시물을 작성 또는 업데이트 할 때 사용

POST는 전송할 데이터를 HTTP 메시지 body 부분에 담아서 서버로 보낸다. ( body 의 타입은 Content-Type 헤더에 따라 결정 된다.)
POST는 body가 필요함!

POST의 특징

  • POST 요청은 캐시되지 않는다.
  • POST 요청은 브라우저 히스토리에 남지 않는다.
  • POST 요청은 북마크 되지 않는다.
  • POST 요청은 데이터 길이에 제한이 없다.

멱등성 (idempotent) : GET 요청은 멱등이며, POST는 멱등이 아니다.

멱등: 연산을 여러 번 적용하더라도 결과가 달라지지 않는 성질


출처
https://noahlogs.tistory.com/35

profile
안녕하세용

0개의 댓글