URL에 별표를 사용할 수 있습니까?


13

*URL에 별표 ( )를 사용해서는 안되는 이유가 있습니까?

배경:

별표를 사용하면 다음과 같이 훌륭하고 사용자 친화적 인 URL을 제공 할 수 있습니다.

  • example.com/some/folder/search-phrase*
    / some / folder /에있는 "search-phrase"로 시작하는 이름을 가진 페이지를 검색하는 것을 의미 합니다 .

  • example.com/some/**/*search-phrase*
    는 이름에 "search-phrase"가있는 페이지를 검색하는 것을 의미 합니다.

  • example.com/some/folder/*
    는 / some / folder / index 페이지를 표시하지 않고 / some / folder /에 모든 페이지를 나열 함을 의미 합니다 .



1
비슷한 SO 질문이 있습니다. URL에 별표가있을 수 있습니까? . 수정 될 때까지 Asterix :-/로 Asterisk 철자를 썼기 때문에 찾지 못했습니다 (아래의 Asterix 회신 참조 :-)).
KajMagnus

@KajMagnus 오늘 URL에 별표를 사용하여 처음으로 사이트를 찾았습니다. 아래의 업데이트 된 답변을 참조하십시오.
Nick

답변:


16

URL에서 Asterix를 사용하는 경우

URL에 Asterix 를 사용하는 것은 아마도 다음과 같은 이유로 큰 아이디어가 아닐 것입니다.

  1. UTF-8 또는 ASCII는 현재 Asterix를 표시 할 수 없습니다.
  2. 그는 표준 브라우저 주소 표시 줄에 얼룩이 있습니다.
  3. 나는 그가 그것을 매우 좋아하는지 의심합니다. 그리고 그는 꽤 큰 친구가 있습니다.
  4. 그냥 이상해

URL에서 별표 를 사용 하는 경우

URL에서 별표 (*)를 사용하는 것도 좋은 생각이 아닙니다. 예약 문자 이기 때문에 다른 곳에서는 사용되지 않습니다. URL 체계가 사용자에게 친숙해 보이지만 시도해 보려는 사람은 거의 없으며 URL에서 와일드 카드의 의미를 식별하기 어렵 기 때문에 예측할 수없는 결과를 얻을 가능성이 높습니다. (나는 당신의 설명을 읽을 때까지 모든 예가 무엇을 의미하는지 말할 수 없었습니다.)

뿐만 아니라 설명하는 것을 수행하는 의미적이고 의미있는 방법이 더있을 수 있습니다. 예를 들어, 쿼리 문자열을 추가하고 'find'및 'where'변수를 사용하여 메소드에 찾을 위치를 알려줍니다.

에서 '검색 구문'으로 시작하는 페이지 찾기 /some/folder/:

example.com/some/folder/?find=search-phrase&where=start

어디에서나 '검색어'가있는 페이지를 찾으십시오.

example.com/some/?find=search-phrase&where=anywhere

모든 페이지를 표시하려면 쿼리 문자열 또는 와일드 카드 구문 대신 'all'이라는 별도의 메소드를 사용합니다.

example.com/some/folder/all

쿼리 문자열 구문은 별표보다 훨씬 흔합니다. 예를 들어 다음에 Google 검색을 수행 할 때 검색 주소창을 보면 코딩이 더 쉬울 것입니다.

마지막으로 쿼리 문자열 모양이 마음에 들지 않으면 'search'라는 메서드 이름을 앞에 추가하고 다음 두 블록을 'find'및 'where'변수로 사용할 수 있습니다. 예를 들어

example.com/some/folder/?find=search-phrase&where=start

당신은 가질 수 있습니다 :

example.com/some/folder/search/search-phrase/start

그런 다음 URL 경로에서 '검색'키워드를 확인하고 다음 두 경로 세그먼트를 변수로 사용하여 검색 방법을 트리거하면됩니다.


업데이트 : 오늘 URL에서 첫 번째 별표를 발견했습니다. 새로운 archive.org 인터페이스는 'all'키워드 대신 설명 된대로 검색 기능의 일부로 정확하게 사용합니다. 예 :

http://wayback.archive.org/web/*/http://google.com

대신에

http://web.archive.org/web/20040214050058/http://www.google.com/

