728x90

0. 개요
IETF에서 20년 만에 새 HTTP 메소드가 최근에 정식 표준(RFC 10008)으로 채택됐길래 확인해보았다.
https://datatracker.ietf.org/doc/rfc10008/
RFC 10008: The HTTP QUERY Method
This specification defines the QUERY method for HTTP. A QUERY requests that the request target process the enclosed content in a safe and idempotent manner and then respond with the result of that processing. This is similar to POST requests, but QUERY req
datatracker.ietf.org
1.QUERY 메서드 정의
새로 추가되는 Query 메서드의 정의? 사용이유는 다음과 같다고한다.
QUERY 메소드는 요청 본문(Content)을 포함하는 안전하고(Safe) 멱등적인(Idempotent) 요청을 만들기 위한 수단입니다.
쉽게 말하면 GET의 규칙을 지키면서 POST처럼 본문(Body)을 쓰는 메소드라는 의미인거같다.
2.왜 사용해? - 기존 문제
데이터를 조회할 때 조건이 너무 많으면 URL이 쿼리 파라미터 때문에 길어지는게 지금 GET메서드를 쓸때의 상황이다.
GET /users?age_gt=20&city=Seoul&hobby=soccer&job=engineer&status=active&sort=name&page=1&limit=10...
POST를 쓰면 문제가 해결되긴하는데, POST는 원래 서버 데이터를 변경할 때 쓰는 메소드라 조회에서 사용하는건 가능하긴하지만 자동 캐싱도 불가능하고 적절하지않다고 볼수있다.
POST /users/search
Content-Type: application/json
{
"age_gt": 20,
"city": "Seoul",
"hobby": "soccer",
"job": "engineer"
}
조회에서 사용할때 특히 POST는 서버의 변경을 위한 메서드라 사용자가 새로고침이나 뒤로가기를 했을떄 브라우저가 POST를 다시 하는것을 막기위해 재확인 창을 띄우는등 불편한 상황들이 발생할수 있다.

3. 왜사용해? - query를 사용할 경우
URL이 길어질 걱정이 없고, 단순 조회이기 때문에 안전하며 브라우저 캐싱도 정상적으로 활용할 수있다.
GET의 특징을 가지면서 기존 쿼리파라미터로 url이 길어지던걸 Body로 옮긴거다.
QUERY /users
Content-Type: application/json
{
"age_gt": 20,
"city": "Seoul",
"hobby": "soccer",
"job": "engineer"
}
4. 많이 쓰게 될까?
개인적으로 보기에 잘만든 메서드라고 생각한다.
하지만 WAF같은 기존 보안적인 요소나 CDN기업들의 업데이트같은 현실적인 제약조건들이 존재하기 때문에 아마 몇년동안은 실제로 사용되는 모습은 보기힘들지 않을까 싶다.
지금은 이런 메서드가 새로 생긴것만 기억해두고 인프라가 충분히 구성되면 그때는 대세의 메서드가 될거같다.
728x90
'Computer Science > 개발지식' 카테고리의 다른 글
| [개발지식] 멱등성(Idempotency), 멱등성 키(Idempotency Key) (0) | 2026.07.13 |
|---|---|
| [개발지식] WS(Web Server) (0) | 2026.04.27 |
| [개발지식] API 버전관리 , API 시맨틱 버저닝 (0) | 2026.04.24 |