GET/POST 의 차이점

EuilimChoi·2023년 4월 29일
0

그냥 body의 유무 차이 아님?

하면 당신은 반쪽만 알고 있는 것이다.

get과 post의 차이에 대한 설명을 관통하는 단어로 "멱등성"이라는 단어가 있다,

멱등성이란 수학이나 전산학에서 연산의 한 성질을 나타내는 것으로, 연산을 여러 번 적용하더라도 결과가 달라지지 않는 성질을 의미한다. 멱등법칙의 개념은 추상대수학(특히, 사영작용소·폐포연산자 이론)과 함수형 프로그래밍(참조 투명성의 성질과 관련된)의 여러 부분에서 사용하고 있다.

그럼 get과 post의 차이를 한 마디로?

get은 요청한 데이터에 대해 멱등성을 가지고 있고, post는 그렇지 않다.

get은

서버에서 어떤 데이터를 가져와서 보여줄때 사용한다. 즉 서버의 정보를 "바꾸지 않는다."

주로 게시판의 내용, 홈페이지의 내용, 즉 내용을 요청하고 그걸 표시할 때 사용한다. 즉 같은 요청에 항상 같은 데이터를 보여줘야만 한다.

그럼 보고 싶은 데이터를 특정해야 하는데 일반적으로 url의 파라미터나, 쿼리를 넣어서 원하는 자원을 특정한다.
예를 들어 영화 정보를 얻고 싶은데, 키아누리브스가 연기한 액션 영화를 모두 보고 싶다면 아래와 같이 설계할 수 있다,

https://moviechannel.com/movies?actors=키아누리브스&genre=action
(그냥 예시다. 괜히 눌러서 패킷 낭비하지 말자)

아니면 어떤 게시판에서 특정 글을 읽고 싶다면 그 글의 id값을 파라미터로 넣는 설계도할 수 있겠다.

https://someboard.com/article/99
(또 누르는 흑우는 없길 바란다)

위 링크로 get요청을 100번 보내면 100번 모두 같은 결과를 가져온다. 즉 서버의 데이터에 영향을 미치지 않는 다는 것이다.

post는

이에비해, post는 서버상의 데이터 값이나 상태를 바꾸기 위해 사용한다.
글쓰기를 예를들면 글의 내용을 저장하고, 수정할때에 post를 사용한단 말이다.

이상이다.

profile
개발자 (초급)

0개의 댓글