첫 번째 예는 특정 날짜의 페이지가 아니라 google.com의 모든 날짜 에서 보관 된 업체 정보를 반환 합니다 (두 번째 예). 흥미롭게도 Stack Exchange 사이트는 *문자 %2a가 URL에 나타날 때 와 같이 문자를 인코딩하여 archive.org에서 404가 발생 하기 때문에 라이브 페이지에 연결할 수 없습니다 . (URL에 별표를 사용하지 않는 다른 이유 일 수 있습니다.)

나는 여전히 '모두'만큼 명확하지 않다고 생각하지만 URL에 별표를 사용하는 다른 사이트의 예를 찾고 있다면 그것이 내가 본 첫 번째 사이트입니다.


Wrt Asterix : 뭐! 내가 "별표"를 의미한다고 생각 했습니까?
KajMagnus

Wrt Asterix : 오, 그래서 StackOverflow 또는 웹 마스터에서 관련 페이지를 찾지 못했습니다. 이제 SO에서 두 개의 관련 페이지를 찾았 습니다. URL에서 별표 허용URL에 별표가있을 수 있습니까?
-thanks

최종 사용자가 별표를 인식하는 방법에 대한 정보를 주셔서 감사합니다. 이제는 대신 쿼리 문자열을 선호합니다.
KajMagnus

(아스테릭스에 대한 참조에 대한 사례 누구의 불가사의 : 나는 별표 맞춤법이 틀린 나는 그것이라고 생각 아스테릭스 :-))
KajMagnus

11

예, 예약 된 문자이기 때문입니다.

다른 예약 문자

별표 ( "*", ASCII 2A 16 진수) 및 느낌표 ( "!", ASCII 21 진수)는 특정 체계 내에서 특별한 의미를 갖도록 사용하도록 예약되어 있습니다.

여기에서 : http://www.w3.org/Addressing/URL/4_URI_Recommentations.html

편집하다:

문자에 대한 섹션 2는 예약 된 문자, 예약 된 시간 및 일반 구문에서 분리 문자로 사용되지 않는 경우에도 예약 된 이유를 설명하기 위해 다시 작성되었습니다. 느낌표 ( "!"), 별표 ( "*"), 작은 따옴표 ( " '") 및 열기 및 닫기 괄호 ( "("및 ")")를 포함하여 일반적으로 디코딩하기에 안전하지 않은 마크 문자 , 예약자와 예약되지 않은 것의 차이점을 명확하게하고 계획 설계자의 가장 일반적인 질문에 대답하기 위해 예약 세트로 이동되었습니다.

여기에서 : http://labs.apache.org/webarch/uri/rfc/rfc3986.html#modifications


흠, *예 문자입니다. 그러나 그것은 하위 구분 기호 이며 URI 사양을 읽을 때 URI 의 경로 구성 요소 에서 응용 프로그램 특정 방식으로 하위 배달을 사용하는 것이 좋습니다 . -합니까이 사용에 그것의 확인을 의미하지 *(그리고 예 @, :, +, ,내가했던 방법을)?
KajMagnus

" 특정 체계 내에서 특별한 의미를 갖는 것으로 예약되어 있습니다 "라는 문구와 혼동됩니다 . 내 응용 프로그램 별 체계를 정의 할 수 없습니까? 하위 전달을 사용하여 웹 앱이 웹 앱 특정 방식으로 웹 앱을 사용하려는 의도 일 수 있습니까?
KajMagnus

가치있는 것을 위해, 여기 누군가 위키 백과는 URL에 별표를 허용하고 다른 누군가는 괜찮다고 말합니다 : URL은 별표를 가질 수 있습니까?
KajMagnus

기술적으로 가능한지 아닌지를 사용해야하는지에 대한 질문을 받았으며, 일반적인 아이디어는 자신이하는 일을 정확히 알지 못한다면 사용해서는 안된다는 것입니다.
Alex

나는 그 일반적인 대답에 동의하는지 모른다. 새로운 것을 배우는 방법은 그것이 어떻게 작동하는지 모르는 것을 배우고 나서 배우고 알아내는 것입니다. 사람들이 일반적으로 자신이 일하는 방식을 정확히 알고있는 것만 수행한다면 우리의 미래는 어떻겠습니까? (내가 릴리스 할 사전 알파 버전이므로 생산을위한 것은 아닙니다 :-))-정보와 링크에 감사드립니다 :-)
KajMagnus
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.