GET과 POST 특징과 차이

박중연·2024년 2월 27일

GET과 POST를 사용하는 이유

 

1. GET

 
영어 Get이라는 단어는 가져오다라는 뜻을 가진 단어인데 이것만 기억하면 쉽게 이해할수 있습니다.

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

우리가 필요한 정보를 얻기 위해 필요한 자료를 찾거나 가져오는 상황과 유사하게 GET방식은 어떠한 정보를 가져와서 조회하기 위해 사용되는 방식입니다.

예를 들어보면 게시물을 조회할 때 사용할 수 있는데 Get은 요청을 전송할 때 필요한 데이터를 Body에 담지 않고 쿼리스트링을 통해 전송합니다. 쿼리스트링이란 URL 끝에 ?와 함께 name&value 로 쌍을 이루는 요청 파라미터를 의미합니다.

예시) www.testget.com/resource?name1=value1&name2=value2

서버에서는 name1,2라는 파라미터명으로 각각 value1,2의 파라미터 값을 전달받을 수 있다.
 

▶ GET 방식의 특징

  1. 캐싱할 수 있다.

  2. URL에 데이터가 노출되어 보안에 취약하다.

  3. 북마크 될 수 있다.

  4. 전송하는 길이 제한이 있다.

  5. 데이터를 요청할 때 만 사용된다.

  6. 데이터를 Header(헤더)에 포함하여 전송한다.

Caching 캐싱이란?
캐싱이란 한번 접근 후, 다시 요청할시 빠르게 접근하기 위해 Register에 데이터를 저장시켜 놓는 것입니다.

2.POST

Post의 경우 전송하다, 부치다 라는 의미를 가지고 있는데

Get과 같이 쉽게 예를 들면 우리가 한 회사에 지원서를 제출하는 것은

우리의 대한 정보를 제출하여 회사면접목록에 추가하기 위함이라고 생각하시면 됩니다.

이러한 상황과 유사하게 POST 방식은 데이터를 서버로 제출하여 추가 또는 수정하기 위해 사용되는 방식입니다.

▶ POST 방식의 특징

  1. 캐시되지 않는다.

  2. 데이터를 Body에 포함시킨다.

  3. URL에 데이터를 노출하지 않고 요청한다.

  4. 전송하는 길이에 제한이 없다

  5. GET보다 보안성이 좋다.

★ 위 내용을 바탕으로 차이점을 추가적으로 정리해보면 다음과 같다.

  • 사용 목적 : Get은 서버의 리소스에서 데이터를 요청시, Post는 서버의 리소스를 새로 생성 OR 갱신 시 사용(Get은 Select, Post는 Create에 가깝다 생각하면 된다.)

  • 요청에 body 유무 : Get 은 URL 파라미터에 요청하는 데이터를 담아 보내기 때문에 body가 존재하지 않는다. Post는 body에 데이터를 담아보내기 때문에 body가 존재한다.

profile
개발자로 취업하기

0개의 댓글