畢業(yè)設計外文文獻-Node.js的比較分析(服務器端JavaScript)_第1頁
畢業(yè)設計外文文獻-Node.js的比較分析(服務器端JavaScript)_第2頁
畢業(yè)設計外文文獻-Node.js的比較分析(服務器端JavaScript)_第3頁
畢業(yè)設計外文文獻-Node.js的比較分析(服務器端JavaScript)_第4頁
畢業(yè)設計外文文獻-Node.js的比較分析(服務器端JavaScript)_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、附錄A外文翻譯一原文局部A Comparative Analysis of Node J s (Server-Side JavaScript) 文章來源: s:/cgi/viewcontent.cgi?referer= s:/ google /& sredir= 1 &article= 1004&context=csit_etdsChapter 1: IntroductionNode.js (Node) 1 is a cross platform runtime environment originally developed in 2009 by Ryan Dahl for developi

2、ng server-side applications. It can be regarded as server-side JavaScript. It was created to address the issues platforms can have with the performance in network communication time dedicating excessive time processing web requests and responses. Node.js is a platform built on Chromes JavaScript run

3、time fbr easily building fast, scalable network applications. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices I/5Node has become popular as it makes creating high perfo

4、rmance, real-time web applications easy. Node allows JavaScript to be used end to end, both on the server and on the client. JavaScript has originally run only in the web browser, but the considerable demand has brought it to the server-side. JavaScript has developed very much and has exceled to dom

5、inate server-side scripting. We need to analyze the security issues in Node applications because of its use with JavaScript, which has security liabilities. Node is event-based rather than thread-based. Node uses an event loop within a single thread instead of multiple threads, and is able to scale

6、to millions of concurrent connections. In Node, a single thread can accomplish a high concurrency.Every I/O operation in Node is carried out in an asynchronous fashion, meaning that the server can continue to process incoming requests while the I/O operation is taking place 2. Because Node is also a

7、synchronous, AJAX (See Chapter 3) could be mistakenly considered equivalent to Node, though they are significantly different.Objectives of our StudyJavaScript was created shortly after the World Wide Web (WWW) came into existence. JavaScript has played an integral role in adding interaction to the u

8、ser interface of web applications and websites until the recent release of HTML5 (Hyper Text Markup Language) and modern JavaScript frameworks. JavaScript is also an integral part of AJAX which was introduced in late 1990s with the advent of Web 2.0 to add real-time like interactivity in the webpage

9、s. Despite all of this progress, JavaScript has been considered as the scripting language for clientside programming (that runs only from the browser). However, this approach has changed with the development of server-side JavaScript (among which Node is considered prominent). Node has not just stre

10、ngthened server-side JavaScript, but also has been competitive with other popular src = u HYPERLINK :/code :/code, jquery. com/jquery-1. 6. 0. js ”。然后,通過全局 jQuery 對象引用 該模塊。這個過程污染全局命名空間并可能導致潛在的命名沖突8。Node沒有定義一些 全局變量,而是引入了模塊化系統(tǒng)(參見第1章)??梢远x自己的模塊,也可以使用核心 模塊或第三方模塊。Node附帶了許多核心模塊,如 , net和fs。這些模塊是用于構(gòu)建 現(xiàn)代應用程序

11、的基本工具包。節(jié)點中的模塊化成為可能因為這三個全局變量:require, module 和 exports 8全球?qū)ο?瀏覽器JavaScript中有一個名為window的全局對象。變量可以在 window對象中定義,使其全局可用于應用程序代碼的所有局部。Node實現(xiàn)了具有明確別離 的全局變量。在Node中,這兩個全局對象用于這個目的:global:與JavaScript中的窗 口對象類似,任何屬性都可以附加到全局使變量可以從應用程序代碼中的任何位置訪問。進程:在Node中有一個為所有相關內(nèi)容分配的進程對象到全球執(zhí)行的背景。在 JavaScript中,有一個窗口對象。在Node中,任何時候只有

12、一個進程給定時間。例如, 在JavaScript中,窗口名稱是window, name,而在Node中,窗口名稱是進程的名稱是 process. titleo緩沖JavaScript的另一個缺點是它支持處理二進制數(shù)據(jù)8。操縱在 JavaScript語言中,二進制數(shù)據(jù)的支持很少,即使它經(jīng)常是必需的。Node的Buffer類通 過提供API來輕松操作二進制文件來解決這個缺陷數(shù)據(jù)14。 Buffer是Node添加到四種原始數(shù)據(jù)類型(布爾值,字符串,數(shù)字和 RegExp)和前端的無所不包的對象(數(shù)組和函數(shù)也是對象)JavaScript的。它使用極其高 效的數(shù)據(jù)存儲9。Buffer是一個表示固定內(nèi)存分配

