맨위로가기

서버 사이드 스크립트 언어

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

서버 사이드 스크립트 언어는 웹 서버에서 실행되는 스크립트 언어를 의미한다. 1994년 넷스케이프가 자바스크립트를 서버 측에 구현하면서 시작되었으며, 이후 다양한 언어와 기술이 개발되었다. 서버 사이드 스크립트는 초기에는 C, Perl, 셸 스크립트와 같은 기술을 사용했지만, 현재는 ASP, JSP, PHP, Ruby 등과 같은 다양한 스크립팅 언어를 지원한다. 서버 측 렌더링과 정적 사이트 생성과 같은 새로운 접근 방식도 등장했다. 다양한 서버 사이드 스크립트 언어로는 ASP, PHP, Python, Ruby 등이 있다.

더 읽어볼만한 페이지

  • 스크립트 언어 - Tcl
    Tcl은 존 오스터하우트가 개발한 명령어 기반의 프로그래밍 언어로, Tk 툴킷과 결합하여 GUI 스크립팅 환경으로 발전했으며, 다양한 운영체제에서 사용 가능하고 C, C++, Java 등 다른 언어와의 인터페이스를 지원한다.
  • 스크립트 언어 - PHP
    PHP는 라스무스 러도프가 개발한 범용 스크립팅 언어로, 웹 개발에 널리 사용되며 LAMP 아키텍처의 핵심 요소이다.
서버 사이드 스크립트 언어

2. 역사

넷스케이프는 1994년 12월 넷스케이프 엔터프라이브 서버를 처음 출시하면서 서버 측 스크립팅을 위한 자바스크립트 구현을 도입했다. (이는 브라우저용 자바스크립트 출시 직후였다.)[6][7][1][2]

