Programming/Asp

[ASP] 기초 입문 강좌 / 홈디렉토리란?

궁극의 java개발자 2015. 12. 11. 14:48
반응형

이번에는 홈 디렉토리에 대한 이야기입니다. 초보분들에게는 상당히 중요한 이야기이니 주의깊게 읽어주시기 바랍니다.

3) 웹을 위한 장소 (홈 디렉토리, 가상 디렉토리)

ASP를 시작하면서 아무리 이야기해도 지나치지 않는 것은 바로 ASP라는 페이지만의 특이성이다. 다시 말하면, ASP 페이지는 그 페이지를 보기 위해서는 반드시 서버를 거쳐야 한다는 것이다.

일반적인 HTML 페이지는 사용자의 브라우저가 그 html 코드를 해석해서 보여주기 때문에 서버에서 해주어야 할 일이 없다. 단지 요청한 페이지만을 건네주기만 하면 되는 것이다. 이것은 html페이지만 있다면 어디서든지 브라우저로 그 페이지를 읽을 수가 있다는 이야기이기도 하다. 즉, html페이지를 다운받아서 자신의 로컬 하드에 카피해 놓고 언제라도 더블클릭하여 브라우저로 볼 수가 있다는 이야기이다.

그러나, ASP 페이지는 다르다.

이 페이지는 반드시 웹 서버를 거쳐서 어떤 서버의 처리를 거치고 난 다음에야 그 결과를 볼 수가 있다. 즉, html 페이지는 다운 받아서 아무때나 로컬에서 확인할 수가 있지만 ASP 페이지는 그런 식으로 확인할 수는 없다는 것이다.

왜? 그 이유는(이미 알고있다고 말하셔도 필자는 다시 이야기해야만 한다. 그만큼 중요한 이야기이니 말이다)

ASP 페이지는 반드시 웹 서버를 거치고 난 다음에야 확인이 가능한 특이한 페이지이기 때문이다. 만일 여러분이 asp 페이지의 이 특이성을 이해하지 못하고, 여러분의 로컬 하드에서 asp 페이지를 더블클릭해서 실행하려 한다면 다음과 같은 다운로드 화면을 만나거나, 연결된 에디터를 만날 것이다. 이를테면 메모장, 포토샵, 아니면 다른 에디터 등등 말이다.

그렇다면, 이 페이지를 실행하기 위해서는 어떻게 해야 하는가? 그것이 바로 현재 여러분이 궁금한 점이며, 바로 지금 이야기하고자 하는 것이다.

ASP 페이지는 반드시 그를 실행하기 위해서는 웹서버를 통과해야 한다. 즉, 웹 서버가 인식할 수 있는 특별한 장소에 위치해야 한다는 것이다.

 

- 홈 디렉토리 -

MS의 웹 서버가 설치된 서버들은 모두 기본적으로 C:\inetpub\wwwroot 라는 폴더가 존재한다. 바로 이곳이 그 특별한 구역인 것이다. 이 곳은 여러분이 브라우저를 열고 자신의 http://ip주소 혹은http://localhost(자신이 웹 서버인 경우에만 가능한 방법) 라고 치면 연결이 되어지는 곳이다. 바로 여러분의 웹 서버의 디폴트 디렉토리인 것이다. 이 곳은 웹 브라우저에 ip 주소를 입력함으로써 접근이 가능하며, 마치 인터넷을 통해서 접근하는 것과 같이 접근하는 것이 된다. 이렇게 접근하면 웹 서버로 접근하는 것이며, 동시에 asp 페이지를 요청할 수가 있다. 이 곳이 바로 홈 디렉토리라 불리우는 곳이다.

이 폴더내에 위치한 asp 페이지들은 사용자가 브라우저를 열고 http://서버의 ip주소/*.asp 라고 접근하게 되면 서버를 거쳐서 자신의 코드를 해독하고 그 결과를 html코드로 만들어 사용자에게 건네어주게 된다. 바로 이곳에 있는 asp페이지들만이 서버를 거칠 수가 있는 것이다.

참고 : 웹서버에서 ASP페이지를 해석하는 역할을 담당하는 녀석으로 ASP.DLL이 존재한다.

다음의 그림을 보고 다시 한번 정리를 하자. 아래의 그림은 아주 간단하지만 위의 모든 내용을 다 포함하고 있는 태오가 만든 상당히 함축적이고, 집약적인 유용한 그림이 아닐 수가 없다. 그런가?

asp 페이지의 위치는 서버의 C:\inetpub\wwwroot\ 의 하위에 존재해야만 한다.(일단은 그렇다) 그 곳이 바로 웹을 위해 준비된 특별한 구역이기 때문이다. 위의 그림에서는 C:\inetpub\wwwroot\ 라는 곳에 x.asp가 위치하고 있다. 이제 사용자가 접근한다고 가정해보자.

사용자(여기서의 사용자에는 나 자신도 포함이 되어진다)는 브라우저를 열고 그 x.asp페이지에 접근하기 위해서 http://서버의 ip주소/x.asp 라고 입력하여 접속을 시도한다.

그렇게 되면 웹 서버는 그 요청을 받아들여 서버의 C:\inetpub\wwwroot\ 내에서 x.asp페이지를 찾는다. 찾아지면 그 페이지가 asp페이지임을 인식하고 IIS 서버의 ASP.DLL에게로 보낸다.

그리고, ASP.DLL에 의해서 해석이 되어진 페이지를 그제서야 사용자에게 돌려주는 것이다. HTML로 만들어서 말이다. 그러면 사용자는 그 페이지를 브라우저를 통해 확인해 볼 수가 있게 된다.

이제 여러분은 전체적인 돌아가는 구성이 머리 속에 확연히(?) 그려졌을 것이다. 이것은 매우 중요하다. 적어도 필자의 경험상 이 상황의 이해는 코딩보다도 중요했다. 위의 구성을 이해한다면 왜 사용자들이 asp코드를 볼 수가 없는지, asp코드가 어째서 안전하고, 보호되어질 수가 있다는 것인지를 이해할 수가 있다. 클라이언트에게 돌아가는 것은 단지 번역된 html코드에 불과하기 때문이다.

이 시점에서 "에~~ 소스를 볼 수 있는 방법이 있는데~"라고 선수를 치시고 싶은 독자가 있을런지도 모르겠다. 그렇다면 잠시 기다리자. 그 이야기가 곧 상영될 예정이다. 몇 페이지만 기둘리자. 이 Chapter가 끝나기 전에 이 이야기는 여러분을 찾아뵐 것이다.

 

출처 ♥ 프로그래머의 지름길 ♥ | 양파링
원문 http://blog.naver.com/didvkring/90003518917

 

반응형