初識 Cookie
Cookie是什麼
Cookie 歷來指就著牛奶一起吃的點心。然而,在因特網內,“Cookie”這個字有了完全不同的意思。那麼“Cookie”到底是什麼呢?
“Cookie”是小量資訊,由網路伺服器傳送出來以儲存在網路瀏覽器上,從而下次這位獨一無二的訪客又回到該網路伺服器時,可從該瀏覽器讀回此資訊。
這是很有用的,讓瀏覽器記住這位訪客的特定資訊,如上次訪問的位置、花費的時間或使用者首選項(如樣式表)。Cookie 是個儲存在瀏覽器目錄的文字檔案,當瀏覽器執行時,儲存在 RAM 中。一旦你從該網站或網路伺服器退出,Cookie 也可儲存在計算機的硬驅上。當訪客結束其瀏覽器對話時,即終止的所有 Cookie。
再次簡單理解Cookie
cookie:是一小段文字,明文。儲存在客戶端的瀏覽器記憶體裡面或者磁碟。瀏覽器不同,磁碟儲存位置不同。它是一個客戶端狀態保持機制,(網站的資料是存在客戶端),與隱藏域與ViewState物件都屬於這種客戶端狀態保持,Cookie中儲存的是關於網站相關的文字字串資料cookie是跟網站相關,百度可以往客戶端寫cookie,sina也可寫cookie,但是百度只能讀取跟百度網站相關的cookie。
cookie會隨著請求網站一塊傳送到後臺【如果請求百度的時候,那麼就把百度的cookie放到請求報文裡面去,然後傳送到後臺。】
cookie可以設定一個Path來限制某個路徑下面的頁面才會把cookie傳送到後臺。
比如:請求圖片,請求一個css、js,為了提高效能,可以通過 path設定頁面的所在路徑,來控制cookie的傳送。
Cookie的域
瀏覽器往後臺傳送資料時候,要把cookie放到請求報文裡面去,傳送到後臺。
那麼問題來了:請求是子域的網頁,那麼主域的cookie會不會發送到後臺呢?
答案:是的。一塊傳送。如果請求時主域頁面,子域的cookie是不會發送到後臺的。
如果子域想讓請求主域頁面的時候也一塊傳送到後臺,設定當前Cookie的域為主域可以了。
cookie是通過響應報文的方式寫到前臺。最終寫入Cookie是通過響應報文頭來的
cookie有限制(大多數瀏覽器)
Cookie的儲存方式
Cookie的儲存方式有兩種,如果不指定過期時間,那麼儲存在客戶端瀏覽器記憶體中,如果指定了過期時間,那麼儲存在客戶端的磁碟上。
Cookie是與具體網站有關的,如果我們將Cookie設定了過期時間
Cookie的功能特點
在同一個頁面中設定 Cookie,實際上是按從後往前的順序進行的。如果要先刪除一個 Cookie,再寫入一個 Cookie,則必須先寫寫入語句,再寫刪除語句,否則會出現錯誤 。
Cookie是面向路徑的。預設路徑 (path) 屬性時,Web 伺服器頁會自動傳遞當前路徑給瀏覽器,指定路徑強制伺服器使用設定的路徑。在一個目錄頁面裡設定的 Cookie 在另一個目錄的頁面裡是看不到的 。
Cookie 必須在 HTML 檔案的內容輸出之前設定;不同的瀏覽器 (Netscape Navigator、Internet Explorer) 對 Cookie 的處理不一致,使用時一定要考慮;客戶端使用者如果設定禁止 Cookie,則 Cookie 不能建立。 並且在客戶端,一個瀏覽器能建立的 Cookie 數量最多為 300 個,並且每個不能超過 4KB,每個 Web 站點能設定的 Cookie 總數不能超過 20 個。
Cookie的應用場景
比如,每個匿名使用者都可以瀏覽京東的商品,但是京東後臺不會把所有人瀏覽過的記錄儲存下來,因為實在太多了吧。所以就用到了Cookie,只把記錄儲存在每個使用者的客戶端。
再如:自動登入、自增,、購物車(應用程式)
購物車的三個特點:1、商品可以區分是誰的;2、可以儲存;3、不登入也能新增商品 。
瀏覽器的cookie資訊