20.04.26 GET과 POST??

Limm_jk·2020년 4월 27일
0

우리가 어떠한 사이트에 접속을 할 때, url을 입력하는 방식으로 접근을 합니다. 우리는 그저 url을 입력하고 접속을 할 뿐이지만, 서버 내부에서는 클라이언트의 요청을 처리해주는 작업을 해야합니다.

우리가 이러한 작업을 처리해주기 위하여 어떻게 해야 할 지 생각할 때 우리는 두가지 HTTP Method를 생각하게 됩니다.

바로 GET방식POST방식.

공부하며 이 두가지가 어떠한 차이 점이 존재하는 지 혼동이 왔고, 이번 기회에 각 방식의 장,단점과 차이점을 알아보며 깔끔하게 정리해보려 합니다.

1. GET

눈에 보이게 구분할 수 있는 방식이 하나 있습니다. URL.
GET방식은 URL에 정보를 포함시켜서 보내는 방식입니다.
이러한 속성에 따라 도출되는 특징을 정리해보겠습니다.

  • URL에 데이터를 붙여서 전송한다.
  • URL에 데이터가 부착되어 있으므로 보안에 취약하다.
  • 위와 같은 이유로 공유성이 뛰어나다.(같은 URL을 가진 사람은 같은 화면을 볼 수 있음.)
  • 전송하는 길이에 제한이 있다.
  • 캐싱에 용이하다.

GET방식은 URL에 정보를 붙여서 간단히 전송할 수 있게 합니다. 이에 따라 URL에 모든 정보가 포함되어 있으며, 같은 URL을 가진 사람은 같은 결과를 볼 수 있게 합니다.
또한 URL을 이용하는 형식이므로, 포함할 수 있는 정보에 제한이 있습니다. 또한, URL에 들어갈 형식에 맞지 않는 값은 모종의 처리를 해준 후에 투입해주어야 합니다.
변수의 값을 제외하면 전송하는 데이터가 없으므로 보통 body가 비어있습니다.

URL을 통해 동일하게 접근할 수 있다는 것은 장단점이 있는 것 같습니다. URL에 필요한 정보가 모두 있으므로 캐싱을 통하여 편리하게 사용할 수 있습니다. 예를 들면 이 URL을 저장하여 이 상태로 바로 접근할 수 있을 것입니다.
하지만, 중요한 정보를 보내야 할 경우에, 누구나 볼 수 있는 URL에 보내기는 부담스러운 면이 있을 것입니다.

2. POST

POST방식은 서류를 제출한다고 생각하면 편합니다. 서류봉투에 들어간 서류를 받으면, 직접적으로는 정보를 확인할 수 없습니다. 밀봉을 해제하는 작업 후에 볼 수 있겠지요. 이런 방식으로 POST방식은 Body에 정보를 넣어서 보내는 방식입니다.
POST방식도 특성을 한번 정리해보도록 하겠습니다.

  • URL에 데이터를 노출하지 않고 전송한다.
  • Body에 데이터를 넣어서 전송한다.
  • 직접적으로 데이터의 확인이 불가능하여 간단한 보안이 보장된다.
  • 캐싱이 불가능하다.
  • 전송하는 길이의 제한이 없다.

위에서 설명한 GET방식과는 다르게 POST방식은 Body에 넣어서 전송하므로, 길이의 제한이 없다는 큰 이점이 존재합니다. 허나, 무제한으로 늘릴 수는 없는데, 왜냐하면 서버에는 요청을 받는 시간의 제한이 존재하는데, 이 시간 내에 모두 호출이 이루어져야 하기 때문입니다.
또한, Body의 Parameter로 전송이 이루어지기 때문에 URL로 전송이 까다로웠던 정보까지 전송할 수 있다는 장점이 있습니다.

profile
소신있는 백엔드 엔지니어가 꿈입니다.

0개의 댓글