HTTP는 두 개의 슬래시로 시작합니다. 예 http://example.com
.
FTP도 마찬가지입니다. 예 ftp://example.com
.
그러나 "URL"파일은 세 개의 슬래시로 시작합니다. 예 : 크롬을 사용하여 pdf 파일을 읽으면 URL은입니다 file:///D:/Desktop/Book.pdf
.
파일 URL에 세 개의 슬래시가 사용되는 이유 는 무엇 입니까?
HTTP는 두 개의 슬래시로 시작합니다. 예 http://example.com
.
FTP도 마찬가지입니다. 예 ftp://example.com
.
그러나 "URL"파일은 세 개의 슬래시로 시작합니다. 예 : 크롬을 사용하여 pdf 파일을 읽으면 URL은입니다 file:///D:/Desktop/Book.pdf
.
파일 URL에 세 개의 슬래시가 사용되는 이유 는 무엇 입니까?
답변:
다른 사람들이 언급했듯이 파일 스키마는 "file : // <host> / <path>"형식입니다. 대부분의 브라우저에는 슬래시가 두 개뿐이므로 문제가 없습니다.
트리플 슬래시와 "localhost"키워드는 모든 것이 동일하므로 유효한 URI / URL 구문을 준수하기 위해서만 존재합니다. 파일 스키마의 맥락에서 호스트는 명시적인 전송 프로토콜이나 서버 문서 경로없이 파일 시스템에서 직접로드되므로 의미가 없습니다. HTTP가 아니기 때문에 이론적으로 여러 로컬 가상 호스트를 설정할 수있는 표준 웹 서버에서로드 할 수 없습니다. 브라우저는 단지 "file : /// volumes / foo"와 같은 볼륨 이름을 사용하기 때문에 기술적으로 다른 "호스트"인 표준 네트워크 볼륨에서로드 할 수 없습니다. 마지막으로 "file : //example.com/some/file"과 같은 시도는 작동하지 않습니다. 외부 호스트를 지원해야 할 이유가있을 수 있지만 생각할 수는 없습니다.
IETF는 현재 트리플 슬래시 요구 사항을 제거하기 위해 변경 사항을 작성하고 있지만이 초안에는 file:c|/path
and 및 file://///host.example.com/path
.
https://tools.ietf.org/html/draft-ietf-appsawg-file-scheme-03
"3.이 사양은 비 로컬 파일에 액세스하기위한 메커니즘을 정의하거나 금지하지 않습니다."
전체 구문은 file://host/path
입니다.
호스트가 localhost
인 경우 생략하여 결과를 얻을 수 있습니다 file:///path
.
RFC 1738 – URL (Uniform Resource Locator)을 참조하십시오 .
파일 URL의 형식은 다음과 같습니다.
file://<host>/<path>
[…]
특별한 경우,
<host>
문자열 "localhost"또는 빈 문자열 일 수 있습니다. 이것은 'URL이 해석되는 기계'로 해석됩니다.
localhost
다른 프로토콜에서도 생략 할 수 있습니까 file://
? 아니면 작동 합니까?
데니스은을 분리하는 데 필요한 3 슬래시 설명했다 host
으로부터를 path
하지만, 다른 두 사람은 훨씬 더 재미있다 ...
그것들은 URL 구문에 쓸모없고 다소 임의적 인 것으로 밝혀졌습니다. 월드 와이드 웹의 발명자이자 많은 표준 ( Dennis가 연결 한 RFC 포함) 의 저자 인 Tim Berners-Lee 는 2009 년 인터뷰에서 '이중 슬래시'사용에 대해 애도했습니다.
Berners-Lee 씨는 당시의 프로그램 컨벤션이 실제로 필요하지 않은 것으로 나타 났지만 이중 슬래시가 설명했다. 그는 모든 종이와 나무를 보아 사람들이 종이에 그 슬래시를 쓰거나 타이핑 할 필요가 없다면 구원받을 수 있다고 말했다. 브라우저 주소 상자에 시간.
http://bits.blogs.nytimes.com/2009/10/12/the-webs-inventor-regrets-one-small-thing/
그래서, 후 18 년 전 선견지명에있는 작은 (그리고 특색) 경과에 대한 저장 파일의 URL은 쉽게 수 있었다 file:/D:/Desktop/Book.pdf
보다는 file:///D:/Desktop/Book.pdf
.
귀하의 질문에 대답하기 위해 URL에 3 개의 슬래시가있는 이유는 없습니다.
업데이트 : @ComFreek가 주석에서 지적했듯이 2017 년 file:/D:/...
현재 위 의 예가 유효합니다! RFC 8089 덕분에 이전 표준에서이 수정 사항을 구체적으로 호출합니다.
[RFC1738]의 정의에 따르면 파일 URL은 항상 "file : //"토큰으로 시작하고 뒤에는 선택적으로 공백 인 호스트 이름과 "/"가옵니다. 섹션 2에 제공된 구문은 이중 슬래시 "//"를 포함하여 전체 권한 구성 요소를 선택 사항으로 만듭니다.
살아있는 시간.
http:example.com
대신 사용하여 저장할 수 있다는 것은 말할 것도 http://example.com
없지만 많이 보이지는 않지만 합쳐집니다. Google은 하루에 수백만 건의 검색을 받습니다 . 한 페이지에 몇 개의 링크가 있습니까? 적어도 20. 즉, 백만 회 검색의 경우 슬래시가 필요하지 않은 경우 20MB의 대역폭을 절약 할 수 있습니다.
http://example.com
와 같이 링크 될 수 있습니다 //example.com
. 프로토콜 상대 URL 이라고하며 모든 브라우저가 지원합니다.
file://localhost/D:/Desktop/
자동으로 확장합니다 .