서버측 스크립팅
Server-side scripting![]() |
서버측 스크립팅은 웹 개발에서 사용되는 기술입니다.웹 서버상의 스크립트를 사용하여 웹 사이트에 대한 사용자(클라이언트)의 요구에 따라 맞춤형 응답을 생성합니다.다른 방법은 웹 서버 자체가 정적 웹 페이지를 전송하는 것입니다.스크립트는 사용 가능한 서버측 스크립트 언어 중 하나로 작성할 수 있습니다(아래 참조).서버측 스크립팅은 JavaScript 등의 임베디드 스크립트가 웹 브라우저에서 클라이언트측에서 실행되는 클라이언트측 스크립팅과 구별되지만 두 가지 기술이 함께 사용되는 경우가 많습니다.
서버측 스크립팅은, 유저에게 커스터마이즈 된 인터페이스를 제공하기 위해서 자주 사용됩니다.이러한 스크립트는, 이러한 특성, 유저의 요건, 액세스 권한등에 근거해, 응답을 커스터마이즈 하기 위해서 사용하는 클라이언트의 특성을 조합하는 경우가 있습니다.서버측 스크립팅에서는 웹 사이트 소유자가 인터페이스를 생성하는 소스 코드를 숨길 수도 있지만 클라이언트측 스크립팅에서는 사용자가 클라이언트가 수신한 모든 코드에 액세스할 수 있습니다.서버측 스크립팅 사용의 단점은 클라이언트가 웹 브라우저를 통해 사용자에게 새로운 정보를 표시하기 위해 네트워크를 통해 서버에 추가 요청을 해야 한다는 것입니다.이러한 요구에 의해, 유저의 조작성이 저하해, 서버에 부하가 걸리고, 유저가 서버로부터 절단되었을 때에 애플리케이션을 사용할 수 없게 되는 일이 있습니다.
서버가 HTTP 또는 FTP 프로토콜에 따라 일반적으로 사용되는 방식으로 데이터를 제공할 때, 사용자는 여러 클라이언트 프로그램을 선택할 수 있습니다(대부분의 최신 웹 브라우저는 이러한 프로토콜을 사용하여 데이터를 요청하고 수신할 수 있습니다).보다 전문화된 애플리케이션의 경우 프로그래머는 서로만 사용할 수 있는 서버, 클라이언트 및 통신 프로토콜을 직접 작성할 수 있습니다.
네트워크를 통해 데이터를 송수신하지 않고 사용자의 로컬 컴퓨터에서 실행되는 프로그램은 클라이언트로 간주되지 않으므로 이러한 프로그램의 작업은 클라이언트 측 작업으로 간주되지 않습니다.
역사
넷스케이프는 1994년 12월([1][2]브라우저용 자바스크립트를 출시한 직후)에 처음 출시된 넷스케이프 엔터프라이즈 서버에 서버 측 스크립팅을 위한 자바스크립트를 도입했다.
서버 사이드 스크립팅은 1995년 초 프레드 듀프렌스에 의해 보스턴의 첫 번째 웹사이트인 WCVB를 개발하면서 사용되었습니다.이 기술은 미국 특허 5835712에 기술되어 있습니다.특허는 1998년에 발행되어 현재는 오픈 발명 네트워크(OIN)가 소유하고 있다.2010년 OIN은 Fred DuFresne을 서버 사이드 스크립팅에 관한 업적으로 "Distinguished Inventor"로 선정하였습니다.
설명.
웹의 초기 단계에서 서버 측 스크립트는 거의 전적으로 Common Gateway Interface(CGI; 공통 게이트웨이 인터페이스)를 사용하여 C 프로그램, Perl 스크립트 및 셸 스크립트를 조합하여 수행되었습니다.이러한 스크립트는 운영체제에 의해 실행되었으며 결과는 웹 서버에 의해 반환되었습니다.많은 최신 웹 서버는 웹 서버 자체 또는 확장 모듈(mod_perl 또는 mod_php 등)을 통해 웹 서버에 대한 ASP, JSP, Perl, PHP 및 Ruby 등의 온라인 스크립트 언어를 직접 실행할 수 있습니다.예를 들어 WebDNA는 자체 임베디드 데이터베이스 시스템을 포함합니다.스크립팅의 형태(즉 CGI 또는 직접 실행) 중 하나를 사용하여 복잡한 여러 페이지 사이트를 구축할 수 있지만, 직접 실행은 일반적으로 외부 인터프리터에 대한 콜 수가 적기 때문에 오버헤드를 줄입니다.
동적 웹 사이트에서는 Glassfish, Plack 및 Python의 "Base HTTP Server" 라이브러리와 같은 사용자 지정 웹 응용 프로그램 서버를 사용하는 경우가 있지만 일부는 이를 서버 측 스크립팅으로 간주하지 않을 수 있습니다.동적 웹 기반 스크립팅 기술을 사용하는 경우 개발자는 클라이언트와 서버 간의 논리적, 시간적 및 물리적 분리를 잘 이해해야 합니다.예를 들어, 사용자가 서버측 코드의 실행을 트리거하기 위해 기존 ASP를 사용하는 개발자는 사용자의 브라우저에서 웹 서버로 요청을 반환하도록 명시적으로 지시해야 합니다.
서버측 스크립트는 클라이언트가 아닌 서버에 의해 완전히 처리됩니다.클라이언트가 서버측 스크립트를 포함한 페이지를 요구하면 응용 프로그램서버는 스크립트를 처리하고 HTML 페이지를 클라이언트에 반환합니다.
서버측 렌더링
웹 콘텐츠는 처음에 순전히 백엔드에서 생성되었습니다.프런트 엔드의 싱글 페이지 애플리케이션이 크게 채택된 후 클라이언트 애플리케이션을 사용하여 HTML을 생성하는 새로운 접근법이 도입되었습니다.SSR를 사용하는 프레임워크의 예로는 Next.js, Nuxt.js 및 Nest.js가 있습니다.이들은 각각 React.js, Vue.js 및 Angular를 사용하여 서버의 콘텐츠를 생성합니다.
서버측 생성
웹 사이트의 콘텐츠를 생성하는 SSR 기법과 유사한 또 다른 방법은 서버 측 생성을 사용하는 것입니다.이 기술은 정적 html 페이지를 만들고 이러한 파일을 서버로 전송하는 애플리케이션을 사용합니다.파일 생성은 연속 전송을 사용하는 경우와 같이 완전히 다른 시스템에서 발생할 수 있습니다.SSG 도구의 예로는 지킬, 개츠비 또는 엘레벤티가 있습니다.이러한 사이트들은 종종 Netlify 또는 GitHub 페이지에서 호스팅됩니다.GitHub은 Git에 변경이 추가되면 자동으로 사이트를 구축하는 지킬 프로젝트도 지원합니다.
언어들
사용 가능한 서버측 스크립트 언어에는 다음과 같은 여러 가지가 있습니다.
- ActiveVFP(*.avfp)
- ASP(*.asp)
- ASP.NET 웹 폼(*.aspx)
- ASP.NET 웹 페이지(*.cshtml, *.vbhtml)
- ColdFusion 마크업 언어(*.cfm)
- Go(*.go)
- Google 앱 스크립트(*.gs)
- 해킹(*.php)
- Haskell(*.hs)(예:네)
- Java Server 페이지를 통한 Java(*.jsp, *.do)
- 서버측 JavaScript(*.ssjs, *.js)를 사용한 JavaScript(예:Node.js)
- 라소(*.lasso)
- Lua(*.lp *.op *.lua)
- 파서(*.p)
- CGI.pm 모듈 경유(*.cgi, *.ipl, *.pl)
- PHP(*.php, *.php3, *.php4, *.phtml)
- Python(*.py)(예:피라미드, 플라스크, 장고)
- R(*.rhtml)
- 루비(*.rb, *.rbw)(예:Ruby on Rails)
- TCL(*.tcl)
- WebDNA(*.dNA,*.tpl)
- 진행 Web 속도(*.r,*.w)
「 」를 참조해 주세요.
- 클라이언트측 스크립팅
- 콘텐츠 관리 시스템(CMS)
- 가장자리 측면 포함
- JSP
- Node.js
- Next.js
- 웹 설계 및 웹 개발 개요
- Perl/Plack
- PHP
- 서버측 포함(SSI)
- 웹 개발
레퍼런스
- ^ "Server-Side JavaScript Guide". Netscape Communications Corporation. 1998. Retrieved 2012-04-25.
- ^ Mike Morgan (1996). "Using Netscape™ LiveWire™, Special Edition". Que.