-
一、服務器、客戶端交互
1、chrome
(1)chrome搜索自身的dns緩存
(2)搜索操作系統自身的dns緩存(瀏覽器沒有找到緩存或緩存已經失效)。
(3)讀取本地的host文件。
優先級:瀏覽器DNS緩存>操作系統DNS緩存>HOST文件
(4)瀏覽器發起一個dns的一個系統調用。
(5)瀏覽器獲得域名對應的ip地址后,發起http“三次握手”。
(6)tcp/ip連接建立起來后,瀏覽器就可以向服務器發送http請求了,使用了比如說,用Http的get方法請求一個根域里的一個域名,協議可以采用http1.0的一個協議。
(7)服務器接收到了這個請求,根據路徑參數,經過后端的一些處理之后,把處理后的一個結果的數據返回給瀏覽器,如果是慕課網的頁面,就會把完整的html頁面代碼返回給瀏覽器。
(8)瀏覽器拿到了慕課網的完整的html頁面代碼,在解析和渲染這個頁面的時候,里面的js,css,圖片靜態資源,同樣也是一個個http請求,都需要上述7個步驟。
(9)瀏覽器拿到資源對頁面進行渲染,最終把一個完整的頁面呈現給用戶。
2、運營商dns服務器:
(1)寬帶運營商服務器查看本身緩存。
(2)運營商服務器發起一個迭代dns解析的請求。
(3)運營商服務器把結果返回操作系統內核同時緩存起來。
(4)操作系統內核把結果返回瀏覽器。
(5)最終拿到www.xianlaiwan.cn對應的ip地址。
二、根域、頂級域名、主域名。
123.com:頂級域名
com;根域名
查看全部 -
一、序列化與反序列化
1、序列化:querystring.stringify({name:'scott',course:['jade','name']}, ',', ':');
(1){}:url參數.(2)第2個參數的‘,’表示,代替&,(3)第3個參數的':'表示:代替=。
2、反序列化:querystring.parse('name=scott&course=jade')。
querystring.parse('name=scott,course=jade',',')。
querystring.parse('name:scott,course:jade', ',', ':')。
querystring.parse('name:scott,course:jade', ',', ':', 0)。最后一個參數maxKey=0,就對key的個數沒有限制了。
二、轉譯與反轉譯
1、轉譯:querystring.escape('<哈哈>');
2、反轉譯:querystring.unescape();
查看全部 -
一、uri:Uniform?Resource?Identifier,統一資源標識符,字符串格式規范
url:Uniform Resource Locator,統一資源定位符
url是uri的子集,url肯定是uri,uri不一定是url。
查看全部 -
大量js文件寫入頁面會使得方法被重寫掉,變量被被覆蓋掉,特別是存在一些依賴關系的時候,很容易出錯,是因為javascript天生缺少一種模塊管理機制 來隔離實現不同功能的js片段,避免他們相互污染,為此采用命名空間的方式,吧變量和函數限制在某個特定的作用域內 ,人為約定一套命名規范來約束代碼,從而使得代碼安全執行。nodejs克服了以上缺點
查看全部 -
一、模塊流程:
1、創建模塊。teacher.js
2、導出模塊。exports.add = function() {}; export是一個對象,可以掛載屬性,number,data, string等。
3、加載模塊。var teacher = require('./teacher.js);
4、使用模塊。teacher.add('Scot);
二、node中沒有全局命名空間這個概念。
三、exports, ?module.exports.
1、希望你的模塊是一個傳統的模塊實例:用exports.
2、想要你的模塊成為一個特別的對象類型:用module.exports。
3、module.exports是真實存在的東西,exports是module.exports的輔助方法。
4、module.exports如果已經有了屬性,exports就會被忽略。
查看全部 -
一、nodeJs文件和模塊是一一對應的,模塊類型:核心模塊,文件模塊,npm安裝的第三方模塊。
二、引入文件的2種方式:文件路徑引入,文件名引入。
查看全部 -
一、javascript天生缺少模塊管理機制,來隔離不同功能的Js片段,避免相互污染。
解決:匿名空間方式,把變量和函數限制在某個特定的作用域內。
查看全部 -
一、js與node.js腳本執行,變量,方法沒什么差異,但是所在的環境底層,都不太一樣。
都有自己特殊的環境變量。
查看全部 -
nodejs的版本一定要API文檔保持同步
不同版本的nodejs接口不一定相同
甚至是相同的接口使用規范也有區別
0.10.0x?
查看全部 -
nodejs 版本管理模塊? n
查看全部 -
nodejs url 方法
查看全部 -
瀏覽器 window document 全局變量
服務器 process 全局變量
查看全部 -
查看全部
-
偶數位為穩定版本,奇數為非穩定版本
查看全部 -
Node.js本質是一個JS運行環境;
可以解析JS代碼,沒有瀏覽器安全級的限制;
提供系統級別的API:? 如文件的讀寫,進程的管理,網絡通信。
查看全部
舉報