IT지식/Computer Science

HTTP메서드 GET, POST의 정의 및 차이점에 대해 알아보자

맨땅에헤딩개발자 2025. 1. 18. 22:49

클라이언트와 서버를 통신에 사용되는 HTTP 요청 메서드에는 GET, POST, PUT, PATCH, DELETE 등이 존재합니다.

이 메서드 중 가장 자주 쓰이는 GET방식과 POST방식의 차이와 쓰임새에 대해 알아봅시다.

 

 

 

GET방식은 주로 서버에서 데이터를 조회하는 용도로 사용되며 요청된 데이터는 URL의 쿼리 스트링을 통해 전달됩니다.

 

POST방식은 서버에 리소스를 처리(주로 데이터를 추가하거나 수정)할 때 사용되며

주로 HTTP메세지의 Body에 데이터를 담아 전송합니다.

 

 

 

GET과 POST방식의 차이점

 

- 가시성

 

GET요청에서는 데이터가 URL에 노출되므로 브라우저 기록, 서버 로그 및 네트워크의 다른 사람들에게 보일 수 있습니다.

POST요청은 Body에 데이터를 담아 보내기 때문에 좀 더 높은 보안을 제공합니다.

 

- 데이터 유형

 

GET요청은 URL구조의 제한과 쿼리 매개변수가 인코딩되는 방식 때문에 텍스트 데이터(ASCII 문자)만 보낼 수 있습니다.

POST요청은 바이너리 파일, JSON, XML 등을 포함하여 모든 유형의 데이터를 전송할 수 있어 복잡한 데이터 페이로드를 처리하는데 더 유용합니다.

 

- 데이터 처리량

GET요청으로 보낼 수 있는 데이터의 양은 URL의 최대 길이에 의해 제한되기 때문에 대량의 데이터를 전송하기에는 부적합합니다.

POST요청도 제한은 존재하지만 기본적으로 GET요청보다 훨씬 높은 제한을 가지기 때문에 파일 업로드와 같은 대량의

데이터를 보내기에 적합합니다.

 

- 멱등성

GET방식은 멱등성이 보장되고

POST방식은 멱등성이 보장되지 않습니다.

 

HTTP의 멱등성에 관해서는 이 글을 참고하세요.

https://steady-snb.tistory.com/41

 

HTTP메서드 멱등성이란 무엇일까?

steady-snb.tistory.com