OPFS 不在使用者的檔案系統裡,所以快,也所以找不到

一句話:OPFS 的檔案不會進到使用者的檔案系統。 往一邊推是「所以它快」,往另一邊推是「所以你在 Finder 裡找不到它」——兩個結論同一個根。

對照組:一般檔案為什麼慢

網頁透過 File System Access API(showOpenFilePicker() 那組)碰到的檔案,位於使用者自己的檔案系統——桌面、下載、Documents,Finder 打得開、可以拖給別的 app、可以寄給別人。

因為那是使用者的檔案,瀏覽器和 OS 就必須保護他,於是有三道機制:

機制做什麼
OS 的網路來源標記(Mark of the Web)從網路存下來的檔案會被標記,執行前多跳一次警告
Safe Browsing原文的比喻是「雲端病毒掃描」
不就地寫入寫檔時先寫暫存檔,通過所有安全檢查之後才換掉原檔

而且每個 write() 都是獨立的——幕後要開啟檔案、seek 到 offset、才寫入。原文的結論:在 macOS 上,檔案作業的速度仍相對緩慢。

OPFS 的快,是「不用做那三件事」

不是用了什麼黑魔法:不用透過 OS 確認檔案、不用經過 Safe Browsing、不用先寫暫存檔再換回原檔。

它能全部跳過,是因為那根本不是使用者的檔案,是網頁的。原文把這件事講得很直白:

由於使用者看不到 OPFS,因此不會出現權限提示,也不會進行 Safe Browsing 檢查。

但「看不到」不等於「沒落到磁碟」

這是最容易誤會的一半:

瀏覽器會將 OPFS 的內容持久化儲存到磁碟的某個地方,但你無法期望找到一對一對應的已建立檔案。OPFS 本來就不是設計成讓使用者看見的。(MDN)

所以:

「private」的意思是「對其他網站私有、對使用者不可瀏覽」,不是「不落地」。

要看裡面有什麼,只能問瀏覽器——見 怎麼查 OPFS 裡有哪些檔案。