동적 웹 페이지

Dynamic web page
동적 웹 페이지: 서버 측 스크립팅(PHP 및 MySQL)의 예.

서버측 동적페이지는 서버측 스크립트를 처리하는 애플리케이션 서버에 의해 구조가 제어되는 웹 페이지입니다.서버측 스크립팅에서는 파라미터에 따라 클라이언트측 처리의 추가 설정을 포함하여 모든 새로운페이지의 어셈블리가 어떻게 진행되는지 결정됩니다.

클라이언트동적페이지는 로딩 시 브라우저에서 실행되는 JavaScript를 사용하여 웹 페이지를 처리합니다.JavaScriptDocument Object Model(DOM)을 통해 페이지와 상호 작용하여 페이지 상태를 쿼리하고 수정할 수 있습니다.웹 페이지는 클라이언트 측에서 동적일 수 있지만 서버 측 코드가 포함되지 않는 한 GitHub Pages나 Amazon S3와 같은 정적 호스팅 서비스에서 호스팅할 수 있습니다.

그런 다음 동적 웹 페이지를 사용자 또는 컴퓨터 프로그램에 의해 새로고침하여 일부 가변 콘텐츠를 변경합니다.업데이트 정보는 서버 또는 해당 페이지의 DOM 변경사항에서 가져올 수 있습니다.이것에 의해, 브라우징 이력이 잘라지거나 되돌아가기 위한 보존 버전이 작성되지 않는 경우가 있습니다만, AJAX 테크놀로지를 사용동적인 Web 페이지 업데이트에서는, 되돌아가기 위한 페이지가 작성되거나 표시되는 페이지의 앞으로 Web 브라우징 이력이 잘라지는 일은 없습니다.AJAX를 사용하면 최종 사용자는 웹 브라우저에서 하나의 동적 페이지를 단일 페이지로 관리할 수 있지만 해당 페이지에 표시되는 실제 웹 콘텐츠는 다를 수 있습니다.AJAX 엔진은 응용 프로그램서버에서 클라이언트에 대한 DOM의 일부를 요구하는 브라우저에만 있습니다.특정 애플리케이션 서버는 웹 [1]애플리케이션에 서비스를 제공하기 위해 표준화된 REST 스타일 인터페이스를 제공할 수 있습니다.

DHTML정적 웹 페이지가 아닌 웹 페이지를 만드는 데 사용되는 기술과 방법을 포괄하는 용어이지만, 현재는 거의 사용되지 않는 용어인 AJAX의 대중화 이후 일반적으로 사용되지 않게 되었습니다.클라이언트측 스크립팅, 서버측 스크립팅, 또는 이러한 조합에 의해, 브라우저에서의 동적인 Web 익스피리언스가 실현됩니다.

기본 개념

HTML 또는 XHTML사용하는 기존의 하이퍼텍스트 내비게이션은 "정적" 콘텐츠를 제공합니다.즉, 사용자가 웹 페이지를 요청하고 해당 페이지의 페이지와 정보를 단순히 볼 수 있습니다.

그러나 웹 페이지는 "실시간", "동적" 또는 "대화적" 사용자 환경을 제공할 수도 있습니다.웹 페이지의 내용(텍스트, 이미지, 양식 필드 등)은 다른 컨텍스트 또는 조건에 따라 변경될 수 있습니다.

이러한 효과를 내는 방법에는 다음 두 가지가 있습니다.

  • 클라이언트 측 스크립트를 사용하여 특정페이지 내에서 마우스 또는 키보드의 액션에 대한 응답 또는 지정된 타이밍 이벤트로 인터페이스 동작을 변경합니다.이 경우 프레젠테이션 내에서 동적 동작이 발생합니다.
  • 서버측 스크립트를 사용하여 페이지 간에 제공된 페이지 소스를 변경하여 브라우저에 제공된 웹 페이지 또는콘텐츠의 순서 또는 새로고침 조정.서버 응답은 투고된 HTML 형식의 데이터, URL 내의 파라미터, 사용 중인 브라우저 유형, 시간 경과, 데이터베이스 또는 서버 [2]상태 등의 조건에 따라 결정됩니다.

클라이언트 측 스크립트를 사용하는 웹 페이지에서는 리치 인터페이스 페이지라고 하는 프레젠테이션 기술을 폭넓게 사용해야 합니다.프레젠테이션의 미디어 유형(사운드, 애니메이션, 텍스트 변경 등)을 조정하기 위해 각각 동적 HTML(DHTML) 및 플래시 기술에 사용되는 JavaScript 또는 ActionScript 의 클라이언트 측 스크립트 언어가 자주 사용됩니다.스크립팅에서는 숨겨진 프레임, XMLHttpRequests 또는 웹 서비스를 사용하여 DHTML 페이지가 서버에 추가 정보를 요구하는 기술인 리모트스크립팅을 사용할 수도 있습니다.