13、的全局對象,其行為類似于數(shù)組八位 字節(jié),有效地讓二進制數(shù)據(jù)在JavaScript中表示。大多數(shù)Node API都是如此執(zhí)行數(shù)據(jù)I / 0獲取并將數(shù)據(jù)導出為緩沖區(qū)8。第 3 章:AJAX 與 Node, js節(jié)點經(jīng)常與另一種技術AJAX混淆,但兩者都是完全混淆的不同,服務于不同的目的。AJAX 和Node之間唯一的相似之處在于它們都運行在JavaScript上。而Node主要用于服務器 端操作以開發(fā)完整的服務器端應用程序,AJAX用于動態(tài)的客戶端操作更新頁面內(nèi)容而不刷 新它。通過討論可以更清楚地說明這一點什么是AJAX,為什么使用它,它的局限性以及Node 如何證明優(yōu)越性實現(xiàn)AJAX的那些限制。

14、AJAXAJAX 18是“異步JavaScript和XML”的縮寫,是一組創(chuàng)立高度互動的網(wǎng)站和Web 應用程序的技術18 o AJAX很廣泛用于指使用JavaScript從客戶端與服務器通信的所有 方法。雖然,AJAX主要用于異步通信,但主要涉及XML數(shù)據(jù)傳輸,它可以是同步的,可以 使用其他數(shù)據(jù)格式,如JS0N 16 o AJAX改變了用戶在網(wǎng)絡上的互動方式。應用程序不再 需要刷新整個頁面以響應每個用戶輸入。使用AJAX,應用程序可以調(diào)用服務器上的特定過 程并僅更新網(wǎng)頁的特定局部。之前AJAX,網(wǎng)頁上的交互性相當笨拙和昂貴。因為,對于任 何用戶交互發(fā)生,需要在服務器上生成頁面的更新版本,發(fā)送回

15、瀏覽器并呈現(xiàn)。即使所需 的更新是微小的,結(jié)果也是如此總是一個全新的頁面刷新。這種模式浪費了帶寬和資源。AJAX通過在粒度級別修改過程簡化了這種方法17 o在AJAX中,JavaScript代碼 使用瀏覽器中內(nèi)置的特殊對象:XML Request對象用于翻開與服務器的連接并從中下載 數(shù)據(jù)服務器18。AJAX是用于向其發(fā)送數(shù)據(jù)和從中檢索數(shù)據(jù)的機制服務器與AJAX。制作 AJAX請求和獲取的所有步驟回復,列如下16:.使用。創(chuàng)立 XML Request 對象 XML Request ()構(gòu)造函數(shù)。.該對象用于發(fā)出 請求。為此,使用。初始化對象open ()方法,它接受三 個參數(shù):Request Ty

16、pe (String: POST, GET 或 HEAD), URL (String)和 Asynchronous (布 爾)。. xml 對象的readyState屬性保存響應的當前狀態(tài)。有五種可能的狀態(tài)(0- 4): 0表示未初始化,1表示加載,2表示加載,3表示交互,4表示完成。.將響應發(fā)送回客戶端。FigureClassic 與 AJAX Web 應用程序模型32在圖14中,我們說明了 AJAX調(diào)用所需的所有步驟。在這個例子中,使用AJAX,客 戶端使用文本更新文本中帶有城市天氣預報的文本從windows onload事件18發(fā)起的文 本文件中讀取。? PHP/processjson.

17、 php從data, json文件中讀取內(nèi)容并返回AJAX調(diào)用的例如AJAX使 應用程序能夠更新頁面,僅響應頁面上的用戶操作。它無法解決來自服務器的更新問題。 它沒有提供推動的方式從服務器到瀏覽器的信息17。使用AJAX,客戶端總是必須查詢服 務器不斷獲取可用于應用程序的任何新信息或數(shù)據(jù)。該服務器無法在未事先詢問的情況下 將信息推送到客戶端。結(jié)果是應用程序用戶除非從服務器請求數(shù)據(jù),否那么不會看到數(shù)據(jù)。 反過來,數(shù)據(jù)應用程序獲取的內(nèi)容將過時,即數(shù)據(jù)不是實時的。這是哪里AJAX似乎不如 Node提供的。雖然,有一些技術使用AJAX如AJAX輪詢和AJAX長輪詢,使應用程序?qū)崟r 模擬。這些方法有一些

