본문 바로가기

웹 개발

Get과 Post의 차이를 알고 계신가요?

 

이 글을 읽고 나면 get과 post가 무엇인지 그 둘의 차이는 어떤 것 인지 알 수 있다
아주아주 자세한 글은 아니더라도 초등학생도 이해할 수 있도록 친절하게 설명하도록 노력하겠다
작성자인 내가 이해한 것을 토대로 작성되는 글이 다 보니 정확하지 않을 수 있다 피드백을 주시면 바로바로 수정하겠다

 

우선 이 글을 읽기 전 http가 어떤 것 인지 모른다면

http를 간단하게 알고 오는 것을 추천한다

https://rec8730.tistory.com/102?category=1025968 

 

HTTP를 알고 계신가요?

시작 전 혼자 공부해야 할 시기가 오면서 웹 개발 기본 지식에 관한 게 너무 부족하다고 느꼈다 공부하면서 바로 바로 기록을 하기는 하는데 막상 다른 걸 하고 있다 보면 자주 보게 되진 않는다

rec8730.tistory.com

 

이제 GET과 POST 알아봅시다 

HTTP의 대표적인 메소드(method)는 네 가지 정도가 있다, 더 있긴 한데 오늘 이 본문에서는 네 가지 중 대표적인 두 가지

GET 요청과 POST 요청을 알아보려 한다

 

GET

http 프로토콜을 통해 우리가 필요한 정보를 URL을 통해(쿼리스트링) 요청할 때 GET을 이용하여 요청하게 되는데

GET은 원하는 정보를 조회의 목적으로만 이용하려 할 때 보통 GET 메소드를 사용하게 된다

대표적인 예를 들어 검색을 하여 필요한 값을 받아오는 걸로 쉽게 이해하면 될 거 같다, 네이버 검색이 될 수 도 있고 쇼핑을 할 때

내가 보고 싶은 상품이 될 수도 있다

즉 GET은 요청한 정보의 값이 변경되지 않을 때 사용한다 단순히 요청한 정보의 데이터를 받아서 확인만 할 때,

 

그래서 GET은 멱등성을 가진다

GET, POST 검색하면 많이 나오는 단어 중 하나가 멱등성이란 단어인데 이 멱등성이라는 게 살면서 들어 본 적 없는 사람이 꽤 많을 것이다

 

멱등성이라는 건 수학에서 사용하는 용어인데 (당연히 문과, 예체능 기준 듣기 생소)
연산을 여러 번 적용하더라도 그 결과는 절대 바뀌지 않는다 라는 의미다

그러니 GET이라는 건 위에서 말했듯이 조회의 기능만을 담당하니 멱등성의 성질을 가지는 것이다

 

POST

POST는 요청을 변경하거나 새로 만들 때 사용한다(리소스를 생성, 변경)

위에서 GET은 http URL을 통해 요청이 들어간다고 했는데 GET방식과는 다르게 POST는 HTTP패킷 BODY라는 것에 담겨서 데이터를 전송하게 된다

데이터양의 제한이 없어 엄청나게 많은 양의 데이터를 보낼 때도 POST방식을 이용하는 것을 고려해 볼 수 있다

대표적인 예시가 블로그 같은 곳에 글을 쓰거나, 또는 글을 수정해야 할 때가 POST를 쓰는 적합한 용도라고 볼 수 있다

 

정리해서 GET과 POST의 차이 점 요약

  • GET은 리소스의 데이터가 변하지 않고 조회의 용도 요청만! POST는 리소스의 데이터를 생성하고 수정할 때!
  • GET은 URL 쿼리스트링 방식, POST는 HTTP body 방식
  • 명확히 용도를 알고 사용할 것!

 

[참고]

https://noahlogs.tistory.com/35 원글

https://brilliantdevelop.tistory.com/33 원글

https://www.w3schools.com/tags/ref_httpmethods.asp 원글