서버측 스크립트를 사용하는 웹 페이지는 PHP, Perl, ASP, ASP 등의 서버측 언어를 사용하여 작성되는 경우가 많습니다.NET, JSP, Cold Fusion 및 기타 언어이러한 서버측 언어는 보통 Common Gateway Interface(CGI; 공통 게이트웨이 인터페이스)를 사용하여 동적 웹 페이지를 생성합니다.이러한 종류의 페이지는, 클라이언트측에서도 최초의 종류(DHTML 등)를 사용할 수 있습니다.

역사

「동적인 Web 페이지의 개시」나 「연혁」에 대해서는, 「Web 페이지의 광범위한 전개」 후에만 정확한 개념이 성립하기 때문에, 「동적인 Web 페이지의 개시」나 「연혁」에 대해서는 정확하게 말하기 어렵다.HTTP는 1990년부터, HTML은 1996년부터 표준으로 사용되고 있습니다.웹 브라우저의 인기 상승은 1993년 모자이크로부터 시작되었다.그러나 동적으로 구동되는 웹사이트의 개념이 인터넷, 사실 HTML보다 앞서 있다는 것은 명백하다. 예를 들어, 인터넷의 일반 대중이 사용하기 전인 1990년, USC 의료 시스템의 컴퓨터 지원 책임자인 수잔 비들콤에 의해 동적으로 구동되는 원격 접근 메뉴 시스템이 구현되었다.TDBS add-on.database를 사용하는 16라인 TBBS 시스템에서 Southern California BBS의 y.1995년과 1996년 사이에, WebObjects, PHPActive Server Pages가 시장에 소개되었습니다.

JavaScript(당시 LiveScript로 알려짐)의 도입으로 클라이언트측 동적 웹 페이지를 생성할 수 있게 되었고, 클라이언트의 [3]브라우저에서 JavaScript 코드가 실행되었습니다.AJAX라는 용어는 원래 XML뿐만 아니라 JavaScript의 사용을 나타내고 있습니다.예를 들어 2009년에 개발된 Node.js와 같은 서버측 JavaScript 처리가 등장함에 따라 자바스크립트는 완전한 폼으로 클라이언트에 전송되는 서버상의 페이지를 동적으로 작성하기 위해서도 사용됩니다.

Wikipedia를 지원하는 콘텐츠 관리 시스템인 MediaWiki는 원래 서버 측 동적 웹 페이지의 예로서 폼 제출 및 URL 매개 변수를 통해 상호 작용합니다.시간이 지남에 따라 Visual Editor와 같은 점진적인 확장 기능에는 클라이언트 측에 동적 요소도 추가되었으며, 기존의 편집 양식과 같은 동적 서버 측 요소는 오류나 비호환성 시에도 폴백할 수 있습니다(완벽한 성능 저하).

서버측 스크립팅

There are four steps in the client-server ecosystem: the browser, the HTTP request, the web server, and the response. Server-side scripting occurs when a dynamic web page or resource is processed and generated by the web server.
동적 웹 페이지 또는 리소스에 대한 요청이 이루어지면 응용 프로그램 서버는 서버 측 언어를 사용하여 요청을 처리합니다.

웹 서버에서 실행되는 프로그램(서버스크립팅)은 다양한 웹 페이지에서 웹 콘텐츠를 생성하고 사용자 세션을 관리하며 워크플로우를 제어하기 위해 사용됩니다.서버 응답은 투고된 HTML 형식의 데이터, URL 내의 파라미터, 사용 중인 브라우저 유형, 시간 경과, 데이터베이스 또는 서버 상태 등의 조건에 따라 결정됩니다.

이러한 웹 페이지는 종종 ASP, ColdFusion, Go, JavaScript, Perl, PHP, Ruby, Python, WebDNA 서버 측 언어를 사용하여 웹 서버와 동일한 하드웨어에서 실행할 수 있는 지원 서버에 의해 생성됩니다.이러한 서버측 언어에서는 많은 경우 Common Gateway Interface(CGI; 공통 게이트웨이 인터페이스)를 사용하여 동적페이지를 생성합니다. 가지 주목할 만한 예외가 ASP입니다.NETJSP: API에서 CGI 개념을 재사용하지만 실제로는 모든 웹 요청을 공유 가상 머신으로 디스패치합니다.

서버측 언어는 웹 서버의 웹 페이지 소스 [4]파일 내에 태그 또는 마커를 포함하기 위해 사용됩니다.클라이언트 컴퓨터의 사용자가 해당 웹 페이지를 요청하면 웹 서버는 이러한 태그 또는 마커를 해석하여 서버에서 작업을 수행합니다.예를 들어, 서버에 데이터베이스의 정보나 현재 날짜와 같은 정보를 삽입하도록 지시할 수 있습니다.

동적 웹 페이지는 변경이 거의 또는 전혀 예상되지 않는 경우 캐시되는 경우가 많습니다.또한 요청별로 페이지를 즉시 생성해야 할 경우 페이지에 상당한 양의 웹 트래픽이 수신되어 서버에 불필요한 부하가 걸려 페이지 로딩이 느려집니다.

