할 수 있는 문자를 uirl 잘못된?

할 수 있는 문자를 uirl 잘못된?

이들 유효함 url?

질문에 대한 의견 (2)

일반적으로 uri 로 정의된 [RFC 3986] (http://tools.ietf.org/html/rfc3986/) (http://otl. [섹션 2: 자] (http://tools.ietf.org/html/rfc3986 # 제 2) 포함할 수 있습니다 다음 84tb 문자:

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~:/?#[]@!$&'()*+,;=

참고로 이 목록에 있는 열린우리당, t 스테이드 doesn& # 39 이 문자를 발생할 수 있습니다.

퍼센트 인코딩 인코딩되지 필요가 있는 다른 모든 문자 ('%'' hh '). Uri 는 각 부분이 더 제한사항에 의심하였더라 문자) 에 의해 나타내야 하는 퍼센트 인코딩 말을해야합니다.

해설 (25)

일부 추가하여 바로 위의 질문에 대한 문제가 발생할 수 있는 몇 가지 종류의 문자로 주소 url 과 uri.

몇 가지 절대로 나타나지 않는 문자를 수 없고 URL / 문자 (아래 설명 참조), 그리고 다른 문자는 URI 를 스케줄됨 문제를 일으킬 수 있는 경우도 있지만, unwise&quot &quot 로 표시됩니다. 또는 &quot unsafe";). 이 문자는 제한되었거나 이유에 대한 설명이 명확하게 철자를 out in 1738년 [rfc (url)] [1] 및 [rfc 2396] [2] (uri). 새로운 [rfc 3986] [3] (rfc 업데이트하십시오 기록하십시오 1738년) 는 건설 뭐한테 문자는 주어진 컨텍스트로 허용되는 반면 이전 보다 간단하고 일반적인 설명 사양명세 는 다음 규칙으로 재배케하여 문자는 허용되지 않습니다.

열린우리당 내 문법을 제외된 US-ASCII 문자를 허용되지 않습니다.


   control     = 
   space       = 
   delims      = "" | "#" | "%" | 
해설 (9)

