개발천재

Query string과 Path Variable 본문

개발 준비/기타

Query string과 Path Variable

세리블리 2025. 2. 6. 21:31
반응형

웹 개발에서 클라이언트와 서버가 데이터를 주고받을 때, URL을 통해 원하는 정보를 전달하는 방법에는 여러 가지가 있다. 그중 대표적인 방식이 Query String과 Path Variable이다. 두 방법 모두 서버로 데이터를 전달하는 역할을 하지만, 사용 목적과 방식에서 차이가 있다. Query String은 URL의 끝에 ?key=value 형태로 데이터를 추가하는 방식이며, 보통 검색이나 필터링과 같은 기능에 사용된다. 반면, Path Variable은 URL 경로 자체에 값을 포함하는 방식으로, 특정 리소스를 식별할 때 활용된다.

 

Query String (쿼리 스트링)

URL의 끝에 물음표 (?)를 기준으로 매개변수를 추가하는 방식이다. Query Parameter라고도 한다. 매개변수는 key=value 형식으로 전달되며, 여러 매개변수는 앰퍼샌드 (&)로 구분한다.

 

Query String은 여러 값을 함께 전달하거나 검색과 필터링에 유용하다. URL에 값이 노출되기 때문에 민감한 정보는 피해야 하며, 값의 개수가 많을 때 유리하다.

// name과 age라는 매개변수를 전달
http://localhost/idol?name=장원영&age=20
http://localhost/idol?name=안유진&age=22


고정된 경로 뒤에 ?를 사용하여 매개변수를 추가한다. URL에 매개변수가 노출되므로, 데이터가 URL에 그대로 보이게 되므로 필터링, 검색, 페이지네이션 등 여러 개의 값을 클라이언트 측에서 전달할 때 유용하다.

 

Query String 방식은 여러 개의 값을 한 번에 전달할 수 있다. URL에서 값이 명시적으로 보이므로 디버깅이나 테스트에 유리하다는 장점이 있다. 단, 중요한 데이터는 URL에 직접 노출되므로, 보안상 유의해야 한다.

 


 

Path Variable (경로 변수)

URL 경로의 일부로 값을 전달하는 방식이다. URL 경로의 일부를 변수처럼 사용하여, 동적으로 값을 전달한다.

 

Path Variable은 리소스를 식별하는 데 적합하며, URL 구조가 깔끔하고 직관적이다. 주로 데이터베이스의 ID를 사용한 조회에 많이 사용된다.

http://localhost/idol/1
http://localhost/shoes/detail/3
http://localhost/foods/detail/1

 

경로의 일부로 값을 전달하며, 매개변수의 이름은 URL의 경로에 포함된다. URL에 매개변수가 노출되지 않지만, 값은 URL에 포함되어 있다. 이 방식은 주로 리소스를 식별할 때 사용된다. 따라서 특정 리소스를 조회하거나 수정하는 데 적합하다. 예를 들어, http://localhost/idol/1은 id가 1인 아이돌을 조회하는 요청이 될 수 있다.

Path Variable 방식은 주소 구조가 깔끔하고 리소스를 명확히 식별할 수 있다는 장점이 있다. 값이 경로에 숨겨지기 때문에 쿼리 스트링보다 보안상 유리할 수 있다. 단, 동적 경로가 필요할 때만 사용 가능하며, 여러 개의 값을 전달할 때는 경로가 복잡해질 수 있다. 또한 값의 종류나 수가 명확하게 정해져 있어야 한다.

 


 


두 방법은 목적과 상황에 따라 적절하게 혼합해 사용할 수 있다. 예를 들어, http://localhost/idol/1?name=장원영처럼 경로 변수와 쿼리 스트링을 함께 사용할 수도 있다.

 

혼합해서 사용하는 경우(쿼리스트링 + 경로변수)

https:// localhost:8080/shoes/3?name=nike
반응형

'개발 준비 > 기타' 카테고리의 다른 글

CORS(Cross-Origin Resource Sharing)  (0) 2025.02.05
쿠키(cookies)와 세션(session)  (0) 2025.02.03