fbpx
维基百科

服务器端脚本

服务器端脚本Web开发中使用的一种技术,涉及在Web服务器上使用脚本,该脚本为每个用户(客户端)对网站的请求生成定制的响应。脚本可以用任何可用的服务器端脚本语言编写。服务器端脚本与客户端脚本不同,客户端脚本(例如JavaScript)嵌入到Web浏览器客户端中执行。但这两种脚本技术经常一起使用。服务器端或者客户端脚本的替代方法是让Web服务器本身提供静态网页。

服务器端脚本中使用的语言.

服务器端脚本通常用于为用户提供定制的界面。这些脚本可以组装客户端特征,以便根据这些特征、用户的要求、访问权限等定制响应。服务器端脚本还使网站所有者能够隐藏生成界面的源代码,而对于客户端侧面脚本,用户可以访问客户端收到的所有代码。使用服务器端脚本的一个缺点是客户端需要通过网络向服务器发出进一步的请求,以便通过Web浏览器向用户显示新信息。这些请求可能会降低用户体验,给服务器带来更多负载,并在用户与服务器断开连接时阻止应用程序的使用。

当服务器以常用方式(例如,根据HTTP或FTP协议)提供数据时,用户可以选择多个客户端程序(大多数现代Web浏览器可以使用这两种协议请求和接收数据)。对于更专业的应用程序,程序员可以编写自己的服务器、客户端和通信协议,这些协议只能彼此使用。

在用户本地计算机上运行而不通过网络发送或接收数据的程序不被视为客户端,因此此类程序的操作不会被视为客户端操作。

历史 编辑

Netscape通过Netscape Enterprise Server英语Netscape Enterprise Server引入了用于服务器端脚本编写的JavaScript实现,于1994年12月首次发布(在发布用于浏览器的 JavaScript后不久)。[1][2]

1995年初Fred Dufresne英语Fred Dufresne马萨诸塞州波士顿电视台(WCVB)英语WCVB-TV开发第一个网站时使用了服务器端脚本。美国专利5835712中描述了该技术。该专利于1998年颁发,现归开放发明网络英语Open Invention Network(OIN)所有。2010年,OIN因其在服务器端脚本方面的工作而将Fred DuFresne授予“”称号。

解释 编辑

在Web的早期,服务器端脚本几乎完全是通过使用C程序Perl脚本和使用通用网关接口(CGI)的shell脚本的组合来执行的。这些脚本由操作系统执行,由网络服务器返回结果。许多现代Web服务器可以通过Web服务器本身或通过Web服务器的扩展模块(例如mod_perl英语mod_perlmod_php英语mod_php)直接执行在线脚本语言,例如ASPJSP、Perl、PHPRuby。例如,WebDNA包含其自己的嵌入式数据库系统。两种形式的脚本(即CGI或直接执行)都可用于构建复杂的多页面站点,但直接执行通常会产生较少的开销,因为对外部解释器的调用次数较少。

动态网站有时会使用自定义Web应用程序服务器,例如GlassFishPerl/Plack英语Plack (software)和Python的“Base HTTP Server”库,尽管有些人可能不认为这是服务器端脚本。当使用基于Web的动态脚本技术时,开发人员必须对客户端和服务器之间的逻辑、时间和物理分离有敏锐的理解。例如,对于触发服务器端代码执行的用户操作,使用经典ASP的开发人员必须显式地使用户的浏览器向Web服务器发出返回请求。

服务器端脚本完全由服务器而不是客户端处理。当客户端请求包含服务器端脚本的页面时,应用程序服务器处理脚本并将HTML页面返回给客户端。

服务端渲染 编辑

在网络诞生之初,内容纯粹是在后端生成的。在前端单页应用程序被广泛采用之后,引入了一种新方法来使用客户端应用程序但在后端生成HTML。使用服务端渲染(SSR)的网页框架包括:Next.jsNuxt.jsNest.js英语Nest.js。他们分别使用React.jsVue.jsAngular来生成服务器的内容。

服务器端生成 编辑

另一种与服务端渲染 类似的网站内容生成技术是使用服务器端生成(SSG)。该技术使用创建静态html页面的应用程序,然后将这些文件发送到服务器。文件生成可以发生在完全不同的计算机上,例如使用持續交付。SSG工具的示例有Jekyll、Gatsby或Eleventy。这些网站通常托管在Netlify英语NetlifyGitHub页面上。GitHub还支持Jekyll项目,当更改添加到git时,它会自动构建网站。