18、警告。AJAX 投票32在AJAX輪詢中,請求以定期的間隔從客戶端發(fā)送到服務器是時候檢查可用的任何 新更新了。如果有任何新的更新可用服務器,他們被送回。這種方法的缺點是仍然存在延 遲和不會復制實時通訊。此外,還會有很多請求和回復,并且從客戶端和服務器即使沒有 更新。AJAX 投票32AJAX長輪詢32,另一種方法是AJAX長輪詢,這只是AJAX輪詢的一個小變化。與 常規(guī)輪詢一樣,當服務器接收請求時,它會立即返回新數(shù)據(jù)(如果是)??捎?。但是,如果沒有要返回的新數(shù)據(jù),那么服務器會保持連接翻開,并且一旦可用, 就返回數(shù)據(jù)。一旦客戶端收到數(shù)據(jù),客戶端立即再次向服務器發(fā)送另一個請求。如圖16所 /Jn

19、oAJAX長輪詢32使用Socket. io進行實時應用程序開發(fā)32除了 AJAX輪詢和AJAX長輪詢之外,還 有更多的技術來建立客戶端和服務器之間的實時通信,或者至少像SSE一樣(服務器發(fā)送 事件)和Web套接字。但沒有任何事情可以完成雙向工作客戶端和服務器之間的通信實時 像Socket, io那樣。SSE允許服務器將數(shù)據(jù)推送到客戶端,但客戶端無法將數(shù)據(jù)發(fā)送回服 務器。Web套接字允許在客戶端和服務器之間雙向同時進行雙工通信,但它是一個完全新 的協(xié)議。Socket, io是一個用于實時Web應用程序的庫。它是一個內(nèi)置Node的模塊,它可 以安裝在Node應用程序中:npm install s

