230128 항해99 83일차 ASP

요니링 컴터 공부즁·2023년 2월 13일
0

ASP란?

  • 액티브 서버 페이지(Active Server Page)는 마이크로소프트사에서 동적으로 웹 페이지들을 생성하기 위해 개발한 서버 측 스크립트 엔진이다. 반응에 의한 변화가 없고 고정적인 HTML은 정적인 페이지에 해당한다.
  • 반대되는 개념으로 클라이언트 사이드 스크립트로 대표주자 자바 스크립트가 있다. 자바스크립트는 '사용자' 쪽에서 실행되는 반면, ASP 는 서버 측에서 실행된다.
  • ASP.NET이 ASP를 대체하고 있다.

서버 스크립트란?

  • ASP는 기존의 VBScriptJavaScript와 크게 다를바 없는 스크립트이다. 다만 '서버 사이드 스크립트'라고 해서 서버에서 실행된다는 것이 다르다. ASP에서 서버 스크립트를 구분하는 구분자는 <%%>로, 이 사이에 사용된 스크립트는 서버에서 실행된다. 그렇기 때문에 브라우저에서 HTML 보기를 해도 ASP 코드 내용은 보이지 않는다. 서버에서 실행되고 그 결과만을 가져다 보여주기 때문에 HTML 소스에는 그 결과값만 보이게 된다. PHP와는 다르게 윈도우 운영체제에서만 작동한다는 단점이 있다. 정확하게는 마이크로소프트사의 NT머신 IIS3.0 이상에서만 동작하는 특별한 페이지이다.

작동원리

  • 웹사이트 이용자가 어떠한 ASP 페이지에 접속하면 이 ASP페이지는 ASP.DLL을 거처 해석된 다음 HTML 태그로 바뀌어진다. 그럼 웹브라우저가 이 HTML을 해석하여 화면에 보여주는 것이다.

HTML과 ASP의 차이점

  • 전송 과정에서 코드 해석 과정을 거치느냐 안거치느냐의 차이점이 있다.

  • HTML은

    1. 웹브라우저에서 서버로 문서 요청
    2. 웹서버 파일시스템에서 문서 검색(index.html, images...등)
    3. 문서를 웹브라우저에 전달
  • ASP는

    1. 웹브라우저에서 서버로 문서 요청
    2. 웹서버 파일시스템에서 문서 검색(index.html, home.asp, images...등)
    3. ASP.DLL(asp코드 해석)
    4. 문서를 웹브라우저에 전달

ASP의 특징

  1. ASP는 윈도우 운영체제를 기반으로 작동되기 때문에 윈도우 운영체제에서 발생하기 쉬운 보안 문제에 상대적으로 취약하다는 단점이 있다. 인터넷에서 .asp 파일을 웹 문서로 사용하는 웹사이트는 ‘이 웹사이트는 MS 운영체제를 사용한다’는 사실을 광고하는 것과 마찬가지므로 몇몇 웹 사이트는 .asp 확장자 대신 .html이나 다른 확장자를 지정하여 ASP를 사용하고 있음을 감추기도 한다.
  2. ASP 파일의 확장자는 기본적으로 .asp여야 한다.
  3. ASP 문서를 해석하는 해석기는 asp.dll 파일이다.
  4. 서버의 역할은 클라이언트가 요청하는 html 페이지를 찾아서 사용자에게 넘겨주기만 하면 되는 것이다. 나머지는 사용자의 브라우저가 알아서 해석해서 보여주는 것이다.
  • ASP의 경우는 사용자가 어떤 페이지를 요청했다고 가정했을 때, 그 페이지를 html 페이지처럼 사용자의 브라우저에게 그냥 보내주지는 않는다. 사용자에게 보내주기 이전에 서버내에서 어떤 처리를 하고 그 처리 결과를 태그로 만들어, html 형식으로 만든 뒤, 그 만들어진 페이지를 사용자의 브라우저에게 보내주는 것이다.
  • ASP의 소스는 일반 클라이언트들이 해킹을 하지 않는 한 절대 볼 수 없다.

ASP를 사용하는 이유

  1. 사용자와의 동적인 상호작용을 원하기 때문이다.
  • HTML은 기본적으로 정보를 보여주기만 한다. 하이퍼링크를 통해 사용자가 요청을 하면 웹서버가 그 요청에 응답하여 원하는 웹 페이지를 보여주는 방식으로 작업이 진행된다. 그것도 일종의 상호작용이라고 할 수는 있겠지만 웹 서버를 운영하는 사람과 사용자가 서로 어떤 정보를 주고 받는다든지 아니면 사용자들간에 서로 정보를 주고 받는다든지 하는 일은 기본적으로 불가능하다. ASP는 HTML로 불가능한 이런 일들을 가능하게 해준다.
  1. 서버측 자원을 사용해야 하는 경우이다.
  • 사용자로부터 어떤 내용을 입력받아 데이터베이스에 저장해야 할 경우와 같은건데 이럴 경우는 반드시 ASP를 사용해야만 한다. 예를 들어 게시판 작성, 파일 업로드, ID 인증 등과 같이 서버에 어떤 정보를 저장하거나 저장된 정보를 이용해 일을 하는 경우에는 ASP를 사용해야만 한다. 왜냐하면 HTML은 원칙적으로 클라이언트에서 번역되는 문서이기 때문에 서버의 다른 자원에 접근할 수가 없기 때문이다.
  1. 스크립트의 안정적인 실행을 위해서이다.
  • 자바스크립트는 날이 갈수록 버전이 높아지고 있다. 그러다보면 상위 버전의 자바스크립트를 삽입한 HTML 문서가 어떤 웹 브라우저에서는 의도하는대로 번역이 되지 않는 사태가 벌어질 수도 있다. 이럴 경우 서버에서 실행되는 스크립트라면 서버에서 HTML 형태로 번역된 후 넘겨지게 되니 어떤 웹 브라우저에서라도 잘못될 염려가 없을 것이다.
  1. 스크립트 소스를 감추기 위해서이다.
  • 클라이언트측 스크립트들은 HTML 속에 포함되어 서버에서 클라이언트로 전송된 다음 클라이언트의 웹 브라우저에서 번역된다. 따라서 사용자들은 소스보기를 통해 스크립트의 내용을 볼 수가 있다. 그러나, 서버측 스크립트를 사용함으로써 개발자는 자신의 독특한 알고리즘을 감출 수가 있다.

참조: ASP란 무엇인가?

0개의 댓글