编程语言 编辑

  • ActiveVFP英语ActiveVFP (*.avfp)
  • ASP (*.asp)
  • ASP.NET Web Forms英语ASP.NET Web Forms (*.aspx)
  • ASP.NET Web Pages (*.cshtml, *.vbhtml)
  • ColdFusion标记语言英语ColdFusion Markup Language (*.cfm)
  • Go (*.go)
  • Google Apps Script英语Google Apps Script (*.gs)
  • Hack (*.php)
  • Haskell (*.hs) (例如: Yesod英语Yesod (web framework))
  • Java (*.jsp, *.do) 用于 JavaServer Pages
  • JavaScript 用于Server-side JavaScript英语Server-side JavaScript (*.ssjs, *.js) (例如: Node.js)
  • Lasso英语Lasso (programming language) (*.lasso)
  • Lua (*.lp *.op *.lua)
  • Parser编程语言英语Parser (programming language) (*.p)
  • Perl via the CGI.pm英语CGI.pm module (*.cgi, *.ipl, *.pl)
  • PHP (*.php, *.php3, *.php4, *.phtml)
  • Python (*.py) (例如: Pyramid, Flask, Django)
  • R (*.rhtml)
  • Ruby (*.rb, *.rbw) (例如: Ruby on Rails)
  • Tcl (*.tcl)
  • WebDNA (*.dna,*.tpl)
  • Progress WebSpeed英语OpenEdge Advanced Business Language (*.r,*.w)

参见 编辑

参考文献 编辑

  1. ^ Server-Side JavaScript Guide. Netscape Communications Corporation. 1998 [2012-04-25]. 
  2. ^ Mike Morgan. Using Netscape™ LiveWire™, Special Edition. Que. 1996. 

外部链接 编辑