20、ocket, ioSocket, io是事件驅(qū)動的,具有服務器端和客戶端組件類似的APR基本上, Socket, io由兩局部組成:安裝在節(jié)點的 服務器上或附加到節(jié)點的 服務器的服 務器。允許與服務器交互的客戶端庫??蛻舳撕头掌骶植炕旧隙甲鐾瑯拥氖虑椋涸试S 發(fā)送(或發(fā)布事件并提供定義事件處理程序的方法。為了設置Socket, i。服務器組件,應 遵循以下步驟:創(chuàng)立Socket, io服務器并將其附加到現(xiàn)有 服務器。定義服務器在連接時將 執(zhí)行的操作。在該連接處理程序中:。定義服務器將處理其他自定義事件的內(nèi)容。發(fā)送消 息。同樣,為了在客戶端上設置Socket, io,可以遵循以下步驟:引入客戶

21、端庫。創(chuàng)立套接字對象(連接的接口)。使用該套接字對象:o發(fā)送消息。定義在特定事件上觸發(fā)的回調(diào)。要了解Socket, io的實際用法,請考 慮圖17中的以下腳本實現(xiàn)了與AJAX相同的天氣更新場景。服務器端Node, js腳本如圖17 所示。功能很重要語句在評論局部中描述。26, Socket, io服務器端腳本例如在該例如中,用于數(shù)據(jù)交換的data, json文件顯 示為: “city”: Minneapolis”, max_temp: 42, min_temp: 10 27第4章:為什么選擇Node, js? Node一直深受開發(fā)人員歡迎,其成功吸引了眾多高 科技人士采用Node取代現(xiàn)有技術的

22、公司。有許多Node受歡迎的原因以及為什么應該使用 Node進行應用程序開發(fā)。高性能Web服務器5隨著Web 2.0的出現(xiàn)和不同設備中的 Internet連接:cell手機,平板電腦,臺式機和筆記本電腦;適用范圍已大大擴大。對齊 需要支持更多用戶并提供實時體驗。應用已成為主要挑戰(zhàn)。安裝新硬件時增加了功率。在 應用程序中不斷增加對速度和更快連接的需求,但事實并非如此最優(yōu)的解決方案,因為它 更昂貴。Node試圖通過引入來解決這個問題。架構(gòu)稱為Web服務器的事件驅(qū)動編程。節(jié) 點效率更高。內(nèi)存比傳統(tǒng)服務器,并盡可能保持提供非常快的響應時間,許多并發(fā)用戶。 這是因為Node在單個線程中運行,并且只要No

23、de必須運行,做一些緩慢的事情,比方等 待確認,它只是繼續(xù)服務另一個請求。傳統(tǒng)方法可以通過多線程來實現(xiàn)這一點,這需要更 多的存儲器。同時,傳統(tǒng)方法很復雜并且涉及上下文切換。節(jié)點是在這方面優(yōu)選的是,提 供更廉價,可擴展和高性能的應用環(huán)境。JavaScript的受歡迎程度19從WWW開展的早期開始,JavaScript 一直存在于瀏 覽器中。甚至當AJAX出現(xiàn)時,JavaScript是至關重要的。這導致了 JavaScript的普及盡 管有一些批評,但在開發(fā)商中間。無論哪種服務器端腳本語言使用過,JavaScript一直是 客戶端腳本的選擇。熟悉JavaScript和Node加入JavaScrip

24、t,具有在服務器端和許多其 他方面編寫代碼的功能,功能開發(fā)人員采用Nodeo通過利用JavaScript的最正確功能。語 言和培育一個充滿活力的社區(qū),Node已成為一個受歡迎的平臺和框架,持續(xù)采用增長。一種語言多功能19。Node允許在服務器端和客戶端運行JavaScript代碼。節(jié)點 有將JavaScript提升到應用程序開發(fā)的新高度。在Node中開發(fā)的任何系統(tǒng)將從本地或客 戶端平臺上的任何地方運行,或從高端節(jié)點運行。服務器在別處托管此外,還有數(shù)千個免 費的Node模塊可供使用??梢允褂肗ode的內(nèi)置Web服務器在本地開發(fā)應用程序。所以, 不像其他人編程語言,需要單獨的Web服務器才能托管甚

25、至是托管語言。經(jīng)過測試,Node 擁有它所需的一切-Web服務器,客戶端腳本和服務器端。腳本。簡單的開發(fā)環(huán)境19通常,為新工程建立開發(fā)環(huán)境對開發(fā)人員來說很麻 煩。這需要時間和精力,第一步涉及到。開發(fā)環(huán)境正確,確保安裝所有軟件包,必需的 版本,然后將代碼放入存儲庫進行測試。傳統(tǒng)的很屢次,環(huán)境要求開發(fā)人員回顧并檢查 是否遺漏了某些內(nèi)容。節(jié)點簡化了這一過程,提高了開發(fā)人員的工作效率。在Node環(huán)境 中,開發(fā)人員只需下載Node,從存儲庫中提取代碼,然后從那里開始。節(jié)點安裝程序適 用于所有主要操作系統(tǒng):Mac, Linux, Windows和SunOS。來源代碼也可以從頭開始下載 和構(gòu)建。所以,設置節(jié)

26、點開發(fā)環(huán)境相對簡單得多(見附錄)。良好聲譽19Node在科技行 業(yè)贏得了良好的聲譽。技術方面的許多大玩家行業(yè)正在使用Node。節(jié)點在許多備受矚目 的技術堆棧中發(fā)揮著關鍵作用依賴其獨特優(yōu)勢的公司。Node為Microsoft Azure用戶提 供了第一個端到端JavaScript體驗,用于開發(fā)全新的實時應用程序。Node的I /。事件 模型使eBay免于擔憂鎖定和并發(fā)問題。常見于多線程異步I / 0.在服務器端,整個移動 軟件Linkedln的堆棧完全是在Node 30中構(gòu)建的。PayPal在從現(xiàn)有工程的Java遷移 到Node后,看起來很重要,改進Java。使用Node,重寫的應用程序在一半的

27、時間內(nèi)以 較少的時間交付開發(fā)人員,使用較少的代碼行,但能夠處理兩倍的請求,延遲減少三分 之一。因此,他們看到他們的開發(fā)和產(chǎn)品性能提高,切換后顯著19。第5章:Node, js安全性編程領域?qū)avaScript的需求激增,其范圍已擴大客戶端到服務器端。因此, SSJS (服務器端JavaScript)功能幾乎可用無處不在,無論是在數(shù)據(jù)庫服務器(如 Mongo DB),文件服務器和Web服務器(如Node)中。JavaScript向SSJS的這一舉動帶 來了許多好處,但也捆綁了一些安全方面的缺點??蛻舳四_本注入,已存在很長時間了 被利用來在服務器上執(zhí)行。服務器端腳本注入同樣容易意外地引入服務器端

