網路Cookie工作原理

2022-04-10 03:35:52 字數 4500 閱讀 6437

雖然大多數網路cookie使用起來相當簡單,但是它們也有自己獨特的原理。由於涉及到網際網路隱私問題,cookie從2023年就開始受到廣大**的關注,直到現在仍存在著激烈的爭論。

然而,cookie提供了使web更加容易導航的能力。幾乎每個**的設計人員都會使用cookie,因為它們能夠提供更好的使用者體驗,並使得收集有關**訪問者的準確資訊變得非常容易。

在本文中,我們將了解cookie背後的基本技術及其支援的一些功能。

cookie基本知識

2023年4月,筆者在一家頗有規模和影響力的報紙上閱讀了一篇有關深入**網際網路隱私的文章,文中對cookie進行了定義。定義大致是這樣的:

cookie是**放置在硬碟上的程式。它們駐留在計算機上,用於收集有關您和您在網際網路上執行的任何操作的資訊,只要**需要,就可以**此cookie收集的所有資訊。

類似這樣的定義在新聞報道中相當普遍,而問題在於所有這些資訊都是錯誤的。cookie不是程式,不能像執行程式一樣執行。因此,cookie自己不能收集任何資訊,也不能從您的計算機上收集與您有關的任何個人資訊。

下面是cookie的正確定義:cookie是指web伺服器可以在使用者的硬碟上儲存的一段文字。cookie允許**將資訊儲存在使用者的計算機上,並在以後檢索此資訊。

這些資訊以名稱/值對的形式儲存。

例如,**可以為每個訪問者生成唯一的id號,並使用cookie檔案將此id號儲存在每個使用者的計算機上。

如果使用微軟的ie瀏覽器來瀏覽頁面,則可以看到儲存在計算機上的所有cookie。它們通常駐留在名為c:windowscookies的目錄中。

當筆者在計算機上檢視該目錄時,發現了165個檔案,每個檔案都是乙個包含名稱/值對的文字檔案,並且筆者的計算機上儲存了與每個**相對應的乙個檔案。

您可以看到這個目錄中的每乙個檔案都是簡單的普通文字檔案,通過檢視檔名可以看出是哪個**將該檔案儲存到您的計算機上(這些資訊也儲存在檔案中)。通過單擊每乙個檔案,可以將其開啟。

例如,筆者訪問過該**已將乙個cookie放置在筆者的計算機上。對應的cookie檔案包含以下資訊:

userid a9a3bece0563982d

已在筆者的計算機上儲存了乙個名稱/值對。此名稱/值對的名稱為userid,值為a9a3bece0563982d。當筆者第一次訪問時,該**為筆者分配了乙個唯一的id值,並將其儲存在筆者的計算機上。

(請注意,在上面顯示的三個值之後,可能還有一些其他的值儲存在檔案中。這些值是瀏覽器的管理資訊。)

在筆者的計算機上儲存的資訊更多一些。當檢視amazon在筆者的計算機上建立的cookie檔案時,發現其中包含以下資訊:

session-id-time 954242000

session-id 002-4135256-7625846

x-main ekqifwnxuf7qtmx52x6vwaxh@ih6uo5h

ubid-main 077-9263437-9645324

可以看出,amazon在筆者的計算機上儲存了主使用者id、每個會話的id以及會話的開始時間(以及乙個不知道表示什麼的x-main值)。

大多數**僅在計算機上儲存一條資訊,即使用者id。但是**可以根據需要儲存許多名稱/值對。

名稱/值對只是命名的資料段,而不是乙個程式,也不能「執行」任何操作。**只能檢索它放置在計算機上的資訊,而無法檢索其他cookie檔案中的資訊,也不能檢索計算機上的任何其他資訊。

cookie資料是如何移動的?

如上一節中所述,cookie資料只是**儲存在您的硬碟上的乙個名稱/值對。所有cookie資料都是這樣。**儲存此資料,並在以後接收此資料。