服务器端脚本, 是web开发中使用的一种技术, 涉及在web服务器上使用脚本, 该脚本为每个用户, 客户端, 对网站的请求生成定制的响应, 脚本可以用任何可用的语言编写, 与客户端脚本不同, 客户端脚本, 例如javascript, 嵌入到web浏览器客户端中执行, 但这两种脚本技术经常一起使用, 服务器端或者客户端脚本的替代方法是让web服务器本身提供静态网页, 中使用的语言, 通常用于为用户提供定制的界面, 这些脚本可以组装客户端特征, 以便根据这些特征, 用户的要求, 访问权限等定制响应, 还使网站所有者能够. 服务器端脚本是Web开发中使用的一种技术 涉及在Web服务器上使用脚本 该脚本为每个用户 客户端 对网站的请求生成定制的响应 脚本可以用任何可用的服务器端脚本语言编写 服务器端脚本与客户端脚本不同 客户端脚本 例如JavaScript 嵌入到Web浏览器客户端中执行 但这两种脚本技术经常一起使用 服务器端或者客户端脚本的替代方法是让Web服务器本身提供静态网页 服务器端脚本中使用的语言 服务器端脚本通常用于为用户提供定制的界面 这些脚本可以组装客户端特征 以便根据这些特征 用户的要求 访问权限等定制响应 服务器端脚本还使网站所有者能够隐藏生成界面的源代码 而对于客户端侧面脚本 用户可以访问客户端收到的所有代码 使用服务器端脚本的一个缺点是客户端需要通过网络向服务器发出进一步的请求 以便通过Web浏览器向用户显示新信息 这些请求可能会降低用户体验 给服务器带来更多负载 并在用户与服务器断开连接时阻止应用程序的使用 当服务器以常用方式 例如 根据HTTP或FTP协议 提供数据时 用户可以选择多个客户端程序 大多数现代Web浏览器可以使用这两种协议请求和接收数据 对于更专业的应用程序 程序员可以编写自己的服务器 客户端和通信协议 这些协议只能彼此使用 在用户本地计算机上运行而不通过网络发送或接收数据的程序不被视为客户端 因此此类程序的操作不会被视为客户端操作 目录 1 历史 2 解释 3 服务端渲染 4 服务器端生成 5 编程语言 6 参见 7 参考文献 8 外部链接历史 编辑Netscape通过Netscape Enterprise Server 英语 Netscape Enterprise Server 引入了用于服务器端脚本编写的JavaScript实现 于1994年12月首次发布 在发布用于浏览器的 JavaScript后不久 1 2 1995年初Fred Dufresne 英语 Fred Dufresne 为马萨诸塞州波士顿电视台 WCVB 英语 WCVB TV 开发第一个网站时使用了服务器端脚本 美国专利5835712中描述了该技术 该专利于1998年颁发 现归开放发明网络 英语 Open Invention Network OIN 所有 2010年 OIN因其在服务器端脚本方面的工作而将Fred DuFresne授予 杰出发明家 称号 解释 编辑在Web的早期 服务器端脚本几乎完全是通过使用C程序 Perl脚本和使用通用网关接口 CGI 的shell脚本的组合来执行的 这些脚本由操作系统执行 由网络服务器返回结果 许多现代Web服务器可以通过Web服务器本身或通过Web服务器的扩展模块 例如mod perl 英语 mod perl 或mod php 英语 mod php 直接执行在线脚本语言 例如ASP JSP Perl PHP和Ruby 例如 WebDNA包含其自己的嵌入式数据库系统 两种形式的脚本 即CGI或直接执行 都可用于构建复杂的多页面站点 但直接执行通常会产生较少的开销 因为对外部解释器的调用次数较少 动态网站有时会使用自定义Web应用程序服务器 例如GlassFish Perl Plack 英语 Plack software 和Python的 Base HTTP Server 库 尽管有些人可能不认为这是服务器端脚本 当使用基于Web的动态脚本技术时 开发人员必须对客户端和服务器之间的逻辑 时间和物理分离有敏锐的理解 例如 对于触发服务器端代码执行的用户操作 使用经典ASP的开发人员必须显式地使用户的浏览器向Web服务器发出返回请求 服务器端脚本完全由服务器而不是客户端处理 当客户端请求包含服务器端脚本的页面时 应用程序服务器处理脚本并将HTML页面返回给客户端 服务端渲染 编辑在网络诞生之初 内容纯粹是在后端生成的 在前端单页应用程序被广泛采用之后 引入了一种新方法来使用客户端应用程序但在后端生成HTML 使用服务端渲染 SSR 的网页框架包括 Next js Nuxt js和Nest js 英语 Nest js 他们分别使用React js Vue js和Angular来生成服务器的内容 服务器端生成 编辑另一种与服务端渲染 类似的网站内容生成技术是使用服务器端生成 SSG 该技术使用创建静态html页面的应用程序 然后将这些文件发送到服务器 文件生成可以发生在完全不同的计算机上 例如使用持續交付 SSG工具的示例有Jekyll Gatsby或Eleventy 这些网站通常托管在Netlify 英语 Netlify 或GitHub页面上 GitHub还支持Jekyll项目 当更改添加到git时 它会自动构建网站 编程语言 编辑ActiveVFP 英语 ActiveVFP avfp ASP asp ASP NET Web Forms 英语 ASP NET Web Forms aspx ASP NET Web Pages cshtml vbhtml ColdFusion标记语言 英语 ColdFusion Markup Language cfm Go go Google Apps Script 英语 Google Apps Script gs Hack php Haskell hs 例如 Yesod 英语 Yesod web framework Java jsp do 用于 JavaServer Pages JavaScript 用于Server side JavaScript 英语 Server side JavaScript ssjs js 例如 Node js Lasso 英语 Lasso programming language lasso Lua lp op lua Parser编程语言 英语 Parser programming language p Perl via the CGI pm 英语 CGI pm module cgi ipl pl PHP php php3 php4 phtml Python py 例如 Pyramid Flask Django R rhtml Ruby rb rbw 例如 Ruby on Rails Tcl tcl WebDNA dna tpl Progress WebSpeed 英语 OpenEdge Advanced Business Language r w 参见 编辑客户端脚本 内容管理系统 CMS Edge Side Includes 英语 Edge Side Includes JSP Node js Next js Outline of web design and web development 英语 Outline of web design and web development Perl Plack 英语 Plack software PHP 服务器端内嵌 SSI 網頁程式設計参考文献 编辑 Server Side JavaScript Guide Netscape Communications Corporation 1998 2012 04 25 Mike Morgan Using Netscape LiveWire Special Edition Que 1996 外部链接 编辑維基學院中的相關研究或學習資源 服务器端脚本开放目录项目中的 服务器端脚本 取自 https zh wikipedia org w index php title 服务器端脚本 amp oldid 78629542, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。