首頁  >  文章  >  web前端  >  Node.JS的相關知識

Node.JS的相關知識

一个新手
一个新手原創
2017-09-21 09:49:201957瀏覽

當輸入網址的時候,瀏覽器——

1. Chrome搜索自身的DNS缓存(仅有一分钟生命力) 查看:chrome://net-internals/#dns

2. 如果Chrome找不到,或者DNS失效,便会------>>>> 搜索操作系统自身的DNS缓存

3. 前两步都没有找到,就会--------->>>>>>>>>读取本地的HOST文件

4. 浏览器发起一个DNS的系统调用(一般是宽带运营商提供的)

5. 浏览器获得域名对应的IP地址后,发起HTTP“三次握手”

6. TCP/IP连接建立后,浏览器向服务器发送HTTP请求。(比如,使用GET方式,请求一个根域里的一个域名)

7. 服务器向浏览器返回响应结果,包括响应头和响应体

8. 浏览器收到响应之后进行渲染

而運營商伺服器——————

1. 查看本身缓存

2. 发起一个迭代DNS解析请求

3. 把结果返回操作系统内核并缓存起来

作業系統核心把結果回傳瀏覽器

#JS中的一些基本概念

1. 什麼是回呼函數?

回呼就是將後續邏輯封裝成起始函數的參數,逐層嵌套得函數。

2. 什麼是同步/非同步?

同步:發送資料後,等待回回應後,才發送下一個資料包的通訊方式

非同步:發送資料後,不等回應,接著發送下個封包的通訊方式

3. 什麼是I/O?

檔案系統裡面:

            磁盘的写入(in)
            磁盘的读取(out)

4.什麼是單執行緒/多執行緒?

一次只能執行一個程式叫做單執行緒

##一次能執行多個程式叫做多執行緒

5. 什麼是阻塞/非阻塞?


阻塞:前一個程式未執行完,就得一直等待

非阻塞:前一個程式未執行完時可以掛起,繼續執行其他程序,等到使用時再執行

6. 什麼是事件?

一個觸發動作(例如點擊按鈕)

7. 什麼是事件驅動?

一個觸發動作所引起的動作(例如點擊按鈕後彈出一個對話框)

8. 什麼是基於事件驅動的回呼?


為了某個事件註冊了回呼函數,但是這個回呼函數

不是馬上執行

只有當事件發生的時候,才會被呼叫回調用函數,這種函數執行的方式叫做

事件驅動這種註冊回呼就是基於事件驅動的回呼。
如果這些回呼和非同步I/O(資料寫入、讀取)操作相關,可以看作是基於回呼的非同步I/O。

只不過這種回呼在nodejs中是由事件來驅動的

9.什麼是事件循環?


事件循環Eventloop,倘若有大量的非同步操作,如一些I/O的耗時操作,甚至是一些定時器控制的延時操作,

它們完成的時候都要呼叫對應的回呼函數,而從完成一些密集的任務,而又

不會阻塞整個程式執行的流程,此時需要一種機制來管理,這種機制叫做事件循環

總而言之,管理大量非同步操作的機制叫做事件循環。

以上是Node.JS的相關知識的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn