automation

雲端瀏覽器還是本機瀏覽器:真正的差異是什麼

雲端瀏覽器和本機瀏覽器的真正差異在於工作階段跑在哪裡、誰能看到它,而不是功能清單。這裡是這條邊界實際改變的內容。

更新於 6 分鐘閱讀 Agilelogin product team

要點

  • 雲端瀏覽器和本機瀏覽器真正的差異在於工作階段跑在哪裡,而不是哪一個功能更多。
  • 代管瀏覽器的出口 IP、機器特徵和網路路徑歸供應商的基礎設施所有,不歸操作方所有——這是關於信任邊界的事實,不是某種變通做法。
  • 智慧體與代管瀏覽器之間的每一跳都會增加往返延遲;本機瀏覽器直接省去了這一跳。
  • 代管瀏覽器的營運方能看到瀏覽器與其控制平面之間的流量;本機瀏覽器不存在這樣一個第三方。
  • 沒有哪一種架構天生「更好」——兩者回答的是不同的問題:誰需要看到什麼。

瀏覽器跑在哪裡,以及這改變了什麼

「雲端瀏覽器」和「本機瀏覽器」描述的是同一款軟體執行的兩個不同位置,而這個位置就是全部關鍵所在。雲端瀏覽器執行在供應商營運的基礎設施上——資料中心、容器叢集、一批無頭執行個體——智慧體或指令碼透過網路存取它,通常是透過以遠端 WebSocket 端點形式公開的 CDP。本機瀏覽器執行在操作方自己的機器上,它公開的任何自動化介面也留在這台機器上。

這個位置決定了信任邊界。使用代管瀏覽器時,供應商的基礎設施位於操作方和瀏覽器載入的每一個頁面之間:它終止連線、可以記錄經過它的內容,而且無論有沒有人去讀這些紀錄,它都是工作階段的一方。使用本機瀏覽器時,唯一涉及其中的基礎設施是操作方自己的裝置。兩種安排都不天生更安全——營運良好的代管叢集可以做到專業隔離,維護不善的本機機器也可能是更弱的一環——但它們不是同一條邊界,把兩者當作可以互換正是問題開始的地方。在選擇之前值得問的問題,不是「哪個更強大」,而是「除了操作方之外,還有誰最終能看到這個工作階段」。

自動化情境下的延遲與位置

位置還帶來第二個更具體的後果:距離會消耗時間。本機瀏覽器在同一台機器上接收指令並執行,指令和頁面之間沒有網路跳轉。代管瀏覽器至少會增加一次往返——一旦指令碼發出的是一連串 CDP 呼叫而不是單次請求,往往會有好幾次——這發生在自動化邏輯所在的位置和瀏覽器執行個體實際所在的位置之間。對少數幾個動作而言,這點額外開銷可以忽略不計。但對一個要向頁面發出上百條小指令、等待選擇器、並對結果做出反應的工作流程來說,這些往返會累積起來,「在這台機器上」和「在供應商網路上的某處」之間的差異,就會成為工作流程總執行時間裡實實在在的一部分。

在規模化情境下,地理位置只會讓這一點更明顯,而不是相反。代管瀏覽器執行個體部署在供應商有算力的地方,這未必靠近操作方,也未必靠近工作流程需要存取的網站。本機瀏覽器的位置是固定且已知的:就在操作方裝置已經所在的地方,走的是那台機器已經擁有的、通往目標網站的網路路徑。可預測的位置並不代表在每種情況下都更快——一個擁有出色對等互連的資料中心可以勝過家用寬頻——但它減少了一個變數,讓工作流程執行緩慢卻沒人說得清原因時,少一件需要排查的事。

代管瀏覽器能看到什麼,而本機瀏覽器看不到

一旦自動化進入畫面,第一節提出的可見性問題就有了具體形態。代管瀏覽器的供應商能夠觀察到——這是架構層面的事實,而不是某個廠商特有的政策——瀏覽器執行個體與控制它的一方之間的流量、工作階段執行期間累積的 Cookie 與儲存資料,以及瀏覽器造訪的每個網站都能看到的網路身分——出口 IP、機器特徵。這不需要任何人懷有惡意;「供應商的基礎設施處在中間」在實務上就是這個意思。本機瀏覽器不存在與之對應的第三方。它的 Cookie 與儲存資料留在操作方裝置上,它的網路出口就是操作方已經設定好的那個,瀏覽器和它造訪的網站之間也沒有供應商的基礎設施。

這也是 Profile 發揮作用的地方,與瀏覽器跑在哪裡無關。一個驅動本機瀏覽器的自動化介面,仍然需要自己那套關於「哪個 Profile 歸屬哪個工作階段」的紀律——位置改變的是還有誰能看到一個工作階段,而不是工作流程本身是否需要按智慧體隔離、標示清楚的狀態。一個沒有按 Profile 隔離的本機瀏覽器,仍然可能讓一個工作流程的 Cookie 洩漏進另一個工作流程的工作階段。架構回答的是和隔離模型不同的問題,兩者互不替代。

這是架構上的差異,不是一張功能清單

用一張對照表——速度、成本、建置成本各佔一列——來回答「雲端瀏覽器還是本機瀏覽器」很有誘惑力,就像購買指南那樣。但這種框架低估了真正的差異。成本和建置成本是某個具體產品定價與包裝方式的屬性,會隨廠商和月份變化。工作階段跑在哪裡、除了操作方之外還有誰能看到它,並不會隨定價變化——從瀏覽器被部署到某處的那一刻起,這就由架構決定了。這才是在做出選擇之前值得思考的差異:不是哪家的功能清單目前更好看,而是工作流程的狀態和流量實際會落在哪裡,以及對於這個工作流程所處理的內容來說,這個答案是否可以接受。

沒有哪種架構對每項任務都是正確的預設選擇。一個需要以單台機器無法支撐的規模持續執行、且不依賴某台特定操作方裝置保持連線的工作流程,有充分的理由選擇代管基礎設施。一個圍繞著操作方希望完全不放到第三方基礎設施上的帳號和工作階段建構的工作流程,同樣有充分的理由把瀏覽器留在本機。「雲端還是本機」的誠實答案是:這取決於誰需要看到這個工作階段——這個問題值得認真回答,而不是預設選擇當初最容易建置起來的那種架構。