🌿 중급 백엔드
쿼리 스트링이 뭔가요?
쉽게 이해하기
편의점에서 '아메리카노 샷 추가, 얼음 많이'라고 주문하는 것처럼, URL에도 추가 옵션을 붙일 수 있어요. 기본 주소 뒤에 물음표(?)를 붙이고 원하는 조건들을 나열하면, 서버가 그 조건에 맞는 결과를 돌려줍니다.
핵심 정리
URL 끝에 붙는 '?key=value' 형식의 데이터 전달 방법이에요.
자세히 알아보기
쿼리 스트링은 URL 끝에 물음표(?) 뒤에 붙는 key=value 쌍들이에요. 예를 들어 'google.com/search?q=날씨&location=서울'처럼 검색어와 지역을 전달할 수 있죠. 여러 개의 파라미터는 앰퍼샌드(&)로 연결해요. 서버는 이 값들을 읽어서 필터링, 정렬, 페이지네이션 등을 처리합니다.
쿼리 스트링은 GET 요청에서 주로 사용돼요. 쇼핑몰에서 상품을 검색하면 'product?category=전자기기&sort=price&page=2' 같은 URL을 볼 수 있어요. 이렇게 하면 URL을 공유했을 때 똑같은 필터 조건을 유지할 수 있고, 브라우저 뒤로가기도 제대로 작동하죠. 또한 이 URL을 북마크하면 나중에 같은 검색 결과를 바로 볼 수 있어요.
Path 파라미터와 다른 점은 용도예요. Path는 리소스 자체를 식별하고('/users/123'), 쿼리 스트링은 리소스를 어떻게 보여줄지 조건을 지정해요('/users?role=admin&limit=10'). 둘을 함께 쓰면 '/users/123/posts?status=published'처럼 특정 사용자의 게시물 중 공개된 것만 가져올 수 있죠.
주의할 점은 쿼리 스트링에 비밀번호 같은 민감한 정보를 넣으면 안 된다는 거예요. URL은 브라우저 히스토리, 서버 로그, 리퍼러 헤더 등 여러 곳에 기록되기 때문이죠. 또한 길이 제한이 있어서(보통 2000자) 많은 데이터를 보낼 땐 POST 요청의 바디를 사용해야 합니다.