사용자에게 보여지는 페이지의 URL을 구성하면서, 또 서버 API 요청 URL을 구성하면서 path param과 query param 에 대한 정확한 개념이 잡혀 있지 않아서 찾아 보게 되었다. 글이 REST API에 이용되는 경우에 한정되지는 않았지만 어쨌든 기반되는 내용이니 해당 시리즈로 묶었다. 👀
(URL Parameters / Query Strings)
콘텐츠를 필터링하고 구성하는 데 도움을 주기 위해 URL에 삽입되는 요소
/users?id=123&sort=newest
페이지에 표시되는 콘텐츠를 수정
https://domain.com/t-shirts?color=black
는 검정색 티셔츠를 보여주기 위해 페이지를 업데이트사용자가 어느 네트워크에서 유입되었는지, 사용자가 클릭한 광고 등 정보를 기록
https://www.domain.com/?utm_source=newsletter&utm_medium=email
는 이메일 뉴스레터의 트래픽을 추적검색 엔진은 모든 URL을 별도 취급하므로, URL parameter로 생성된 동일한 페이지의 여러 버전은 중복 콘텐츠로 간주될 수 있음
여러 매개변수가 복잡하게 얽혀있는 URL이 동일하거나 유사한 콘텐츠를 가리키므로, 크롤러가 대역폭을 낭비하거나 콘텐츠 색인화에 어려움을 겪을 수 있음
동일한 키워드를 놓고 여러 페이지가 경쟁하므로, 검색 엔진이 어떤 페이지로 랭킹을 매겨야 할지 혼동할 수 있음
동일한 콘텐츠를 포함한 URL이 여러개면, 사용자들은 parameter가 이용된 페이지로 갈 수도 있으므로 메인 페이지의 전체 랭킹이 낮아질 수 있음
검색 엔진 결과 페이지(SERP, Search Engine Result Page)에 표시될 때 신뢰할 수 없어 보이므로 사용자가 클릭할 가능성이 낮아짐
클라이언트의 요청을 통해 서버에 전달하는 URL parameter
매개변수 직접 포함, 경로를 변수로 사용 (엔드 포인트의 일부)
/users/123
어떤 resource를 식별하고 싶은 경우 사용 (전체 정보를 불러오고 싶을 때)
https://ryan-han.com/post/translated/pathvariable_queryparam/
https://hyriverstudy.tistory.com/33
https://www.semrush.com/blog/url-parameters/
https://devraphy.tistory.com/509