HTML URL에서 슬래시를 사용하는 목적은 무엇입니까?


18

일부 블로그 게시물은 /에서로 시작하는 값을 사용하는 링크가 있음을 발견했습니다 href.

예를 들면 다음과 같습니다.

<a href="/somedir/somepage.html">My Page</a>

선행 /은 경로가 사이트 루트에서 시작한다는 것을 의미 합니까 ?

즉, 사이트 URL이 www.mysite.com인 경우 유효 href값은 www.mysite.com/somedir/somepage.html?

이것은 모든 브라우저에서 허용되는 규칙입니까?


3
//somedomain.com/somedir/현재 페이지에 사용 된 것과 동일한 프로토콜을 사용하는 일부 링크에서 이중 슬래시 URL을 찾을 수도 있습니다 . stackoverflow.com/questions/4978235/… stackoverflow.com/questions/4831741/…
Hawken

답변:


19

/부모 나 자식 대신 의도 된 URL이 반환되도록 URL 로 시작하는 것이 중요합니다 .

찾아보기에 슬래시 /cream-cakes/blah.html없는 페이지에 링크가 있으면 슬래시가있는 페이지를 방문하려고 /cream-cakes/blah.html하지만 슬래시가 있으면 최상위 레벨을 의미한다고 가정합니다 domain.com/blah.html.

일반적으로 /의도 한 페이지가 반환된다고 가정해도 옳고 그름은 없지만 사이트 구조를 변경할 때 항상 내 경험에서 더 친숙하게 사용하는 것이 가장 좋습니다 .


12

선행 '/'는 경로가 사이트 루트에서 시작한다는 것을 의미합니까?

기술적으로이 섹션에서 참조 4.2RFC 3986「절대 경로 참조」:

단일 슬래시 문자로 시작하는 상대 참조를 절대 경로 참조라고합니다.

경로가 현재 디렉토리가 아닌 루트 디렉토리에 대한 절대 경로인지 확인합니다 ( "상대 경로"참조). 이에 대한 자세한 논의는 이것을 참조하십시오 .


이 유형의 링크에 대한 브라우저 지원을 해결할 수 있습니까?
Stephen Ostermiller

2
@Stephen 1998 년부터 모든 브라우저를 만들었습니다.
DisgruntledGoat

1
@DisgruntledGoat : 아마도 그보다 빠르다. 사실, 나는 사지에 가고 싶어 그냥 "모든 브라우저를 말한다 지금까지 "; 이 구문은 처음부터 URL 표준의 일부였습니다.
Ilmari Karonen

2

그것은 루트 상대 링크입니다. 상대 링크 (와 유사 ../)이지만 사이트의 루트에서 시작합니다. 사이트의 3 단계 깊이에있는 페이지가 슬래시와의 링크를 시작하면 나머지 경로는 사이트의 루트를 기준으로합니다.

이 형식의 경로를 사용하면 마크 업에서 문자 수가 줄어 듭니다.

http://example.com/page.html

vs

/page.html

다른 장점은 도메인 변경에 따른 이식성입니다. 경우 example.com콘텐츠는로 이동 example.org, 예를 들어, 루트 상대 링크가 여전히 작업, 같은 디렉토리의 이름을 가정 / 레이아웃을 사용하는 것입니다. 로컬로 페이지를 개발 한 다음 웹에 업로드 할 때 특히 유용합니다.

다른 유형의 경로 지정-상대 ( ../) 및 절대 ( )와 마찬가지로 http://...파일 또는 디렉토리의 이름을 바꾸거나 이동할 때도 링크를 업데이트해야합니다.


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