@
사용자의 일부로 기호 를 사용하는 것이 안전 합니까? 예를 들어 가능한 URL은입니다 http://example.com/@dave
.
요즘에는 사용자를 일반적으로 "@user"라고 부르는데 사용자 페이지를 "@username"으로 만들지 않겠습니까?
@
사용자의 일부로 기호 를 사용하는 것이 안전 합니까? 예를 들어 가능한 URL은입니다 http://example.com/@dave
.
요즘에는 사용자를 일반적으로 "@user"라고 부르는데 사용자 페이지를 "@username"으로 만들지 않겠습니까?
답변:
당신은 사용할 수 있습니다 @
당신이 경우 HTTP URI 경로에 문자를 퍼센트 인코딩 으로 %40
.
많은 브라우저에서 여전히으로 표시 @
하지만 예를 들어 URI를 텍스트 문서에 복사하여 붙여 넣으면 %40
.
백분율 인코딩 대신 @
HTTP URI 경로에서 직접 사용할 수 있습니다 .
URI 의 경로 는 구문을 참조하십시오 . 다양한 무관 절 제쳐두고 경로는 문자로 구성 될 수있다 segment
, segment-nz
또는 segment-nz-nc
세트. segment
그리고 segment-nz
로부터 문자로 구성 pchar
으로 정의 세트 :
pchar = unreserved / pct-encoded / sub-delims / ":" / "@"
보시 @
다시피이 명시 적으로 나열됩니다.
이 segment-nz-nc
세트는 또한 @
문자를 명시 적으로 나열합니다 .
segment-nz-nc = 1*( unreserved / pct-encoded / sub-delims / "@" )
따라서 다음과 같은 HTTP URI는 완전히 유효합니다.
http://example.com/@dave
다음은 Wikipedia 페이지의 예입니다.
http://en.wikipedia.org/wiki/%22@%22_%28album%29
당신이 볼 수 있듯이, "
, (
, 및 )
문자는 퍼센트 인코딩,하지만 @
과는 _
직접적으로 사용된다.
@
URL에서 더 이상 사용하지 않는 것으로 보이지만 이전 (?) 프로필 URL은 여전히 작동합니다. 퍼센트 인코딩 된 @
(작동하지 않음 !) 예제@
와 직접 사용 (작동 함) 일!) .
@
아닌 자유석 . 소비자는 가정하지 않아야 그래서 %40
와 @
동일합니다.
Many browsers would display it still as @, but e.g. when you copy-and-paste the URI into a text document, it will be %40.
Chrome에서는 그렇지 않습니다.
URL에 @-기호를 사용할 수 있습니까? - 예, 할 수 있습니다!
@ 문자, 16 진수 값 40, 10 진수 값 64는 URI 용으로 예약 된 문자입니다. mailto:
예를 들어 URI의 이메일 주소와 같은 용도로 사용됩니다.mailto:username@somewhere.foo
사용자 이름 및 비밀번호 정보를 전달하는 데 사용됩니다 (나쁜 생각이지만 가능합니다).http://username:password@somewhere.foo
경로에 @-기호가있는 URL을 원하는 경우 ""로 인코딩해야합니다. URL 인코딩 " 으로 인코딩해야 합니다. 예를 들면 다음과 같습니다.http://somewhere.foo/profile/username%40somewhere.foo
모든 최신 브라우저는 이것을 다음과 같이 표시합니다. http://somewhere.foo/profile/username@somewhere.foo 하고 @ -sign에 입력 한 모든 것을 다음으로 변환합니다.%40
하므로 사용하기 쉽습니다.
많은 웹 프레임 워크는 또한 자동으로 또는 도우미 기능을 사용하여 URL 인코딩 된 URL로 또는 URL로 변환하는 데 도움을줍니다.
요약하자면 : 예, URL에 @ -symbol 을 사용할 수 있지만 @ -character를 사용할 수 없으므로 인코딩되었는지 확인해야합니다 .
@
문자는 URL의 경로 부분에 인코딩 할 필요가 없습니다 ( greenbytes.de/tech/webdav/rfc3986.html#path )
기본적으로 아니.
@
예약 된 문자이며 의도 된 용도로만 사용해야합니다.
참조 : http://perishablepress.com/stop-using-unsafe-characters-in-urls/ 및 http://www.ietf.org/rfc/rfc3986.txt
인코딩으로 사용할 수 있지만 그게 당신이 요청한 것이라고 생각하지 않습니다.
분명히 최신 브라우저가이를 처리 할 것입니다. 그러나 이것이 안전한지 물었고 RFC 의 사양에 따라 의도 된 목적을위한 것이 아니라면 사용해서는 안됩니다 (인코딩되지 않음).