file:///
로컬 파일에 연결 하려면 프로토콜 (예, 슬래시 3 개)을 사용해야합니다.
<a href="file:///C:\Programs\sort.mw">Link 1</a>
<a href="file:///C:\Videos\lecture.mp4">Link 2</a>
로컬 응용 프로그램에서 파일을 자동으로 열지 않습니다. 마지막 섹션에서 다룰 보안상의 이유입니다. 열리면 브라우저에서만 열립니다. 브라우저가 파일을 표시 할 수 있으면 파일을 표시 할 것입니다. 그렇지 않으면 파일을 다운로드 할 것인지 묻습니다.
많은 브라우저의 최신 버전 (예 : Firefox 및 Chrome)은 악의적 인 동작을 방지하기 위해 http 프로토콜에서 파일 프로토콜로의 교차를 거부합니다. 이 작업을 수행하려면 파일 프로토콜을 사용하여 웹 페이지를 로컬로 열어야합니다.
왜없이 붙어 file:///
있습니까?
URL의 첫 부분은 프로토콜입니다. 프로토콜은 몇 글자, 콜론과 두 개의 슬래시입니다. HTTP://
및 FTP://
유효 프로토콜이다; C:/
아니고 나는 그것이 제대로 닮지 않았다고 확신합니다.
C:/
또한 유효한 웹 주소가 아닙니다. 브라우저는 그것이 의도 된 것으로 가정 할 수 있습니다http://c/
는 빈 포트가 지정 있지만 실패합니다.
브라우저가 로컬 파일을 참조한다고 가정하지 않을 수 있습니다. 공용 사이트는 일반적으로 사람들의 로컬 파일에 연결하려고 시도하지 않기 때문에 이러한 가정을 할 이유가 거의 없습니다.
따라서 로컬 파일에 액세스하려면 파일 프로토콜을 사용하도록 지시하십시오.
왜 세 개의 슬래시?
File URI 스킴 의 일부이기 때문 입니다. 처음 두 슬래시 다음에 호스트를 지정할 수 있습니다. 호스트 지정을 건너 뛰면 PC에서 파일을 참조한다고 가정합니다. 이는 file:///C:/etc
바로 가기를 의미 합니다 file://localhost/C:/etc
.
이 파일들은 여전히 브라우저에서 열리 며
브라우저는 인터넷 어디에서나 동일한 파일에 응답하는 것과 동일한 방식으로이 파일에 응답합니다. 이러한 파일 은 기본 파일 처리기 (예 : MS Word 또는 VLC Media Player)에서 열리지 않으며 파일 탐색기에 파일 위치를 열도록 요청하는 등의 작업을 수행 할 수 .
이것은 보안에 매우 좋습니다.
브라우저의 사이트는 운영 체제와 잘 상호 작용할 수 없습니다. 좋은 사이트 오픈에 컴퓨터를 말할 수 있다면 lecture.mp4 에서 VLC.exe , 악의적 인 사이트 오픈에 말할 수 virus.bat 에서 cmd.exe를 . 또는 컴퓨터에 몇 개의 Uninstall.exe 파일 을 실행 하거나 파일 탐색기를 백만 번 열도록 지시 할 수 있습니다 .
이 방법은 편리하지 않을 수 있지만 HTML 및 브라우저 보안은 실제로 수행중인 작업에 맞게 설계되지 않았습니다. 당신이 열 수 있도록하려면 lecture.mp4 에서 VLC.exe 대신 데스크톱 응용 프로그램을 작성하는 것이 좋습니다.