그 다음은 비실용적입니다 있기 때문에 실제 사용에 전혀 무시하시겠습니까 대부분 기존 주소 다음과 같습니다.

  • https://en.wikipedia.org/wiki/M & # bius_strip 또는 246.
  • https://zh.wikipedia.org/wiki/Wikipedia: 关于中文维基百科/en. 먼저 지엽으로 흐름 salesforce. 용어. 가 어떤 이 주소는? 그들은 유효함 url? 역사적으로, 해답은 sanlight no&quot ";). [Rfc 3986] 따르면 (https://tools.ietf.org/html/rfc3986), 2005년, 해당 주소를 않습니다를 uri (아니라 url, 따라서 url, 이후 [는 유형의 uri] (https://tools.ietf.org/html/rfc3986 # section-1.1.3)). 용어 표준을 제대로 해야 한다 (2005년), 그들을 부를 호스트당 ietf 에서 정의한 아이리스 (인터내셔널라이즈 resource identifiers) [rfc 3987] (https://tools.ietf.org/html/rfc3987) 에 의해 모든 것이 아니라 단순히 비 ascii 문자는 uri 는 기술적으로 착공 uri 에서 퍼센트 인코딩 변환할 수 있다. 현대 사양, 답은 yes&quot 호스트당 ";). 이 [WHATWG 살아있는 표준] (https://url.spec.whatwg.org), 이전에 불릴 만한 모든 것을 단순히 &quot URIs&quot 해당한다. 또는 &quot IRIs"; tpc. URLs&quot ";). 이 용어는 보통 사람들이 읽을 수 있는 방법을 정렬되고 스펙을 갖추고 있는 haven& # 39 라는 단어를 사용할 수 있는, URL&quot &quot 사양명세, t, s [목표] [1] # 39, spec& 중 하나였다.

    어떤 문자는 허용됩니까 WHATWG 살고 있는 표준?

    이 새로운 제꿈의 ";, 어떤 문자는 호스트당 URL&quot 허용됩니까? 곳곳에서 쿼리 문자열, 경로 we& # 39 와 같은 url 을 사용할 수 있도록 하고, 임의의 [&quot uirl units";] (https://url.spec.whatwg.org/ # url 단위), 즉 &gt. [Uirl 코드 포인트] (https://url.spec.whatwg.org/ # 코드 포인트를 uirl) 및 [퍼센트 인코딩 바이트입니다] (https://url.spec.whatwg.org/ # 퍼센트 인코딩 바이트입니다). 며칠입니까 uirl 코드 points&quot ";? &gt. URL, U, U + + 0021 (!) 는 ASCII 코드 포인트를 문숫자 0024 ($), U + + 0027 (& # 39;), 0026 (&), U U U U + + + 0028 왼쪽, 오른쪽 괄호 0029 002A 괄호 (), U, U + + + 002B 002C (,) (+), U, U + 002E 002D (-) (.), U, U, U + + + 002F (/) 003A 003B (;), U + 003D (.) (=) + + + 003F (?), U U U U + 007E 005F 0040 (@) (_) (~), 코드 점 포함) 를 제외하고, U + U + 00A0 maxvalorarray 10FFFD 써로게이트 및 농카레이스터스. (참고로, points&quot &quot uirl 코드 목록. # 39 는 '% %', 't 포함시키십시오 doesn& 존재할 수 있지만 그 코드를 &quot uirl units"; 퍼센트 인코딩 they& # 39 의 경우, 관련 부품 e0100042.log.) 내가 할 수 있는 유일한 배치하십시오 별색 사용하지 않는 * # 39 의 that& 사양명세 제도에서는 문자 집합 () 은 [호스트입니다] (https://url.spec.whatwg.org/ # 호스트입니다 먹어서나), 여기서 ipv6 주소는 ['와'] '에서' 인클로우저된 자입니다. 심지어 일부 허용 또는 그 밖의 모든 URL 을 uirl 단위가 더 제한적인 성장했다.

    오래된 rfc 에서 어떤 문자를 사용할 수 있었습니다.

    39, 역사, 그리고 생각해서라도 it& 개척한 이후 완전히 다른 곳에 있는 let& 검사, s, s not 여기에 대답을 아래의 # 39 의 사양 tfsnap 페어당 허용되었다.

    첫째, 우리는 두 가지 유형의 RFC 3986 [스케줄됨 자] (https://tools.ietf.org/html/rfc3986 # section-2.2):

    [] '@' *? :/ URI 에서 정의한 RFC 3986 에 속해 있으며, 일반 구문

    • ', & # 39, (), + &amp! $ =' # 39, t, s # 39 RFC& aren& 있는 부분이 있지만, 일반 문법을 사용할 수 있도록 특정 URI 로 유보됩니다 통사 요소이라고 구성표과. 예를 들어, 세미콜론 및 쉼표 일부로 사용되는 구문을 [데이터 uri] (https://en.wikipedia.org/wiki/Data_URI_scheme) 및 ',' 와 '=' 유비쿼터스 &amp 일부로 사용되는 ',' 형식으로 foo? = bar&amp 크스 = 배즈 쿼리하지 문장열 (RFC 3986, t # 39 있는 isn& 지정된). 위의 모든 스케줄됨 문자 인코딩 없이 할 수 있고, 그들의 목적 또는 통사 법적으로 URI 에서 사용되는 것처럼 ipv6-literal. 문자를 사용하여 data-in 몇 곳을 잘못 해석될 수 없는 문자 서비스 등 해당 통사 의미. (예를 들어, 비록 '/' 은 통사 의미 있는 url 을 사용할 수 있습니다 인코딩 안됨 질의에 구체화하십시오 있기 때문에 의미가 있는 t , # 39 doesn& 쿼리하지 구체화하십시오.) RFC 3986 예약되지 않은 문자를 나타내기 위해 사용될 수 있는 일부 , 지정하기도 항상 없이 단순히 데이터 인코딩입니다:
      • abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._ '~' 마지막으로, '%' 문자 자체가 퍼센트 인코딩 사용할 수 있습니다. 이렇게 함으로써 이래의 ASCII 문자 않는비즈니스 표시되지 않게 금기한 URL:
  • 제어 문자 (자 0 1f 및 7f) 등 신규 라인, 탭 및 케리지리턴.
  • &lt code>; \ {},,, &lt /code&gt &quot &lt &gt ^ ' Ascii 문자 사이에 다른 모든 기능을 uirl 법적으로 수 있습니다. 그리고 그 다음 유니코드 문자 집합을 연장시킵니다 RFC 3987 캐릭터와 예약되지 않은 범위:
  %xA0-D7FF / %xF900-FDCF / %xFDF0-FFEF
/ %x10000-1FFFD / %x20000-2FFFD / %x30000-3FFFD
/ %x40000-4FFFD / %x50000-5FFFD / %x60000-6FFFD
/ %x70000-7FFFD / %x80000-8FFFD / %x90000-9FFFD
/ %xA0000-AFFFD / %xB0000-BFFFD / %xC0000-CFFFD
/ %xD0000-DFFFD / %xE1000-EFFFD

이러한 블록 선택항목을 기괴한 및 임의의 주어진 것 [블록 redefinitions] 를 이전 사양명세 최신값 유니코드 (http://www.unicode.org/Public/UCD/latest/ucd/Blocks.txt). 이는 이후 작성된 RFC 3987 the decade 에서 추가된 블록 때문일 것이다.

마지막으로, 단순히 어떤 문자를 표시할 수 있는 것은 아마도 it& # 39 의 가치가 있는 것을 알 수 없지만, t # 39 는 일부 uirl isn& 충분하나니 표시할지를 때문에 일부 문자는 주어진 문자열을 법적고지 uirl 방관하겠나 미디어만을 법적고지 특히 부분을 uirl. 예를 들어, 예약 문자를 ' [' 와 ']' 이 같은 법적 일부로 ipv6-literal. ipv6 호스트 url 에 http://로 [1080년 800 200c 417a 8] / foo 하지만 aren& # 39, t, s # 39 때문에 다른 컨텍스트로 법적고지 믿지아니하며 op& 들 수 있다 ' (http://example.com/file)' [/] .html 불법이다. [1]: https://url.spec.whatwg.org/ # 목표

해설 (1)

[/] '는 질문에' (www.example.com/file) 에 보충 성령에 .html 유효함 uirl.

39 한 종류로, url 이 때문에 해당 url 을 isn& t 유효함 열린우리당과 구성표가 http 'like' 유효한 uri 있어야 합니다. (참조 rfc 3986).

묻지 않을 경우 그 다음 (http://www.example.com/file) '은' [/] .html 유효함 uirl 때문에 아직 아무 답이 aren& 대괄호 문자 # 39, t 유효함 할 수 있다.

광장은 브래킷에서 문자이어야 유보됩니다 url 을 이 형식: 'http://로 [2001년 db8 85a3 8a2e 370 7334] / foo / 표시줄에는' (예: ipv6 호스트 이름을 대신 ipv6-literal.)

39 의 RFC 3986 it& 읽을 만한 가치가 충분히 이해할 수 있도록 신중하게 스케쳐내 문제.

해설 (6)
    • 모든 문자를 사용할 수 있는 유효한 URI () 는 uirl 은 대한민국법상 열린우리당) 에서 정의됩니까 RFC 3986.

단, 다른 모든 문자를 사용할 수 있는 이들은 uirl &quot uirl Encoded&quot. 이번이 처음이다. 이 잘못된 문자가 변경, 특정 &quot 部门从 codes&quot. (일반적으로 퍼센트 기호 (%) 형태로 뒤에 진수 숫자).

이 링크를 HTML uirl 인코딩입니다 참조, 잘못된 문자 인코딩 목록이 포함되어 있습니다.

해설 (1)
  • 유니코드 문자 범위는 아직 어렵지만, 여러 유효함 HTML5* 지정값이 수 있는 좋은 아이디어 이를 사용할 수 있습니다.

E. g., href '문서' 라고 http://www.w3.org/TR/html5/links.html # href 속성을 하이퍼링크에:

&gt. Href 속성이 및 면적 요소 즉 잠재적으로 유효한 uirl 공백을 둘러싸인 값을 가져야 합니다.

그 정의는 유효함 URL&quot "; http://url.spec.whatwg.org/, 가리키는 것이라고 하는 것이 목표다.

&gt. Rfc 3986, RFC 3987 맞추십시오 함께 현대 구축 및 비활용 아니하시더라 이 과정에서.

이 문서는 eventtest [ uirl 코드 포인트 ] (https://url.spec.whatwg.org/ # 코드 포인트를 uirl) 구조로 되어 있다.

&gt. &Quot;;;;! &quot &quot 문숫자, ascii,,, & # 39$ &quot &quot &amp &quot &quot &quot ";;;;; (&quot ";;;; +&quot &quot &quot *&quot &quot &quot ";;;;;; - &quot &quot &quot .&quot &quot ";;;;, &quot /&quot :&quot &quot &quot ";;;;; = &quot &quot &quot @&quot &quot _&quot,,? ~ &quot &quot 수 있는 범위,, 코드 포인트, 수, U, U + 00A0 U+D7FF U+E000 U+FDCF U+FDF0 U+FFFD + + + U U U 로, 20000, U + + 2FFFD 1FFFD 10000mb 를 위해 U U U U + + + + 40000 30000 3FFFD, 수, U, U + + 5FFFD 4FFFD 위해 할 수 있는 U, U + 6FFFD 50000 + + + U, U 로 70000 60000 7FFFD + + + U U U 로, 수, U+A0000 9FFFD 80000 8FFFD 90000 U+AFFFD U+B0000 U+BFFFD U+C0000 U+CFFFD U+D0000 U+DFFFD, 수, 수, 수, 수, U, U + + 10FFFD 100000 U+FFFFD U+F0000 U+E1000 U+EFFFD 위해 할 수 있도록.

이 용어는 &quot uirl 코드 points"; 이날 성명을 통해 사용됩니다.

&gt. C 가 아닌 경우,, 구문 분석 오류 코드 포인트를 &quot %&quot uirl 아닙니다.

구문 분석 등 여러 부분에 있는 알고리즘입니다 스키마에는 쿼리하고 조각, 권한, 상대 경로를 다음과 같은 뜻이 있다. 그래서 기본적으로 전체 uirl.

또한, 패스, like '&quot 문법검사기 url http://validator.w3.org/ 你好&quot, '및' 공백 '는 다음과 같은 문자를 통해 url 을 통과하지 &quot b";

물론 대해 언급한 것은 물론 스티븐 캜, 단순한 문자 내용: 전체 알고리즘입니다 이해할 수 있습니다. 그러나 클래스용 &quot uirl 코드 points"; 주요 사용할 수 있는 좋은 아이디어, 이 점은 알고리즘입니다 뭐한테 방관하겠나 사용할 수 있습니다.

참고: https://stackoverflow.com/questions/2742852/unicode-characters-in-urls

해설 (0)

그래서 데릭쉐퍼드와 않습니다를 문자 보장-분리 url 을 문자열이어야 혼자 URL 에서 찾아볼 수 없는 문자 목록을 만들기로 했다.

>>> allowed = "-_.~!*'();:@&=+$,/?%#[]?@ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
>>> from string import printable
>>> ''.join(set(printable).difference(set(allowed)))
'`" '

그래서, 줄바꿈, 탭, 공간, 백슬래시 가능한 선택항목을 오른길로 &quot &lt &gt '와',, {} ^. 아마 내가 I& # 39, 공간 또는 ll go 를 줄 바꿈. )

해설 (1)

질문에 대한 답변을 하지만 검증중 url& # 39, s 는 정말 별로 심각한 p.i.t.a 도메니임 검증 및 부품, re 아마 그냥 you& # 39 더 나은 오프하도록 쿼리하지 남겨두십시오 url 의 것이다. 그게 내 경험하십시오. 그 결과 나왔는지 ping 이 방법으로 수도 있습니다 url 과 같은 간단한 일이 있을 수 있는 유효한 반응을 얻고 있지만 너무.

정규 표현식, s 는 구글 검색 url& # 39 이 발언이:)

해설 (2)

I came up with 몇 일반 텍스트 앵커 url 을 변환하시겠습니까 PHP 용 표현식에서는 될 것이다. (첫 번째 모든 korea. 변환됩니다. 그 모든 url 로 변환하여 http://로 url 을 https 로? :// a href =. html 링크를

'$ 구체화하십시오 = preg_replace (& # 39; / (https? :\/\/) ([! # $ & -; =? -\ [] _a-z ~ %] +) /sim& # 39, & # 39 &lt ";;; a href = $1$. $, & # 39 /a&gt 2&lt &gt 2";; preg_replace (& # 39; / (\s) ((www.) ([! # $ & -; =? -\ [] _a-z ~ %] +) /sim& # 39, & # 39, $ $ $ 문자열이어야 1http:// 2& # 39;) ), '

해설 (1)