"href"의 공백이 유효합니까?


답변:


7

(X) HTML5에서 a요소href속성

[…]은 공백으로 둘러싸인 유효한 URL 값을 가져야 합니다 .

앵커가 제안한대로 앞뒤 공백이 포함될 수 있습니다 .

링크 된 섹션은 이러한 공간이 제거 될 것임을 분명히합니다 .

[…] 사용자 에이전트는 문자열의 시작 또는 끝에있는 모든 공백 문자 를 제거해야 합니다. […]


실제 URL이 공백으로 시작하거나 끝나거나 공백을 포함하는 경우을 백분율로 인코딩해야합니다 %20.

이러한 요소는 다른 URL 값을 갖습니다.

<a href=" foo"></a> <!-- the URL is <foo> -->
<a href="%20foo"></a> <!-- the URL is < foo>, i.e., <%20foo> -->

이러한 요소는 동일한 URL 값을 갖습니다.

<a href="%20foo"></a>
<a href="%20foo "></a>
<a href="%20foo   "></a>
<a href=" %20foo"></a>
<a href="    %20foo"></a>
<a href="    %20foo    "></a>

0

왜 이렇게 하시겠습니까? 누가 그런 코드를 작성합니까? ""사이에 불필요한 공간이 있습니다.

리터럴 공백은 URL에서 허용되지 않으며 데이터의 일부가 아닙니다. 사람이 소비 할 수있는 형식입니다.

공백을 제거해야합니다. 일부 브라우저는이를 공간으로 렌더링합니다.

공백이 유효합니다. 하나는 공백이 있고 다른 하나는 공백이 없기 때문에 둘 다 다릅니다. 즉, 형식이나 링크가 다릅니다.


0

네, 공간을 사용하면 오류가 발생하면 다른 방법으로 작성할 수 있습니다.

href는 공백을 지원하는 URL이므로 공백을 "% 20"으로 바꾸십시오.

<a href="%20#id"> </a>

"#id"가 아닌 "#id"가됩니다.

예 :

<a href="?How%20Are%20You">How are you?</a>

-1

유효성 검사기를 통해 직접 마크 업을 실행하여 작성한 내용이 유효한지 확인할 수 있습니다. 그러나 유효한 마크 업이 항상 유효한 전송을 나타내는 것은 아니며 공백 URL로 인코딩 되어야합니다 (해시 마크도).

Stackoverflow를 검색하여 자세한 내용을 확인할 수 있습니다. 특히이 SO 대답 . 당신의 캐릭터는 사용하기에 안전하지 않습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.