乙個**只能接收其儲存在計算機上的資料,該**不能檢視任何其他cookie或計算機上的任何其他內容。

資料將按以下方式移動:

如果在瀏覽器中鍵入乙個**的url,則瀏覽器會向該**傳送相關網頁的請求(有關討論,請參閱web伺服器工作原理)。例如,如果在瀏覽器中鍵入url則瀏覽器將聯絡amazon的伺服器並請求其主頁。

當瀏覽器執行上述操作時,它會在您的計算機上尋找amazon設定的cookie檔案。如果找到amazon cookie檔案,瀏覽器就會將該檔案中的所有名稱/值對連同url一起傳送給amazon的伺服器。如果未找到任何cookie檔案,則不會傳送任何cookie資料。

amazon的web伺服器將接收cookie資料和頁面請求。如果接收到名稱/值對,amazon就可以使用它們。

如果未接收到任何名稱/值對,amazon將知道您之前從未訪問過該**。伺服器將在amazon的資料庫中為您建立乙個新id,然後將名稱/值對放置在它傳送的網頁的標頭中,從而傳送到您的計算機上。計算機將名稱/值對儲存在硬碟上。

每當您訪問**並請求頁面時,web伺服器可以更改名稱/值對或新增新對。

伺服器還可以將其他一些資訊連同名稱/值對一起傳送,這些資訊中包括到期日期。另乙個資訊是路徑(以便**可以將不同的cookie值與**的不同部分相關聯)。

您可以控制整個過程。在瀏覽器中設定乙個選項,以便每當**向您傳送名稱/值對時,瀏覽器都會通知您。之後,您便可以接受或拒絕這些值。

**是如何使用cookie的?

cookie由於為使用**的人解決了乙個大問題而逐漸發展起來。從廣義上說,cookie允許**在計算機上儲存狀態資訊,這些資訊可讓**記住瀏覽器所處的狀態。id是一條簡單的狀態資訊——如果計算機上存在某個id,則相應**就會知道您之前已訪問過該**。

這個狀態表明「您的瀏覽器至少已訪問該**一次」,並且該**可以通過那次訪問記住您的id。

**可以按照許多不同的方式使用cookie。以下是一些最常見的示例:

**可以準確確定**的實際訪問人數。研究表明,由於存在**伺服器、快取、集中器等,**用來準確計算訪問者數量的唯一方法就是為每個訪問者設定乙個包含唯一id的cookie。通過使用cookie,**可以確定:

訪問者人數

新訪問者和重複訪問者的人數對比

訪問者的訪問頻率

**通過使用資料庫來完成此任務。當訪問者第一次訪問**時,**會在資料庫中建立乙個新id,並將此id作為cookie傳送。當使用者下一次返回**時,**會在資料庫中將與此id相關的計數器遞增,從而知道訪問者的返回次數。

**可以儲存使用者首選項,以便使此**的外觀對於每乙個訪問者都可以是不同的(通常稱作自定義)。例如,如果您訪問該**會為您提供「更改內容/布局/顏色」的功能,還允許輸入您所在地區的郵政編碼來獲取自定義的天氣資訊。當您輸入郵政編碼時,下面的名稱/值對就會新增到msn的cookie檔案中:

weat cc=nc%5fraleigh%2ddurhamandregion=

由於筆者居住在北卡羅來納州羅利市,這樣的天氣預報才有意義。

大多數**似乎都會將類似這樣的首選項儲存在**的資料庫中,並僅將id儲存為cookie。不過,將實際值儲存在名稱/值對中是另一種實現方式(稍後我們將討論此方法不受歡迎的原因)。

電子商務**可以實現購物車和「快速結帳」選項這樣的功能。cookie包含乙個id並可讓**跟蹤您向購物車中新增的不同商品。您新增到購物車中的每個商品會與您的id值一起儲存在**的資料庫中。

