2012-10-26 1 views
1

우리는 특수 문자 종류의 가진 "좋은"URL의 목적 패배하는 이스케이프해야합니다 말한다이 문자는 HTML5 문서의 href에있는 URL에서 실제로 유효합니까? :; &

http://www.nowhere.nu/path/file;key:value,key2:value2.html 

이 문서와 같은 URL이 계획 :

http://www.blooberry.com/indexdot/html/topics/urlencoding.htm

그러나 주요 브라우저를 테스트 할 때이 위치에서 urlencode;와 and는 필요하지 않습니다.

브라우저가 작동하지 않는 곳에서 인기있는 브라우저를 제공 할 수 있습니까? 치즈?

& (유효하지 않지만 작동 함)에 대한 비슷한 질문은 & amp; (유효한).

+1

http://stackoverflow.com/questions/1547899/which-characters-make-a-url-invalid. 어떤 세상에서 "좋은"URL입니까? 좋은 URL은 글자 단위로 글자를 쓰지 않고도 말로 표현할 수 있다고 주장합니다. 해당 사이트 참조가 이후 대체 된 추가 문자 (예 :';')가 유효 함 –

+0

감사합니다. 1547899에 대한 답변을 이미 보았습니다. 그러나 실제로 RFC에서 유효하지 않은 부분에 더 관심이 있습니다. , 그러나 그것이 어떻게 다루어 져야하는지 여전히 조언한다. 또한, 그건 내 생각이 아니 었습니다. – Adder

답변

3

의견에서 언급했듯이 언급 된 정보는 구식입니다. 의심스러운 문자는 안전을 위해 도주해야합니다.

URL을 사용하면 2 명의 대상 잠재 고객 인 사람과 기계가 있습니다. 대부분의 사용자는 영숫자 인 ./을 제외한 URL 경로를 효율적으로 처리 할 수 ​​없습니다. 효율성이 떨어지면 호스트 이름을 지나치게됩니다. 그래서 본질적으로 당신이 인코딩해야 할 캐릭터에 도달하면, 당신은 이미 인간 친화적 인 존재가되지 못했습니다. 많은 사람들은 장소 바가 혼자서주의를 기울이지 않는다는 것을 알지도 못합니다.

반면에 기계는 이스케이프 된 문자에 문제가 없습니다. 그들은 에 인식 할 수없는 이스케이프되지 않은 문자에 문제가있을 수 있습니다. HTTP는 엄청나게 단순하기 때문에 매시업과 같은 일을하기 위해 약간의 맞춤 클라이언트를 포함하여 사용할 수있는 수많은 고객이 있습니다. 따라서 주요 브라우저가 이스케이프 처리되지 않은 문자를 통해 이동할 수 있다고해도 예상치 못한 클라이언트가 손상 될 수 있습니다. 전반적으로 실질적인 혜택은 없지만 위험은 더 높습니다.