Node v20.18.0是最新的長期支援版本,帶來實驗性與正式多項功能更新。正式功能包括tls.createSecureContext新支援部分信任鏈新選項,以及vm.createContext()新增可凍結全域物件的選項,提升程式的安全性和效能。而實驗性功能則添加了網路檢查工具,開發者可以透過開啟指定旗標,檢視應用程式的網路活動,進一步了解網路通訊狀況。

Node.js v20.18.0更新提供開發者更多靈活性和安全性,特別是在網路通訊和JavaScript執行環境方面。Node.js中用於建立安全連線的重要API tls.createSecureContext,在這次更新中新增了allowPartialTrustChain選項,讓開發者可以將信任的CA清單中的中繼憑證視為可信任,即便這些憑證並非自簽章(Non-Self-Signed)。

這項變更對於處理信任鏈非常重要的原因在於,就算是無法獲得完整的信任鏈,開發者仍可以透過設定allowPartialTrustChain:true來接受部分信任的中繼憑證,讓應用程式在不同環境中建立安全連線時更具彈性。

另外,Node.js用來建立隔離執行環境,執行第三方或不信任的程式碼,以確保不會影響主應用程式全域狀態的方法vm.createContext(),在這次更新增加了一個能創建可凍結全域物件的新選項。該選項讓開發者可以建立一個沒有攔截器的全域物件,並進一步將其凍結。

攔截器是一種用於監控和控制全域物件的操作機制,避免第三方程式碼對全域物件進行未授權的修改。新的選項取消這層監控直接凍結全域物件,確保全域物件的不可變性以提高安全性,同時加快全域物件的存取速度,適合不需要攔截器行為的應用情境。

在網路檢查工具方面,Node.js v20.18.0新增的實驗性功能,讓開發者可以使用--experimental-network-inspection旗標,監控應用程式中的網路活動。目前該功能僅支援http和https模組,並且還在持續開發中。目前該功能只能在Node.js自身環境使用,Chrome DevTools中的Network標籤尚未支援,未來將會隨著Chrome DevTools團隊的開發而加入。

熱門新聞

Advertisement