一、NODE.JS課程介紹
二、NODE.JS安裝
三、NODE.JS服務器搭建
3-1.NODE.JS服務器搭建代碼
3-2.NODE.JS命令行編程和瀏覽器命令行編程的區別
四、模塊與包管理工具
4-1.commonjs是一套規範
4-2.核心模塊、文件模塊、第三方模塊
4-3.module.exports和exports的區別
前者是把實例化對象替換了傳統類型,後者是隻實例化對象
五、Nodejs API
5-1.保持對node.js版本更新的關注
5-2.parse解析url
5-3.querystring使用方法
5-4.HTTP流程
1.瀏覽器搜索DNS緩存
2.操作系統搜索緩存(1失敗)
3.本地HOST文件搜索緩存(2失敗)4.向運營商發送DNS請求(3失敗)後運營商發送DNS解析請求並返回操作系統再給瀏覽器5.發起HTTP三次握手6.TCP/IP服務建立後,瀏覽器向服務器發送請求7.服務器返回數據8.瀏覽器解析數據無論請求和發送都是發送HTTP頭和正文信息,其中HTTP頭髮送的是一些附近信息:內容類型,服務器發送響應的日期,HTTP狀態碼,正文就是用戶提交的表單數據
5-5. HTTP請求和響應
請求方法一般用get、post響應狀態碼:1xx,2xx,3xx,4xx,5xx分別是求接受後在繼續處理,表示成功,完成請求要進一步錯誤,表示客戶端錯誤,表示服務端錯誤
5-6.HTTP事件回調
回調:將一個函數作爲參數傳遞給另一個函數同步/異步:關注的是是否等結果,同步指的發送了請求之後一直等待結果返回才進行下一步(此時不能做其他任務),異步指的是發送請求之後直接返回但不返回結果(可以做其他任務)並且結果會完成之後自動發送回來I/O:磁盤文件系統或數據庫的寫入和讀出,單線程/多線程:單線程一次只能執行一個任務,多線程是一次能執行多個任務阻塞/非阻塞:關注的是執行者在等待結果時的狀態,阻塞是執行任務後等待結果返回前線程掛起不能做其他任務,非阻塞是執行任務後立刻返回不等待結果返回馬上去做其他任務事件:可以被Javascript偵測到的行爲事件驅動:事件發生時才調用的回調函數,這種函數執行方式叫做事件驅動基於事件驅動的回調:通過事件驅動執行的回調函數事件循環:管理異步操作先後順序的機制
5-7.作用域和執行上下文
作用域:分爲局部作用域和全局作用域,是定義變量生存的代碼空間執行上下文:是一個保存了當前作用域內容的對象call是用於改變執行上下文
5-8.HTTP模塊源碼分析
5-9.HTTP性能測試
利用Apache 測試服務器,參數有請求數,併發數等
5-10.HTTP爬蟲
利用http模塊爬取html內容並引入cheerio模塊(實現jquert核心功能的模塊)進行數據過濾
5-11.事件模塊
EventEmitter模塊介紹on和emit方法的使用
5-12.request方法
利用request方法進行數據提交,在network中可以查看提交的數據格式