본문 바로가기

WEB

[WEB] GET과 POST의 차이

GET과 POST는 HTTP Method 종류입니다.

 

HTTP웹상에서 클라이언트와 서버간의 요청/응답으로 데이터를 주고 받는 프로토콜입니다.

 

이때 클라이언트가 서버에게 웹페이지를 보여달라고 하는 것을 요청이라고하고, 서버가 클라이언트에게 요청받은 것에 대한 대답으로 웹페이지 내용을 표현하기 위해 HTML 문서로 주는 것을 응답이라고 합니다.

 

GET과 POST는 HTTP 요청 Method입니다. 두 방식의 큰 차이점은 URL에 데이터의 노출 여부입니다.

URL에 데이터를 노출시키는 것이 GET, 노출시키지 않는 것이 POST입니다.


GET 방식

 

 

GET 방식을 사용하면 URL에 전송한 데이터가 노출됩니다. ? 뒤에 msg라는 변수에 hello라는 문자열이 담겨서 전송되는 것을 볼 수 있습니다. 2개 이상의 데이터를 보낼때는 & 을 사용해줍니다.

 

특징

  • URL에 데이터를 포함시켜서 요청
  • URL에 데이터가 노출되어 보안에 취약
  • 길이 제한이 있음
  • 캐싱하여 속도를 높일 수 있음

POST 방식

 

POST 방식을 사용하면 URL에 전송한 데이터가 노출되지 않습니다. 전송할 데이터는 BODY에 넣어서 보냅니다. 그렇기 때문에 헤더필드 중 BODY의 데이터를 설명하는 Content-Type 헤더필드에 어떤 데이터 타입인지 명시해 주어야합니다.

 

특징

  • URL에 데이터를 노출하지 않음
  • 데이터를 BODY에 포함시킴
  • GET방식보다 보안에 강함
  • 데이터 길이에 제한이 없음
  • 캐싱할 수 없음

 

Caching(캐싱) - 한번 접근 후, 또 요청할시 빠르게 접근하기 위해 레지스터에 데이터를 저장시켜 놓는 것