반응형
절대경로는 파일의 주소를 전부 기술하는 방법입니다.
유닉스 계열의 운영체제라면
/home/someuser/Desktop/blahblah.html
윈도 계열의 운영체제라면
C:\Windows\mspaint.exe
또는 C:/Windows/mspaint.exe를 쓸 수 있습니다. (가장 앞의 드라이브 문자는 꼭 C가 아니어도 됩니다.)
반면에 상대경로는 지금 위치를 기준으로 경로를 설명합니다.
위에서 예를 든 유닉스 계열의 운영체제에서 blahblah.html에서, 같은 Desktop 디렉토리의 someimage.jpg를 접근한다고 할 때 상대경로는 someimage.jpg입니다.
/home/someuser/Desktop/images/subimage.jpg 를 접근하려고 할 경우,
상대경로는 images/subimage.jpg 이고
/home/someuser/Desktop/supimage.jpg를 접근하려고 할 경우,
상대경로는 ../supimage.jpg 입니다.
여기서 점을 두 개 찍은 ..은 그 디렉토리의 상위 디렉토리라는 의미입니다.
(참고로 점을 한 개 찍은 .은 현재 디렉토리를 가리킵니다.)
그렇다면 /home/someuser/superimage.jpg를 접근하려고 하면 어떻게 해야 할까요?
blahblah.html이 위치한 디렉토리에서 상위 디렉토리를 두 번 올라가야 하므로
상대경로는 ../../superimage.jpg로 쓰면 됩니다.
이러한 상대경로는 (X)HTML이나 CSS 문서를 작성할 때 이미지, 스타일시트 파일 등 웹페이지에 필요한 파일들의 경로를 지정할 필요가 있을 때 사용할 수 있습니다. 일반적으로 절대경로보다는 상대경로를 쓰는 것이 총 주소의 앞부분이 달라지더라도 내용은 보존되기 때문에, 이식성 면에서 더 좋습니다. (만일 절대 경로로 작성했고, 웹 관련 파일들을 지금으로부터 다른 서버로 옮겨야 한다면 그 절대경로를 일일이 고쳐주어야 하겠지요.)
그럼 경로에 관한 다른 이야기를 해 볼까요?
우리가 쓰고 있는 웹 브라우저(예: 모질라 파이어폭스, 인터넷 익스플로러..)는 하드에 저장된 파일을 보여줄 수 있습니다. 최상위 디렉토리에 가고 싶다면 윈도 계열의 운영체제에서는 file:///C: 를 유닉스 계열의 운영체제에서는 file:/// (여기서는 주소가 그냥 /부터 시작하죠.)
을 입력하여 볼 수 있습니다.
그런데 우리가 웹 주소를 입력할 때에는 http:// 해서 '/'(이스케이프 문자)를 두 번 사용합니다. 왜 그럴까요? http://somecompany.com/이 있다고 가정해 봅시다. 그러면 우리는 그 홈페이지의 디렉토리나 파일을 접근하려면 http://somecompany.com/somedirectory/ 또는 http://somecompany.com/index.html 이런 식으로 할 수 있습니다.
디스크 내부에 접근할 때에는 이 somecompany.com이 생략되어(또는 그렇게 생각하고), 즉 file://(생략된 경로)/ 형태이다 보니 이스케이프 문자를 세 번 사용하게 된 거죠.
유닉스 계열의 운영체제라면
/home/someuser/Desktop/blahblah.html
윈도 계열의 운영체제라면
C:\Windows\mspaint.exe
또는 C:/Windows/mspaint.exe를 쓸 수 있습니다. (가장 앞의 드라이브 문자는 꼭 C가 아니어도 됩니다.)
반면에 상대경로는 지금 위치를 기준으로 경로를 설명합니다.
위에서 예를 든 유닉스 계열의 운영체제에서 blahblah.html에서, 같은 Desktop 디렉토리의 someimage.jpg를 접근한다고 할 때 상대경로는 someimage.jpg입니다.
/home/someuser/Desktop/images/subimage.jpg 를 접근하려고 할 경우,
상대경로는 images/subimage.jpg 이고
/home/someuser/Desktop/supimage.jpg를 접근하려고 할 경우,
상대경로는 ../supimage.jpg 입니다.
여기서 점을 두 개 찍은 ..은 그 디렉토리의 상위 디렉토리라는 의미입니다.
(참고로 점을 한 개 찍은 .은 현재 디렉토리를 가리킵니다.)
그렇다면 /home/someuser/superimage.jpg를 접근하려고 하면 어떻게 해야 할까요?
blahblah.html이 위치한 디렉토리에서 상위 디렉토리를 두 번 올라가야 하므로
상대경로는 ../../superimage.jpg로 쓰면 됩니다.
이러한 상대경로는 (X)HTML이나 CSS 문서를 작성할 때 이미지, 스타일시트 파일 등 웹페이지에 필요한 파일들의 경로를 지정할 필요가 있을 때 사용할 수 있습니다. 일반적으로 절대경로보다는 상대경로를 쓰는 것이 총 주소의 앞부분이 달라지더라도 내용은 보존되기 때문에, 이식성 면에서 더 좋습니다. (만일 절대 경로로 작성했고, 웹 관련 파일들을 지금으로부터 다른 서버로 옮겨야 한다면 그 절대경로를 일일이 고쳐주어야 하겠지요.)
그럼 경로에 관한 다른 이야기를 해 볼까요?
우리가 쓰고 있는 웹 브라우저(예: 모질라 파이어폭스, 인터넷 익스플로러..)는 하드에 저장된 파일을 보여줄 수 있습니다. 최상위 디렉토리에 가고 싶다면 윈도 계열의 운영체제에서는 file:///C: 를 유닉스 계열의 운영체제에서는 file:/// (여기서는 주소가 그냥 /부터 시작하죠.)
을 입력하여 볼 수 있습니다.
그런데 우리가 웹 주소를 입력할 때에는 http:// 해서 '/'(이스케이프 문자)를 두 번 사용합니다. 왜 그럴까요? http://somecompany.com/이 있다고 가정해 봅시다. 그러면 우리는 그 홈페이지의 디렉토리나 파일을 접근하려면 http://somecompany.com/somedirectory/ 또는 http://somecompany.com/index.html 이런 식으로 할 수 있습니다.
디스크 내부에 접근할 때에는 이 somecompany.com이 생략되어(또는 그렇게 생각하고), 즉 file://(생략된 경로)/ 형태이다 보니 이스케이프 문자를 세 번 사용하게 된 거죠.
반응형