(웹) GET 방식과 POST 방식의 특징과 차이

  • by

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

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


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

GET 방식과 POST 방식의 차이

GET POST
데이터 전송 URL 뒤에 매개변수 추가 및 전달 HTTP 요청 본문에 데이터 추가 및 전달
데이터 길이 URL 길이에 제한이 있습니다(2,048자 이하). HTTP 요청 본문(body) 크기에 제한이 있음(2GB 이하)
보안 URL에 데이터가 게시되므로 보안이 낮습니다.

HTTP 요청 본문(body)에 데이터가 포함되어 전달되므로 보안이 높음
캐시 브라우저에서 자동으로 캐시됩니다.

브라우저에서 캐시되지 않음
사용 상황 데이터 조회
사용자가 입력한 정보가 공개되어도 괜찮습니다.

데이터 추가, 변경, 삭제
사용자가 입력한 정보가 공개되지 않은 경우(로그인 등)

GET 메소드는 URL 뒤에 매개변수를 추가하여 데이터를 전달합니다.

이 방법은 간단하고 직관적이지만 URL에 데이터가 노출되므로 보안이 낮아집니다.

또한 URL 길이에 제한이 있으므로 일반적으로 2,048자 이하의 데이터를 전달하는 데 사용됩니다.

GET 방식과 POST 방식의 쿼리 문자열 차이

먼저 GET 방식으로 요청을 보낼 때 URL에 요청하는 데이터가 쿼리 문자열 형식으로 포함됩니다.

이때 쿼리 문자열은 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 형식으로 표현됩니다.

위의 코드는 사용자가 입력한 쿼리를 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./60

GET과 POST의 차이

사용자가 임의의 홈페이지로 이동하기 위해 URL 주소를 브라우저의 주소 창에 만들고 Enter 키를 누르면 페이지로 이동합니다.

사용자는 단순히 URL(Uniform Resource Locator)을 입력했지만 서버 내부에서

dev-coco.

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

Difference between HTTP GET and POST 메서드 – 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