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