[Web] Get VS Post

HTTP 프로토콜에 대한 분석

Posted by owin2828 on 2020-01-06 17:22 · 1 min read

0. 들어가기 앞서

  • 사용자는 단순히 URL을 입력하여 페이지로 이동을 하지만, 서버 내부에서는 클라이언트의 요청에 응답하기 위해 처리를 해주어야 함
  • 이 때, 클라이언트가 서버로 요청을 보내는 방법인 HTTP Method에는 크게 다음과 같은 2가지 방법이 존재
    • GET
    • POST

1. GET 방식

GET은 어떤 정보를 가져와 조회하기 위해 사용하며, 간단한 데이터를 URL에 넣도록 설계된 방식으로 다음과 같은 특징을 지님

1-1. GET 방식의 특징

  • URL에 변수(데이터)를 포함시켜 요청
  • 데이터를 Header에 포함하여 전송
  • URL에 데이터가 노출
  • 전송하는 길이에 제한
  • 캐싱이 가능
  • 형식
    • URL?변수명1=값1&변수명2=값2&변수명3=값3&…
    • 다음과 같이 직접 URI를 입력하여 요청가능

      /hello/test.php?name1=value1&name2=value2

2. POST 방식

POST 방식은 데이터를 서버로 제출하여 추가 또는 수정하기 위해서 데이터를 전송하는 방식으로 다음과 같은 특징을 지님

2-1. POST 방식의 특징

  • URL에 변수(데이터)를 포함하지 않고시켜 요청
  • 데이터를 Body에 포함하여 전송
  • URL에 데이터가 노출되지 않음
  • 전송하는 길이에 제한이 없음
  • 캐싱이 불가능
  • 형식

    POST /hello/test.php HTTP/1.1
    Host: jmnote.com
    name1=value1&name2=value2