28、應用程序代 碼,因為它們用于客戶端代碼。相比之下,SSJS注射的效果要嚴重得多。其中一個漏洞 就是跨站腳本。由于Node基于JavaScript,因此也容易受到跨站點的攻擊XSS是一種攻擊,允許攻擊者在Web應用程序中注入惡意腳本。XSS漏洞是由Web 應用程序中的故障導致的,無法正確驗證用戶輸入。通過顛覆客戶端腳本語言,攻擊者 可以完全控制受害者。server-side scripting languages with respect to performance and scalability. In this paper, we will describe the advantageou

29、s features of Node. The underlying features of Node: single-threaded, event-driven I/O, and asynchronous programming are discussed with sufficient examples to give better insight into the working architecture of Node that led to Nodes success. In this paper, we also distinguish Node from JavaScript,

30、 which is the backbone on top of which Node has been developed. The same is true of AJAX, which is often time confused with Node. We perform an analysis of Nodes performance with real-time data by implementing two well known applications (Fibonacci number calculation and reading large text file). Fo

31、r further development and enhancement, we also highlight the existing limitations and deficiencies of Node.Simple Server with Node.jsOne of the common uses of Node is to build servers. Node can be used to create different types of servers 7. A simple (Hyper Text Transfer Protocol) web server that re

32、sponds u Hello Node!” to every request it receives can be created with very few lines of code. Type the following code in the text editor, save it as hello_server.js and execute it by typing node hello_server.js from the command prompt. Then, visit this URL: HYPERLINK :/localhost:8000 :/localhost:80

33、00 which should print the Hello Node!” message in the browser.Description of Figure 1 is as follows 6:0. The use strict* string is a directive that enables strict mode, which is a restricted subset of the language that fixes a few important language deficiencies and provides stronger error checking

34、and increased security. For example, strict mode makes it impossible to accidentally create global variables.Imports the module and assign it to the object.Defines the port number from which the server will be accepting connections.Create the web server by calling the factory method from the module

35、and send it a callback function. This anonymous function takes req and res ( request and response) objects as parameters. Every time a client makes a request, this function will get called.Displays to standard output the request information (method, requested resource, and request headers) followed

36、by a new line.Writes the response line and header fields. A status code need to be specified (200, for example, when the request was successful) and an object with all the response headers.Writes the response body before the end method closes the connection.Tells the web server to start accepting co

37、nnections on the specified port.Call the console.log method to print the information to standard output.Node.js ModulesModules are plugins, add-ons, and extensions for Node to help with the development process. The Node module exposes a public API (Application Programming Interface) that one can use

38、 after the module is imported into the current script. Node modules can be categorized as core modules, third party modules, and local modules. Core modules are modules that come with Nodes installation and are preloaded when a Node process starts. Core modules are referenced simply by name while lo

39、cal modules and third party modules maps into a file path. Third party modules are modules registered in NPM and installed using npm command. NPM by default dumps modules installed from NPM repository into node_modules local directory. And local modules are self-created modules 9.Sharing objects amo

40、ng files in a Node application is possible only by using the CommonJS module system. For a module to expose an API, module and module.exports are used, module is a variable representing the module currently in consideration and module.exports is the object that the module will export to other script

41、 that requires this module. For instance, a module can be created that exports a set of functions as shown in Figure 2 9.NPM: Node Package ManagerBesides writing local modules oneself, and using default modules provided by Node, modules written by other people in the Node community can be used. Also

42、, self-created local modules can be published for others. NPM which stands for Node Package Manager is the most common way to do so 10.NPM is a built-in tool that is included by default with every installation of Node. NPM helps in easily managing modules in Node projects by downloading packages, re

43、solving dependencies, running tests, and installing command line utilities 8. The main purpose of the NPM modular system is to ease the availability and installation of bunch of publicly available, reusable components via an online repository, with version and dependency management. Modules are plug

44、ins, add-ons, and extensions for Node to help with the development process. A full list of packaged modules can be found on the NPM website HYPERLINK s:/ s:/, or accessed using the NPM CLI (Command Line Interpreter) tool that automatically gets installed with Node. The Nodes module ecosystem is open

45、 to all, and anyone can publish their own module to be listed in the NPM repository 11.To ensure the successful installation of NPM, issue the following command which should display the NPM version 8: npm -version 7 To install modules via npm, npm install command should be used which requires the na

