URL의 슬래시(/)는 '계층 구조'를 표현한다. 웹을 만든 팀 버너스리는 1996년, 슬래시만으로는 부족하다고 봤다. 색상·크기·모양처럼 순서가 의미 없는 '다차원 좌표'를 어떻게 하나의 주소에 담을 수 있을까? 그의 답이 바로 매트릭스 URI다. 세미콜론(;)으로 이름-값 쌍을 묶어 /a;x=1;y=2/b 처럼 경로의 각 구간마다 파라미터를 붙이는 방식이다. 쿼리스트링(?)이 URL 맨 끝에 딱 한 번만 붙는 것과 달리, 매트릭스 파라미터는 계층 중간중간에 좌표를 심을 수 있다는 점이 핵심이다. 하지만 이 문법은 끝내 표준으로 정식 채택되지 못했다. 서버 지원이 부족했고, 더 단순한 쿼리스트링과 REST 관례가 시장을 장악했기 때문이다. 그럼에도 아이디어 자체는 죽지 않았다. JAX-RS의 @MatrixParam이나 스프링 같은 일부 프레임워크에 '매트릭스 파라미터'라는 이름으로 흔적을 남겼다. 표준이 되지 못한 좋은 설계가 우리가 매일 쓰는 도구 곳곳에 유령처럼 살아 숨 쉰다는 점이 묘하게 흥미롭다. 웹의 '가지 않은 길'을 들여다보는 일은, 지금의 URL이 왜 이런 모습인지 다시 생각하게 만든다.