본문 바로가기
Web

[웹 개발] HTTP 메서드 - GET,POST

by skwkiix 2023. 7. 20.
728x90

HTTP (Hypertext Transfer Protocol)는 웹 브라우저와 웹 서버 사이의 데이터 전송을 관리하는 프로토콜이다.

HTTP 메서드는 클라이언트(일반적으로 웹 브라우저)가 서버에게 요청의 목적과 종류를 알리는 역할을 한다.

 

  1. GET 메서드
  • GET 메서드는 서버로부터 정보를 요청하기 위해 사용한다.
  • 주로 URL을 통해 데이터를 전송, 요청한 데이터는 URL의 쿼리 매개변수에 포함된다.
  • 사용자가 웹 페이지를 방문하거나, 링크를 클릭할 때 GET 요청이 서버로 전송된다.
  • 브라우저 히스토리에 남기 때문에 뒤로 가기 버튼을 사용하여 쉽게 돌아갈 수 있다.
  • 요청하는 데이터가 URL에 노출되기 때문에 보안에 취약할 수 있다.
  • 서버에 데이터를 제출하는데에는 적합하지 않다. (예: 로그인 정보 전송)

 

GET 메서드의 예시

GET /example_page.html?id=123 HTTP/1.1
Host: www.example.com

2.  POST 메서드

  • POST 메서드는 서버로 데이터를 제출하기 위해 사용된다.
  • 주로 HTML 폼을 통해 데이터를 전송합니다. 폼 필드의 값들이 요청 본문에 담겨 서버로 전송된다.
  • 브라우저 히스토리에 남지 않기 때문에 뒤로 가기 버튼을 사용하여 이전 페이지로 돌아갈 수 없다.
  • GET 메서드와 달리 데이터가 URL에 노출되지 않기 때문에 상대적으로 보안성이 높다.
  • 서버에 데이터를 전송하기 위해 사용되며, 로그인 페이지에서 사용자 이름과 비밀번호를 전송하는 데에 많이 쓰인다.

POST 메서드의 예시 :

POST /submit_form.php HTTP/1.1
Host: www.example.com
Content-Type: application/x-www-form-urlencoded
​
username=johndoe&password=secretpassword
​

3. GET 과 POST 의 차이 요약

GET 메서드는 정보를 요청하는 데 사용되고, URL을 통해 데이터가 전송되며, 브라우저 히스토리에 남는다. 반면에 POST 메서드는 데이터를 제출하는 데 사용되고, 폼 필드를 통해 데이터가 전송되며, 브라우저 히스토리에 남지 않습니다. 또한 POST 메서드는 GET에 비해 보안적으로 더 안전하다는 특징이 있다.

728x90