46、me of the module package to be installed and its version. For instance, mysql module package can be installed by issuing this command 10: npm install mysql2.0.0.NPM installs module packages to the node_modules subdirectory of the project. Thousands of modules in the registry can be explored using th

47、e search and view commands. The search command is useful when the name of the package to be installed is not known so it prints the name and description of all matching published modules 8, 10.package.json is a JSON (JavaScript Object Notation) file that allows to locally manage installed npm packag

48、es. It serves as documentation for what packages the project depends on, allowing to specify the version of a package that the project can use 31.How Node.js Works?The main distinctive features of the Node architecture are the usage of non-blocking, event driven, asynchronous I/O calls that operate

49、in a single thread. Conventional web servers handle concurrency by spawning new threads for each new request, which can max out the available memory. Node is lightweight, efficient, and different. It is able to support tens of thousands of concurrent connections because of its unique features. Even

50、with limited memory and a single thread, Node can achieve high concurrency rate without having to perform context switching between threads 12.The Node architecture and its working mechanism can be better clarified by understanding its underlying features and comparing it with previous approaches.No

51、n-Blocking Event LoopNode is non-blocking in the sense that it is able to service multiple requests, and it doesnt waste clock cycles in I/O tasks as is the case in the conventional blocking model. The conventional blocking model tends to block subsequent requests sent to a server when it is perform

52、ing I/O operations such as reading content from a database. In order to be non-blocking, Node uses an event loop, a software pattern that facilitates non-blocking I/O combined with event-driven I/O, a scheme where a registered event callback function is invoked when some action happens in the progra

53、m 3.Consider this blocking PHP (Hypertext Pre-processor) code and non-blocking Node.js code in Figure 3 and Figure 4 respectively 8.In the first example, the PHP sleep() function blocks the thread of execution. While the program is sleeping, it does not perform any tasks but waits for the time speci

54、fied. The execution is thus blocked as long as it is specified. And no other instructions are executed until the specified time elapses, indicating its synchronous. Node on the other hand, leverages the event loop. So, even the use of blocking, setTimeout() is non-blocking in the latter case. It reg

55、isters an event for the future and lets the program continue to run, therefore being asynchronous.Single-Threaded ModelNode is a process that runs in an event loop making use of a single thread to service any requests. Whereas other web servers like Apache spawn a new thread per request, which start

56、s with a fresh state every time 8. Node is powerful considering the way it permits non-blocking I/O to occur in a single thread which makes the overhead of Node very small, because no new threads are created. When a Node application needs to perform operations, it sends an asynchronous task to the e

57、vent loop, registers a callback function, and then continues to handle other operations. The event loop keeps track of the asynchronous operation, executes the given callback and when it completes, returns its result to the application. Node is able to handle a large number of operations (even with

58、a single thread) by managing the thread pool and optimizing the task execution, such as client connections or computations 13.Consider the following getLanguages() function in Figure 5. This function gets executed every time the user makes a request to the getLanguages() function and returns a colle

59、ction of languages in HTML form.附錄B外文翻譯一譯文局部Node.js的比擬分析(服務器端JavaScript)文章來源: s:/cgi/viewcontent.cgi?referer= s:/ google /& sredir= 1 &article= 1004&context=csit_etds第1章:簡介Node.js (Node) 1是一個跨平臺運行時環(huán)境,最初由Ryan Dahl于2009年開發(fā), 用于開發(fā)服務器端應用程序。它可以被視為服務器端JavaScript。它的創(chuàng)立是為了解決 平臺可能遇到的問題,網(wǎng)絡通信時間的性能使得處理Web請求和響應的時間

60、過長?!癗ode.js是一個基于Chrome JavaScript運行時的平臺,可輕松構(gòu)建快速,可擴展的網(wǎng) 絡應用程序。Node.js使用事件驅(qū)動的非阻塞I/O模型,使其輕量級和高效,非常適 合跨分布式設備運行的數(shù)據(jù)密集型實時應用程序1。Node已經(jīng)變得流行,因為它可以輕松創(chuàng)立高性能,實時的Web應用程序。Node 允許在服務器和客戶端上端到端地使用JavaScripto JavaScript最初只在Web瀏覽器中 運行,但是相當大的需求已經(jīng)將它帶到了服務器端。JavaScript已經(jīng)開展得非常多,并 且已經(jīng)超越了服務器端腳本。我們需要分析Node應用程序中的安全問題,因為它與 JavaScr

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論