기본 콘텐츠로 건너뛰기

라벨이 ASP.NET인 게시물 표시

ASP.NET 에서 .html 확장자 사용하기

html5 에 대한 이야기를 하면서 기본 웹 페이지는 index.html 또는 index.htm 으로 하고 이것이 웹 개발 표준(?)에 맞는다는 의견을 종종 보게 된다. 그러나 ASP.NET은 default.aspx 또는 index.aspx 가 기본 페이지로 프로젝트 템플릿이 구성되어 있다. 뜬금없이 ASP.NET 에서도 .html, .htm 을 쓰면 어떨까 생각해서 테스트를 해 보았다. Visual Studio 2013에서 WebForm 프로젝트를 생성하고 Default.aspx 를 default.htm 으로 확장자를 변경하고 실행하면 고스란히 아래의 그림과 같이 페이지 스크립트가 노출이 되고 동작하지 않은 상태에서 브라우저에 보여지게 된다. 이런 상황이 발생하는 이유는 IIS 의 Integrated 모드에서는 해당 확장자에 대해서 페이지 처리 핸들러가 연동이 되지 않기 때문이다. 즉, IIS 로 페이지 요청이 도착했을 때 ASP.NET 페이지 처리 핸들러가 동작할 수 있도록 연결을 해 주면 될 것이다. 따라서 web.config 파일을 열고 아래와 같은 항목들을 설정해 주면 될 것이다. * ASP.NET 페이지 스크립트가 컴파일이 될 수 있도록 해 주어야 한다. * 확장자에 맞춰서 페이지 처리 핸들러가 동작할 수 있도록 해 주어야 한다. 위와 같이 처리를 하고 default.htm 파일을 다시 한번 호출해 보도록 하자. 아래의 그림과 같이 아주 정상적으로 페이지가 처리되는 것을 확인할 수 있다. 이렇게 Page Compile Builder 와 Page Handler Factory 를 설정해 주면 확장자를 바꿔서도 충분히 서비스할 수 있다. 실제 이렇게 쓸 이유는 없지만, 혹시라도 기존에 html 로 되어 있는 것들을 변환 처리하는 경우라면 응용해 볼 수 있을 것 같다. 그렇지 않은 경우라면 이렇게 할 이유는 전혀 없다. 괜히 궁금해서 확인을 해 본다는 의미 이외에는… ㅋ 그런데 왜 이런 것이 궁금하지???????????