一、Node.js簡(jiǎn)介
Node.js 不是一種獨(dú)立的語言,Node.js 也不是一個(gè) JavaScript 框架,。Node.js 是一個(gè)讓 JavaScript 運(yùn)行在服務(wù)端的開發(fā)平臺(tái)。他跳過了http服務(wù)器,速度更快,性能更牛?。。?br> 學(xué)習(xí)網(wǎng)站:https://github.com/alsotang/node-lessons/tree/master/lesson0
V8引擎本身就是用于Chrome瀏覽器的JS解釋部分,但是Ryan Dahl把V8搬到了服務(wù)器上,用于做服務(wù)器的軟件。
Node.js是一個(gè)讓JavaScript運(yùn)行在服務(wù)器端的開發(fā)平臺(tái),它讓JavaScript的觸角伸到了服務(wù)器端,可以與PHP、JSP、Pythod、Ruby平起平坐。
但Node有點(diǎn)不同:
- Node.js不是一種獨(dú)立的語言,與php、ASP.Net、JSP、Pythod、Perl、Ruby的既是語言,也是平臺(tái)不同,Node.js的使用JavaScript進(jìn)行編程,運(yùn)行在chrome V8引擎上。
- 與php、JSP等相比(php、asp.Net、JSP、.net都需要運(yùn)行在服務(wù)器上),Node.js跳過了Apache、Nginx、IIS等HTTP服務(wù)器,它自己不用建設(shè)在任何服務(wù)器軟件上,Node.js的許多設(shè)計(jì)理念與經(jīng)典架構(gòu)(LAMP)有著很大的不同,可以提供強(qiáng)大的伸縮能力。
Node.js 與 JavaScript
JavaScript 是由 ECMAScript、文檔對(duì)象模型(DOM)和瀏覽器對(duì)象模型(BOM)組成的,而 Mozilla 則指出 JavaScript 由Core JavaScript 和 Client JavaScript 組成。我們可以認(rèn)為,Node.js 中所謂的 JavaScript 只是 Core JavaScript,或者說是 ECMAScript 的一個(gè)實(shí)現(xiàn),不包含 DOM、BOM 或者 Client JavaScript。這是因?yàn)?Node.js 不運(yùn)行在瀏覽器中,所以不需要使用瀏覽器中的許多特性。
??Node.js 是一個(gè)讓 JavaScript 運(yùn)行在瀏覽器之外的平臺(tái)。它實(shí)現(xiàn)了諸如文件系統(tǒng)、模塊、包、操作系統(tǒng) API、網(wǎng)絡(luò)通信等 Core JavaScript 沒有或者不完善的功能。歷史上將 JavaScript移植到瀏覽器外的計(jì)劃不止一個(gè),但Node.js 是最出色的一個(gè)。
??Node.js 的 JavaScript 引擎是 V8,來自 Google Chrome 項(xiàng)目。V8 號(hào)稱是目前世界上最快的 JavaScript 引擎,經(jīng)歷了數(shù)次引擎革命,它的 JIT(Just-in-time Compilation,即時(shí)編譯)執(zhí)行速度已經(jīng)快到了接近本地代碼的執(zhí)行速度。Node.js 不運(yùn)行在瀏覽器中,所以也就不存在 JavaScript 的瀏覽器兼容性問題,你可以放心地使用 JavaScript 語言的所有特性
二、req對(duì)象
- req.headers // http上行請(qǐng)求頭
- req.method // 請(qǐng)求類型(GET/POST)
- req.url // 用戶的請(qǐng)求網(wǎng)址,非常有用,可以用來做路由控制