클라이언트와 서버를 통신에 사용되는 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
'IT지식 > Computer Science' 카테고리의 다른 글
TCP/IP 레이어별 네트워크 장치(L1~L7스위치, 허브, 라우터 등)의 역할 (1) | 2025.01.19 |
---|---|
HTTP메서드 멱등성의 정의와 API에서 멱등성 구현법 (1) | 2025.01.18 |
HTTP 상태 코드(1XX~5XX)에 대해 알아보자. (0) | 2025.01.16 |
세션과 토큰을 이용한 로그인 인증 방식의 장단점 (0) | 2025.01.15 |
로컬 스토리지, 세션 스토리지, 쿠키의 정의와 차이점 (0) | 2025.01.14 |