본문 바로가기

Web Programming

[Web] GET방식과 POST방식의 특징 및 차이점

 

 GET방식과 vs POST방식

 

HTTP는 클라이언트와 서버 간 통신에 사용되는 프로토콜입니다.

HTTP 요청 메소드 중 GET 방식과 POST 방식은 웹 개발에서 가장 많이 사용되는 두 가지 방식입니다.

 

https://dev.to/williamragstad/how-to-use-ajax-3b5e

GET 방식과 POST 방식의 차이

 

  GET POST
데이터 전달  URL 뒤에 파라미터를 추가하여 전달 HTTP 요청 본문(body)에 데이터를 추가하여 전달
데이터 길이 URL 길이에 제한이 있음 ( 2,048자 이하) HTTP 요청 본문(body)의 크기에 제한이 있음 ( 2GB 이하)
보안성 URL에 데이터가 노출되기 때문에 보안성이 낮음 HTTP 요청 본문(body)에 데이터가 포함되어 전달되므로 보안성이 높음
캐싱 브라우저에서 자동으로 캐싱됨 브라우저에서 캐싱되지 않음
사용상황 데이터 조회
사용자가 입력한 정보가 노출되어도 괜찮을 때
데이터 추가, 수정, 삭제
사용자가 입력한 정보가 노출되지 않아야할 때(로그인 등)

GET 방식은 URL 뒤에 파라미터를 추가하여 데이터를 전달합니다. 이 방식은 간단하고 직관적이지만, URL에 데이터가 노출되기 때문에 보안성이 낮습니다.

또한 URL의 길이에 제한이 있기 때문에 대체로 2,048자 이하의 데이터를 전달하는 데 사용됩니다.

 

 

 

GET방식과 POST방식 쿼리스트링 

먼저, GET 방식으로 요청을 보낼 때는 URL에 요청하는 데이터가 쿼리 스트링(query string) 형태로 포함됩니다. 

이때, 쿼리 스트링은 URL + ?+ 데이터이름=값 형태로 표현됩니다.

<form action="http://catSaveTheWorld.com/search" method="GET">
  <input type="text" name="query">
  <button type="submit">검색</button>
</form>

POST 방식으로 요청을 보낼 때는 URL에 데이터가 포함되지 않습니다. 대신, 데이터는 HTTP 요청 본문(body)에 포함되어 전송됩니다. 이때, 데이터는 쿼리 스트링과 마찬가지로 name=value 형태로 표현됩니다.

위 코드에서는 사용자가 입력한 검색어(query)를 GET 방식으로 전송합니다. 따라서, 사용자가 "cat"을 검색하면, 아래와 같은 URL이 요청됩니다.

http://catSaveTheWorld.com/search?query=cat




아래는 POST 방식으로 요청을 보내는 HTML 코드입니다.

위 코드에서는 사용자가 입력한 사용자 이름(username)과 비밀번호(password)를 POST 방식으로 전송합니다. 이때, HTTP 요청 본문(body)에 데이터가 포함되어 전송되므로, URL에는 아무런 데이터가 포함되지 않습니다. 

<form action="http://catSaveTheWorld.com/search" method="POST">
  <input type="text" name="username">
  <input type="password" name="password">
  <button type="submit">로그인</button>
</form>
http://catSaveTheWorld.com/login

 

GET방식 활용 예: 데이터 조회 (즐겨찾기 기능!)

  • 검색 기능: 사용자가 검색어를 입력하고 서버에서 검색어를 받아서 처리한 후, 검색 결과를 브라우저에 노출
  • 페이지 이동: 브라우저에서 다른 페이지로 이동할 때 
  • 쿠키와 같은 작은 데이터 전송: 브라우저와 서버 간에 쿠키와 같은 작은 데이터 전송시

 

POST방식 활용 예:

  • 회원가입, 로그인: 사용자가 입력한 회원 정보를 서버에 전송하여 회원가입 또는 로그인 처리
  • 게시글 작성: 사용자가 입력한 게시글 내용을 서버에 전송하여 게시글을 작성
  • 파일 업로드: 사용자가 업로드한 파일을 서버에 전송하여 저장

 

 

 

 

 

 

 

Reference

https://dev-coco.tistory.com/60

 

GET과 POST의 차이점

사용자가 어떤 홈페이지로 이동하기 위해 URL을 브라우저 주소창에 작성하고 엔터를 누르면 페이지로 이동합니다. 사용자는 단순히 URL(Uniform Resource Locator)를 입력하였을 뿐이지만 서버 내부에서

dev-coco.tistory.com

https://www.geeksforgeeks.org/difference-between-http-get-and-post-methods/

 

Difference between HTTP GET and POST Methods - GeeksforGeeks

A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions.

www.geeksforgeeks.org

+chatGPT활용!