| 구분 | GET | POST |
|---|---|---|
| 데이터 전송 | URL에 쿼리 스트링으로 데이터를 포함하여 전송 | HTTP 메시지의 Body에 데이터를 포함하여 전송 |
| 용도 | 데이터 조회(Read)와 같은 안전한 요청 | 데이터 생성(Create), 수정(Update), 삭제(Delete)와 같이 상태를 변경하는 요청 |
| 캐싱 | 캐싱 가능 | 일반적으로 캐싱 불가 |
| 길이 제한 | URL 길이 제한 존재(브라우저 및 서버에 따라 다름) | 길이 제한 없음 |
| 보안 | 데이터가 URL에 노출되어 보안에 취약 | 데이터가 Body에 포함되어 상대적으로 안전 |
| 멀티파트 전송 | 지원하지 않음 | 멀티파트 폼 데이터 전송 가능 |
| 특징 | TCP | UDP |
|---|---|---|
| 전송제어 프로토콜 | 비연결형 프로토콜 | |
| 연결 방식 | 연결 지향(Connection-Oriented) | 비연결(Connectionless) |
| 신뢰성 | 높은 신뢰성(데이터 손실 시 재전송, 순서 보장) | 낮은 신뢰성(재전송 및 순서 보장 없음) |
| 속도 | 느림(신뢰성 유지 과정 필요) | 빠름(오버헤드 없음) |
| 용도 | 파일 전송, 이메일, 웹 브라우징 | 실시간 스트리밍, VoIP, 게임 |
| 헤더 크기 | 크다(20~60 bytes) | 작다(8 bytes) |