이후 1996년 초 프레드 듀프레스네가 매사추세츠주 보스턴의 텔레비전 방송국인 WCVB의 첫 번째 웹사이트를 개발하면서 서버 측 스크립팅이 사용되었다. 이 기술은 [http://patft.uspto.gov/netacgi/nph-Parser?Sect2=PTO1&Sect2=HITOFF&p=1&u=/netahtml/PTO/search-bool.html&r=1&f=G&l=50&d=PALL&RefSrch=yes&Query=PN/5835712 미국 특허 5835712]에 설명되어 있으며, 1998년에 발행되었다. 현재 이 특허는 오픈 인벤션 네트워크(OIN)가 소유하고 있다. 2010년, OIN은 프레드 듀프레스네를 서버 측 스크립팅에 대한 그의 업적을 기려 [https://web.archive.org/web/20111110192158/http://openinventionnetwork.com/press_release06_07_11.php "탁월한 발명가"]로 선정했다.

2. 1. 초기 역사

넷스케이프는 1994년 12월 넷스케이프 엔터프라이브 서버를 처음 출시하면서 (브라우저용 자바스크립트가 출시된 직후) 서버 사이드 스크립트를 위한 자바스크립트 구현을 도입하였다.[6][7][1][2]

서버 측 스크립팅은 이후 1996년 초 프레드 듀프레스네가 매사추세츠주 보스턴의 텔레비전 방송국인 WCVB의 첫 번째 웹사이트를 개발하면서 사용되었다. 이 기술은 [http://patft.uspto.gov/netacgi/nph-Parser?Sect2=PTO1&Sect2=HITOFF&p=1&u=/netahtml/PTO/search-bool.html&r=1&f=G&l=50&d=PALL&RefSrch=yes&Query=PN/5835712 미국 특허 5835712]에 설명되어 있으며, 1998년에 발행되었다. 현재 이 특허는 오픈 인벤션 네트워크(OIN)가 소유하고 있다. 2010년, OIN은 프레드 듀프레스네를 서버 측 스크립팅에 대한 그의 업적을 기려 [https://web.archive.org/web/20111110192158/http://openinventionnetwork.com/press_release06_07_11.php "탁월한 발명가"]로 선정했다.

2. 2. 발전 과정

넷스케이프는 1994년 12월 넷스케이프 엔터프라이브 서버를 처음 출시하면서 자바스크립트를 서버 측 스크립팅에 도입했다. (이는 브라우저용 자바스크립트가 출시된 직후였다.)[6][7][1][2]

이후 1996년 초, 프레드 듀프레스네가 매사추세츠주 보스턴의 텔레비전 방송국 WCVB의 첫 번째 웹사이트를 개발하면서 서버 측 스크립팅 기술이 사용되었다. 이 기술은 [http://patft.uspto.gov/netacgi/nph-Parser?Sect2=PTO1&Sect2=HITOFF&p=1&u=/netahtml/PTO/search-bool.html&r=1&f=G&l=50&d=PALL&RefSrch=yes&Query=PN/5835712 미국 특허 5835712]에 설명되어 있으며, 1998년에 발행된 이 특허는 현재 오픈 인벤션 네트워크(OIN)가 소유하고 있다. 2010년, OIN은 프레드 듀프레스네를 서버 측 스크립팅에 대한 업적으로 [https://web.archive.org/web/20111110192158/http://openinventionnetwork.com/press_release06_07_11.php "탁월한 발명가"]로 선정했다.

2. 3. 현대적 발전

넷스케이프는 1994년 12월 넷스케이프 엔터프라이브 서버에 서버 사이드 스크립트를 위한 자바스크립트 구현을 도입하였으며, 이는 브라우저용 자바스크립트가 출시된 직후의 일이다.[6][7]

3. 동작 원리

초창기 웹에서는 서버 사이드 스크립팅이 주로 C 프로그램, Perl 스크립트 및 CGI를 사용하는 셸 스크립트의 조합으로 수행되었다. 이러한 스크립트는 운영 체제에 의해 실행되었고, 결과는 웹 서버에 의해 다시 제공되었다. 많은 최신 웹 서버는 웹 서버 자체 또는 웹 서버의 확장 모듈(예: mod_perl 또는 mod_php)을 통해 ASP, JSP, Perl, PHP 및 Ruby와 같은 온라인 스크립팅 언어를 직접 실행할 수 있다. 예를 들어, WebDNA에는 자체 내장 데이터베이스 시스템이 포함되어 있다. CGI 또는 직접 실행과 같은 두 가지 형태의 스크립팅 모두 복잡한 다중 페이지 사이트를 구축하는 데 사용할 수 있지만, 직접 실행은 외부 인터프리터에 대한 호출 횟수가 적기 때문에 일반적으로 오버헤드가 적게 발생한다.

동적 웹사이트는 때때로 Glassfish, Plack 및 Python의 "Base HTTP Server" 라이브러리와 같은 사용자 정의 웹 애플리케이션 서버를 사용하지만, 일부는 이를 서버 사이드 스크립팅으로 간주하지 않을 수 있다. 동적 웹 기반 스크립팅 기술을 사용할 때 개발자는 클라이언트와 서버 간의 논리적, 시간적, 물리적 분리에 대한 예리한 이해가 있어야 한다. 예를 들어, 사용자의 작업이 서버 사이드 코드의 실행을 트리거하려면 클래식 ASP로 작업하는 개발자가 사용자의 브라우저가 웹 서버에 다시 요청을 보내도록 명시적으로 해야 한다.

서버 사이드 스크립트는 클라이언트가 아닌 서버에서 완전히 처리된다. 클라이언트가 서버 사이드 스크립트를 포함하는 페이지를 요청하면 애플리케이션 서버가 스크립트를 처리하고 HTML 페이지를 클라이언트에 반환한다.

싱글 페이지 애플리케이션의 등장과 함께 서버 측 스크립트의 새로운 접근 방식인 서버 측 렌더링이 도입되었다. 서버 측 렌더링을 사용하면 서버에서 클라이언트로 정적 HTML을 보낼 수 있으며, 클라이언트 측 JavaScript는 동적 웹 페이지에서 HTML 요소에 이벤트 핸들러를 연결하여 하이드레이션이라는 프로세스를 통해 웹 페이지를 동적으로 만든다. 서버 측 렌더링을 지원하는 프레임워크의 예로는 Next.js, Nuxt.js, Angular, React가 있다.

서버 측 렌더링의 대안은 정적 사이트 생성이다. 서버 측 렌더링을 사용하면 일반적으로 각 요청당 한 번 서버에서 페이지가 조립된다. 반대로 정적 사이트 생성에서는 애플리케이션이 빌드 시점에 모든 정적 HTML 페이지를 생성한다. 이러한 미리 빌드된 페이지는 다시 빌드할 필요 없이 각 요청 시 클라이언트로 전송된다. 이렇게 하면 각 요청 시 새 페이지를 생성할 필요가 없으므로 렌더링 시간이 빨라진다. 서버는 과거에 이미 생성한 파일을 단순히 전달하기만 하면 된다. 단점은 페이지의 일부 데이터가 변경되면 다시 빌드해야 한다는 것이다. 정적 사이트 생성 도구의 예로는 Jekyll과 Gatsby가 있다. 정적 사이트 생성 도구로 생성된 사이트는 종종 Netlify, Vercel 또는 GitHub 페이지에서 호스팅된다.

4. 서버 사이드 스크립트 언어

서버 사이드 스크립트 언어는 다음과 같다.



초창기 웹에서는 서버 사이드 스크립팅이 주로 C 프로그램, Perl 스크립트 및 CGI를 사용하는 셸 스크립트의 조합으로 수행되었다. 이러한 스크립트는 운영 체제에 의해 실행되었고, 결과는 웹 서버에 의해 다시 제공되었다. 많은 최신 웹 서버는 웹 서버 자체 또는 웹 서버의 확장 모듈(예: mod_perl 또는 mod_php)을 통해 ASP, JSP, Perl, PHP 및 Ruby와 같은 온라인 스크립팅 언어를 직접 실행할 수 있다. 예를 들어, WebDNA에는 자체 내장 데이터베이스 시스템이 포함되어 있다. CGI 또는 직접 실행과 같은 두 가지 형태의 스크립팅 모두 복잡한 다중 페이지 사이트를 구축하는 데 사용할 수 있지만, 직접 실행은 외부 인터프리터에 대한 호출 횟수가 적기 때문에 일반적으로 오버헤드가 적게 발생한다.

동적 웹사이트는 때때로 Glassfish, Plack 및 Python의 "Base HTTP Server" 라이브러리와 같은 사용자 정의 웹 애플리케이션 서버를 사용하지만, 일부는 이를 서버 사이드 스크립팅으로 간주하지 않을 수 있다. 동적 웹 기반 스크립팅 기술을 사용할 때 개발자는 클라이언트와 서버 간의 논리적, 시간적, 물리적 분리에 대한 예리한 이해가 있어야 한다. 예를 들어, 사용자의 작업이 서버 사이드 코드의 실행을 트리거하려면 클래식 ASP로 작업하는 개발자가 사용자의 브라우저가 웹 서버에 다시 요청을 보내도록 명시적으로 해야 한다.

서버 사이드 스크립트는 클라이언트가 아닌 서버에서 완전히 처리된다. 클라이언트가 서버 사이드 스크립트를 포함하는 페이지를 요청하면 애플리케이션 서버가 스크립트를 처리하고 HTML 페이지를 클라이언트에 반환한다.

언어파일 확장자
ActiveVFP.avfp
ASP.asp
ASP.NET 웹 폼.aspx
ASP.NET 웹 페이지.cshtml, .vbhtml
콜드퓨전 마크업 언어.cfm
Go.go
구글 앱스 스크립트.gs
Hack.php
Haskell.hs (예: Yesod)
Java.jsp, .do (via JavaServer Pages)
자바스크립트 (서버 측 자바스크립트).ssjs, .js (예: Node.js)
Lasso.lasso
Lua.lp .op .lua
Parser.p
Perl (CGI.pm 모듈).cgi, .ipl, .pl
PHP.php, .php3, .php4, .phtml
Python.py (예: Pyramid, Flask, Django)
R.rhtml
Ruby.rb, .rbw (예: 루비 온 레일스)
Tcl.tcl
WebDNA.dna, .tpl
Progress WebSpeed.r, .w


참조

[1] 웹사이트 Server-Side JavaScript Guide http://docs.oracle.c[...] Netscape Communications Corporation 2012-04-25
[2] 웹사이트 Using Netscape™ LiveWire™, Special Edition http://vampire.rulez[...] Que
[3] 웹사이트 Client-side and server-side scripts - Web pages and web apps - GCSE Computer Science Revision https://www.bbc.co.u[...] 2022-05-26
[4] 문서 varnish
[5] 문서 memcached
[6] 웹인용 Server-Side JavaScript Guide http://docs.oracle.c[...] Netscape Communications Corporation 2012-04-25
[7] 웹인용 Using Netscape™ LiveWire™, Special Edition http://vampire.rulez[...] Que 2012-04-25



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com