코깽이의 코딩일기

GET과 POST의 차이 본문

코딩/지식

GET과 POST의 차이

코깽이 2023. 8. 28. 19:52
반응형

들어가며

웹 개발을 처음 시작하게 되면 HTTP의 다양한 메서드들을 접하게 되는데 그중에서도 get방식과 post방식에 대해서 제일 먼저 듣게 된다.

기본적으로 둘 다 클라이언트에서 서버로 무언가를 요청할 때 사용되는데 특징과 차이점에 대해서 살펴보자

 


GET란?

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

GET 요청의 특징

    - 데이터를 URL의 쿼리 파라미터로 첨부하여 전송한다.

    - 주로 정보를 요청할 때 사용한다.

    - 브라우저에서 캐시될 수 있어서 동일한 요청을 반복 시 서버로 요청을 보재니 않고 캐시 된 데이터를 활용할 수 있다.

    - URL에 데이터가 노출되므로 보안에 민감한 데이터는 전송하기에 적합하지 않다.

 


POST란?

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

POST 요청의 특징

    - 데이터를 요청 본문( HTML form )에 포함하여 전송한다.

    - 주로 데이터를 서버로 보내거나 서버의 상태를 변경할 때 사용한다.

    - 데이터가 URL에 노출되지 않으므로 GET보다는 보안 측면서에서 더 우수하다.

    - 브라우저에서 데이터를 캐시하지 않으며, 재전송 시 사용자의 확인을 받는다.

 


GET과 POST의 차이점

특징들을 살펴보면 대략적인 차이점을 확인할 수 있다.

 

    - 사용목적 : GET은 서버의 리소스에서 데이터를 요청할 때( Select ), POST는 서버의 리소스를 생성하거나 업데이트할 때 ( Create, Update )

 

    - body의 유무 : GET은 URL 파라미터에 요청하는 데이터를 담아보내기에 HTTP 메시지에 body가 없다. 하지만 POST는 body에 데이터를 담아 보내기에 때문에 존재한다.

 

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

 


멱등성이란?

CS나 웹 개발에서 중요한 개념 중 하나로, 연산을 여러 번 적용하더라도 결과가 달라지지 않는 성질을 의미한다.

즉 같은 요청을 여러번 보내더라도 처음부터 끝까지 동일한 효과를 가지는 특성이다.

분산 시스템에서 중요한 역할을 하며, 동일한 요청이 여러 노드에 전달되거나 네트워크 오류로 중복 요청이 발생하는 상황에서도 시스템의 안정성과 데이터 일관성을 보장하는 데 도움이 된다.

 

반응형

'코딩 > 지식' 카테고리의 다른 글

Library와 Framework 차이  (0) 2023.08.22