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中的一些基本概念
回呼就是將後續邏輯封裝成起始函數的參數,逐層嵌套得函數。
同步:發送資料後,等待回回應後,才發送下一個資料包的通訊方式
非同步:發送資料後,不等回應,接著發送下個封包的通訊方式
檔案系統裡面:
磁盘的写入(in) 磁盘的读取(out)
一次只能執行一個程式叫做單執行緒
##一次能執行多個程式叫做多執行緒
5. 什麼是阻塞/非阻塞?阻塞:前一個程式未執行完,就得一直等待
非阻塞:前一個程式未執行完時可以掛起,繼續執行其他程序,等到使用時再執行
6. 什麼是事件? 一個觸發動作(例如點擊按鈕)7. 什麼是事件驅動? 一個觸發動作所引起的動作(例如點擊按鈕後彈出一個對話框)8. 什麼是基於事件驅動的回呼?不是馬上執行,
只有當事件發生的時候,才會被呼叫回調用函數,這種函數執行的方式叫做事件驅動。 這種註冊回呼就是基於事件驅動的回呼。
如果這些回呼和非同步I/O(資料寫入、讀取)操作相關,可以看作是基於回呼的非同步I/O。
不會阻塞整個程式執行的流程,此時需要一種機制來管理,這種機制叫做事件循環
總而言之,管理大量非同步操作的機制叫做事件循環。以上是Node.JS的相關知識的詳細內容。更多資訊請關注PHP中文網其他相關文章!