클라이언트측 스크립팅

클라이언트측 스크립팅은 입력 디바이스 액션에 대한 응답 또는 지정된 타이밍 이벤트에서 특정 웹 페이지 내의 인터페이스 동작을 변경하는 것입니다.이 경우 프레젠테이션 내에서 동적 동작이 발생합니다.클라이언트 측 컨텐츠는 사용자의 로컬 컴퓨터 시스템에서 [5]생성됩니다.

이러한 웹 페이지는 리치 인터페이스 페이지라고 불리는 프레젠테이션 기술을 사용합니다.프레젠테이션의 미디어 유형(사운드, 애니메이션, 텍스트 변경 등)을 조정하기 위해 각각 동적 HTML(DHTML) 및 플래시 기술에 사용되는 JavaScript 또는 ActionScript 의 클라이언트 측 스크립트 언어가 자주 사용됩니다.클라이언트측 스크립팅에서는 숨겨진 프레임, XMLHtpRequests 또는 웹 서비스를 사용하여 DHTML 페이지가 서버에 추가 정보를 요구하는 기술인 리모트스크립팅을 사용할 수도 있습니다.

자바스크립트가 처음으로 널리 사용된 것은 1997년으로, 이 때 언어는 ECMAScript로 표준화되어 Netscape [6]3에서 구현되었습니다.

클라이언트측 컨텐츠는 클라이언트의 컴퓨터에 생성됩니다.웹 브라우저는 서버에서 페이지를 검색한 후 페이지에 내장된 코드(일반적으로 JavaScript로 작성)를 처리하고 검색된 페이지의 내용을 [7]사용자에게 표시합니다.

innerHTML속성(또는 write 명령어)은 클라이언트 측 동적 페이지 생성을 나타낼 수 있습니다.A와 B의 2개의 다른 페이지는 ('이벤트 응답 다이내믹'에 의해) 다음과 같이 재생성할 수 있습니다.document.innerHTML = A그리고.document.innerHTML = B; 또는 "부하 시 다이내믹"에 의해document.write(A)그리고.document.write(B).

조합 테크놀로지

동적 웹 페이지를 일괄적으로 작성하는 모든 클라이언트 및 서버 구성 요소를 웹 응용 프로그램이라고 합니다.웹 응용 프로그램은 사용자 상호 작용, 상태, 보안 및 [8]성능을 관리합니다.

Ajax는 클라이언트 측 스크립팅과 서버 측 요청의 조합을 사용합니다.콘텐츠를 동적으로 교환하기 위한 웹 응용 프로그램 개발 기술로, 이를 위해 서버에 데이터 요청을 보냅니다.서버는 요청된 데이터를 반환하고 클라이언트 측 스크립트에 의해 처리됩니다.이 기술은 클라이언트가 서버의 언어 파서로 웹 페이지 전체를 재생성하도록 요구하지 않고 변경 내용만 전송되므로 서버 로드 시간을 단축할 수 있습니다.Google 지도는 Ajax 기술을 사용하는 웹 애플리케이션의 한 예입니다.

브라우저와 같은 클라이언트는 Gopher, FTP, NNTP(Usenet), HTTP 등의 다양한 서버에서 데이터에 액세스하여 페이지를 작성할 수 있습니다.HTTP는 클라이언트에서 서버로 문서를 다시 업로드하는 것을 지원합니다.이를 위해 몇 가지 HTTP 방법이 있습니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ Fielding, Roy Thomas (2000). "Chapter 5: Representational State Transfer (REST)". Architectural Styles and the Design of Network-based Software Architectures (Ph.D.). University of California, Irvine.
  2. ^ Nelson, Anne; Nelson, William H. M. (2002). Building Electronic Commerce with Web Database Constructions. Addison Wesley. ISBN 9780201741308.
  3. ^ 를 클릭합니다Benson, Brent W. (1999). "JavaScript". ACM SIGPLAN Notices. 34 (4): 25–27. doi:10.1145/312009.312023. S2CID 10076062..
  4. ^ Tatroe, Kevin (2013). Programming PHP: Creating Dynamic Web Pages (3 ed.). O'Reilly. ISBN 9781449365837.
  5. ^ Doyle, Barry; Lopes, Cristina Videira (17 January 2008). "Survey of Technologies for Web Application Development". arXiv:0801.2618 [cs.SE].
  6. ^ Okin, J. R. (2005). The Information Revolution: The Not-for-dummies Guide to the History, Technology, and Use of the World Wide Web. Ironbound Press. ISBN 9780976385745.
  7. ^ "VBScript 학습", P. Lomax.ISBN 1-56592-247-6.에드 오라일리, 1997년 2차 C13
  8. ^ Wayback Machine 웹 애플리케이션(2014년 2월 22일 아카이브 완료)

외부 링크