내 URL에 행렬 또는 쿼리 매개 변수를 사용할지 궁금합니다. 그 주제에 대한 오래된 토론 이 만족스럽지 않다는 것을 알았습니다 .
예
- 검색어 매개 변수가있는 URL : http : //some.where/thing? paramA = 1 & paramB = 6542
- 매트릭스 매개 변수가있는 URL : http : //some.where/thing; paramA = 1; paramB = 6542
첫눈에 매트릭스 매개 변수는 장점 만있는 것 같습니다.
- 더 읽기 쉬운
- XML 문서에서 "&"의 인코딩 및 디코딩이 필요하지 않습니다.
- "?"가 포함 된 URL 많은 경우에 캐시되지 않습니다. 행렬 매개 변수가있는 URL이 캐시됩니다
- 매트릭스 매개 변수는 경로의 모든 곳에 나타날 수 있으며 그 끝으로 제한되지 않습니다
- 행렬 매개 변수는 둘 이상의 값을 가질 수 있습니다.
paramA=val1,val2
그러나 단점도 있습니다.
- JAX-RS 와 같은 몇 가지 프레임 워크 만 매트릭스 매개 변수를 지원
- 브라우저가 GET을 통해 양식을 제출하면 매개 변수가 쿼리 매개 변수가됩니다. 따라서 동일한 작업에 대해 두 가지 종류의 매개 변수로 끝납니다. REST 서비스 사용자를 혼동하지 않고 서비스 개발자의 노력을 제한하기 위해이 영역에서 항상 쿼리 매개 변수를 사용하는 것이 더 쉽습니다.
서비스 개발자는 매트릭스 매개 변수를 지원하는 프레임 워크를 선택할 수 있으므로 브라우저가 기본 쿼리 매개 변수로 작성한다는 단점 만 남아 있습니다.
다른 단점이 있습니까? 당신은 무엇을 하시겠습니까?