當您結帳時,**通過從資料庫檢索您的所有選擇,就可以知道購物車中的商品。在不使用cookie或類似物件的情況下,人們很難實現方便的購物機制。

在所有這些示例中,請注意,資料庫可以儲存您從**選擇的商品、您從**檢視的頁面以及您通過**表單提供給**的資訊等,所有資訊都儲存在**的資料庫中。在大多數情況下,儲存在計算機上的全部內容只是乙個包含您的獨特id的cookie。

cookie存在的問題

cookie使許多原本不可能的事情變為了可能,但它還不是一種完善的狀態機制。例如,cookie在以下一些方面還不夠完善。

人們經常共享計算機——在公共場所使用的任何計算機以及在辦公環境或家中使用的許多計算機都可以由多個人共享。假設您使用公共計算機(例如在圖書館中)從網上商店買東西,商店會在計算機上留下乙個cookie,這樣便導致其他人稍後可能會試圖使用您的帳戶從商店買東西。商店之所以通常會發布有關此問題的大量警告,原因就在於此。

然而即使如此,還是會有錯誤發生。例如,筆者曾經使用筆者妻子的計算機從亞馬遜**(amazon) 買東西,後來,當她訪問亞馬遜**並單擊「一鍵通」按鈕時,並沒有意識到只是這麼單擊一下就實際上購買了一本書。

在恰當地使用了帳戶的windows nt計算機或unix計算機的系統上,則不會出現這類問題。帳戶可以將所有使用者的cookie分開。然而帳戶在其他作業系統上太過隨意,這是個問題。

如果您在公共計算機上嘗試按照上面的例子做,並且使用該計算機的其他人已訪問過博聞網,則歷史記錄url可能會顯示乙個長長的檔案列表。

清除cookie——如果您的瀏覽器出了問題並致電技術支援人員,技術支援人員可能會首先要求您清除計算機上所有的臨時網路檔案。執行此操作後,您會丟失所有的cookie檔案。這時當您再次訪問某個**,該**會認為您是乙個新使用者,並會為您分配乙個新的cookie。

這往往會在識別新訪問者還是回訪者方面造成**記錄錯誤,同時也會讓您難以恢復以前儲存的首選項。這就是**在某些情況下要求您註冊的原因——如果您使用使用者名稱和密碼進行註冊,則可以登入並恢復首選項,即使您丟失cookie檔案也沒有關係。如果將首選項的值直接儲存在計算機上(如上述msn天氣示例),則無法進行恢復。

這就是現在許多**將所有使用者資訊儲存在乙個**資料庫中,而僅將乙個id值儲存在使用者的計算機上的原因。

網路廣播電台工作原理

網路廣播節目製作提供了豐富的廣播節目型別,尤其是 節目的型別。廣播節目現在正在逐漸集中到少數的大型傳媒集團 例如cox jefferson pilot和bonneville 手中。由於電台經常為了向廣告客戶收取盡可能高的廣告費而盡力爭取到最多的聽眾,這使得廣播節目更加大眾化。另一方面,網路廣播為擴充...

網路攝像機的工作原理

網路攝像機組成原理 網路攝像機一般由鏡頭 影象感測器 聲音感測器 a d轉換器 影象 聲音 控制器網路伺服器 外部報警 控制介面等部分組成。1 鏡頭 鏡頭作為網路攝像機的前端部件,有固定光圈 自動光圈 自動變焦 自動變倍等種類,與模擬攝像機相同。2 影象感測器 聲音感測器 影象感測器有cmos和cc...

網路攝像機的組成及工作原理

網路攝像機的應用,使得影象監控技術有了乙個質的飛躍。首先,網路的綜合佈線代替了傳統的 模擬佈線,實現了真正的三網 音訊 資料 合一,網路攝像機即插即用,工程實施簡便,系統擴充方便 其次,跨區域遠端監控成為可能,特別是利用網際網路,影象監控已經沒有距離限制,而且影象清晰,穩定可靠 再者,影象的儲存 檢...