GET과 POST의 차이

김민욱·2022년 1월 26일
0

WEB

목록 보기
2/10

클라이언트가 서버로 요청을 보내는 방법에서 HTTP의 메소드에는 크게 두가지가 있다. GET방식과 POST방식이다. GET과 POST를 비교하고 차이점에 대해 설명한다!

GET

영어로 GET = 가져오다 로 생각하면 쉽다.
GET은 소위말해 어떤 정보를 가져와서 조회하기 위해 사용되는 방식이다.

GET의 특징

  1. URL에 변수(데이터)를 포함시켜 요청
  2. 데이터를 헤더에 포함해 전송
  3. URL에 데이터가 노출되어 보안에 취약
  4. 캐싱이 가능
  5. 전송속도는 POST방식 보다 빠름
  6. 전송할 수 있는 데이터는 256바이트를 넘을 수 없음

GET의 예시

로그인을 할 때 id와 password를 입력했을 때 GET의 방식을
www.coreminw.com?id=coreminw&&password=core 이라고 가정해보자.

  • ?마크를 통해 URL의 끝을 알림
  • id라는 key에 대해서 coreminw라는 value
  • password라는 key에 대해서 core 를 전송
  • 여러개의 key와 value를 전송할 경우 &를 사용하여 이어줌

따라서 GET 방식은 보안유지가 URL에 그대로 나타나기 때문에 보안유지가 되지않는다. GET방식을 사용하려면 개인정보가 포함되지 않는 상황에서 사용해야한다.

POST

영어로 POST = 부치다, 제출하다
POST는 소위말해 데이터를 서버로 제출하여 추가 또는 수정하기 위해 사용하는 방식이다.

POST의 특징

  1. URL에 변수(데이터)를 노출하지 않고 요청
  2. 데이터를 Body에 포함해 전송
  3. URL에 데이터가 노출되지 않아 기본 보안은 되어있음
  4. 캐싱 불가
  5. 전송할 데이터의 길이에 제한이 없음
  6. 복잡한 형태의 데이터를 전송할 때 유용

POST 방식은 Body에 데이터를 넣어 전송한다. 따라서 헤더필드 중 Body의 데이터를 설명하는 Content-Type이라는 헤더필드가 들어가고, 어떤 데이터 타입인지 명시를 해주어야한다. 데이터를 Body에 포함하기 때문에 메세지의 길이 제한은 없지만, 최대 요청을 받는 시간인 Time Out이 존재하여 페이지를 요청하고 기다리는 시간이 필요하다.

GET과 POST의 비교

출처

망나니 개발자
모든기록

profile
열쪙 열쪙 열쪙

2개의 댓글

comment-user-thumbnail
2022년 2월 3일

열심히 한게 보여 좋네요 !

1개의 답글