RFC 10008로 새롭게 정의된 HTTP QUERY 메소드에 대한 설명
기존 RESTful API에서 복잡한 검색을 처리할 때 GET과 POST 모두 한계가 있었는데, 이를 해결하기 위해 오랜 논의 끝에 QUERY 메소드가 표준화됨
GET의 한계
- 복잡한 필터나 관계형 쿼리를 URL 파라미터로 보내면 URL이 지나치게 길어지고, 브라우저나 서버의 글자 수 제한에 걸릴 수 있음
- 비ASCII 문자나 특수문자는 인코딩이 필요해 요청 크기가 증가
- 배열이나 중첩 구조의 표현 방식이 표준화되어 있지 않음 (예: roles[]=admin vs roles=admin)
- 서버/미들웨어가 URL 파라미터를 로그에 기록하므로 민감한 데이터 전송 시 문제
- GET에 요청 본문을 보내는 것은 스펙상 명시적으로 금지되진 않지만, 프록시/방화벽/브라우저마다 처리 방식이 달라서 실질적으로 사용 불가
POST 우회의 문제
- 요청 본문은 보낼 수 있지만, POST는 비멱등(non-idempotent)으로 정의되어 있어 실패 시 자동 재시도가 안전하지 않음
- 프록시나 미들웨어가 읽기 전용 작업임을 인식할 수 없어 자동 캐싱 등의 최적화가 불가능
- 의미론적으로 리소스 생성/처리용인 POST를 검색에 사용하는 것은 RESTful 설계 원칙에 맞지 않음
QUERY 메소드
- GET처럼 안전(safe)하고 멱등(idempotent)하면서, 요청 본문을 포함할 수 있는 새로운 HTTP 메소드
- 캐싱 가능하지만, 구현 시 요청 본문을 캐시 키에 포함해야 하므로 GET보다 캐싱 구현이 복잡
- 요약하면 "읽기 전용 요청에서 POST를 대체"하는 것이 핵심 목적
주의사항
- 클라이언트/프록시/서버의 QUERY 지원이 아직 제한적이며, 완전한 지원까지는 시간이 걸릴 수 있음
- 단순한 GET 쿼리 파라미터로 충분한 경우에는 굳이 변경할 필요 없음
- 필터된 데이터의 URL 공유나 북마크가 필요한 경우엔 여전히 GET이 적합

2 hours ago
1




![[오피셜] ‘불꽃슈터’ 전성현, KT서 ‘퍼펙트 10’ 파트너 문성곤과 재회…서민수도 3년 계약](https://pimg.mk.co.kr/news/cms/202605/28/news-p.v1.20260528.c55346b19e8f45bfb362482843760fb3_R.png)


![[속보] 李대통령, 내달 8일 청와대서 취임 1주년 기자회견](https://img.hankyung.com/photo/202605/ZA.44432457.1.jpg)
![[속보] '선발 제외' 김혜성 좌익수 교체 투입→첫 타석 158㎞ 총알 안타 폭발](https://image.starnewskorea.com/21/2026/05/2026052811221651742_1.jpg)
!['나는 솔로' 31기 단체 회식서 옥순·영숙 포착..경수♥순자는 없었다 [스타이슈]](https://image.starnewskorea.com/21/2026/05/2026052809070688512_1.jpg)
English (US) ·