CS

GET, POST란?

우젼 2023. 2. 1. 12:29

데이터를 전달하는 방법에는 Get 방식과 Post방식이 있습니다.

 

이에 대해 자세하게 배우지는 않았고 그냥 그런게 있다 정도로만 훑고 넘어갔던 내용이기에 다시 한번 확실히 알고 넘어가고자 정리합니다.

 

사실 면접에서 한번 나왔는데 제가 아는 수준에서 대답하는게 스스로 느끼기에 상당히 수준이 낮다고 느껴져서이기도 합니다...

 

내가 알고있던 Get과 Post의 차이

 

01. Get 방식?

  • Get방식은 url에 전달하는 내용이 그대로 노출되어 버립니다  ==  파라미터가 그냥 보여집니다.
  • 데이터 길이에 제한이 있습니다.
  • 서버의 리소스를 읽어오고 전달하는 역할까지만 합니다.

 

02. Post 방식?

  • Post 방식은 body에 데이터가 담겨서 전달됩니다.
  • 데이터 길이에 제한이 없습니다.
  • 서버에 새로운 리소스를 생성하는데에도 사용됩니다.

 

03. 그래서 차이점은?

  • 전송할 데이터를 header에 담는가? body에 담는가?
  • 데이터 길이에 제한이 있는가? 없는가?
  • 서버에 리소스를 만들 수 있는가 없는가?

 


여기까지가 제가 알고있던 Get과 Post의 차이였습니다. 이번에 공부하면서 새로이 알게된 둘의 차이에 대해 알아보겠습니다.

 

++01. Get 방식?

  • 요청이 캐시될 수 있습니다.
  • 요청을 북마크 할 수 있습니다.
  • 요청 성공시 http 상태코드 200을 반환합니다.
  • post보다 상대적으로 빠릅니다.

++02. Post 방식?

  • 요청이 캐시될 수 없습니다.
  • 요청을 북마크 할 수 없습니다.
  • 요청중에 자원을 생성하는 경우에는 201을 반환합니다.
  • get보다 느립니다.

여기서 캐시될 수 있다. 북마크 할 수 있다. 라는 의미를 이해하지 못하여 이 부분에 대해서는 공부가 더 필요합니다.

이에 대해 공부하고 추후 수정하겠습니다.