亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專(zhuān)欄INFORMATION COLUMN

http cookie解釋

livem / 493人閱讀

摘要:可選項(xiàng)部分只會(huì)在瀏覽器端使用,而不會(huì)被發(fā)送至服務(wù)器端。包括過(guò)期時(shí)間選項(xiàng),過(guò)期時(shí)間選項(xiàng)過(guò)期時(shí)間,指定了何時(shí)不會(huì)再被發(fā)送至服務(wù)器,隨后瀏覽器將刪除該。

瀏覽器和Webserver之間的關(guān)系,被設(shè)計(jì)為無(wú)狀態(tài)的,這是一個(gè)很重要的設(shè)計(jì),可以讓客戶(hù)端無(wú)需和服務(wù)器保持狀態(tài),節(jié)省寶貴的端口資源,從而可以為更多的客戶(hù)鏈接服務(wù)。

但是這樣帶來(lái)了問(wèn)題,簡(jiǎn)言之,服務(wù)器無(wú)法知道兩個(gè)請(qǐng)求是否來(lái)自于同一個(gè)瀏覽器。然而,在頁(yè)面訪(fǎng)問(wèn)計(jì)數(shù),購(gòu)物車(chē)等應(yīng)用中,服務(wù)器是需要區(qū)分不同的瀏覽器的,比如客戶(hù)瀏覽器1放置到購(gòu)物車(chē)內(nèi)的商品,和客戶(hù)2瀏覽器的不可以混雜在一起。

辦法是有的。比如在請(qǐng)求的頁(yè)面中插入一個(gè) token,然后在下次請(qǐng)求時(shí)將這個(gè) token 返回至服務(wù)器??梢园裻oken放到form內(nèi)或者URL參數(shù)內(nèi)。

但是被廣為接受的是Cookie方法。cookie就是根據(jù)服務(wù)器響應(yīng)頭的指示,瀏覽器保存的一段文本。并在隨后的請(qǐng)求中將這些信息發(fā)送至Web服務(wù)器,Web服務(wù)器就可以使用這些信息來(lái)識(shí)別不同的用戶(hù)。

具體做法就是:

服務(wù)器可以為來(lái)訪(fǎng)的瀏覽器設(shè)置一個(gè)值,這個(gè)通過(guò)response內(nèi)的Set-Cookie來(lái)實(shí)現(xiàn)

瀏覽器記住這個(gè)值,并且每次訪(fǎng)問(wèn)服務(wù)器時(shí),發(fā)送此值過(guò)來(lái)??梢詮膔equest內(nèi)的Cookie值承載

演示

如下代碼使用express.js,演示了一個(gè)訪(fǎng)問(wèn)計(jì)數(shù)的服務(wù):

const express = require("express")
const app = express()
app.get("/", (req, res) => {
    var count = req.header("Cookie")
    if (!count){
        count = 0 
    }
    count = parseInt(count) + 1
    res.setHeader("Set-Cookie",count)
    res.send("Your Visit page count:" + count)
})
app.get("/reset", (req, res) => {
    res.setHeader("Set-Cookie",0)
    res.send("Your Visit page count:" + 0)
})
app.listen(3000, () => console.log("Example app listening on port 3000!"))

可以打開(kāi)瀏覽器,比如chrome,訪(fǎng)問(wèn)localhost:3000,每次刷新,可以看到:

Your Visit page count:0

的數(shù)字加1。

可以再打開(kāi)另外一個(gè)和chrome不同的瀏覽器,比如safari,訪(fǎng)問(wèn)localhost:3000,每次刷新,可以看到:

 Your Visit page count:0

的數(shù)字加1。這兩個(gè)加1的動(dòng)作,兩個(gè)瀏覽器各自加各自的,互相并不影響。

創(chuàng)建 cookie

通過(guò)發(fā)送一個(gè)稱(chēng)為Set-Cookie的HTTP 消息頭來(lái)創(chuàng)建一個(gè) cookie,格式如下:

Set-Cookie: value[; expires=date][; domain=domain][; path=path][; secure]

消息頭的第一部分,value 部分,可以是任意字符串。但是通常是一個(gè)name=value格式的字符串。

可選項(xiàng)部分只會(huì)在瀏覽器端使用,而不會(huì)被發(fā)送至服務(wù)器端。包括過(guò)期時(shí)間選項(xiàng),

過(guò)期時(shí)間選項(xiàng)

過(guò)期時(shí)間(expires),指定了 cookie 何時(shí)不會(huì)再被發(fā)送至服務(wù)器,隨后瀏覽器將刪除該 cookie。該選項(xiàng)的值是一個(gè) Wdy, DD-Mon-YYYY HH:MM:SS GMT 日期格式的值

expires=Sat, 02 May 2009 23:38:25 GMT

如果 expires 設(shè)置了一個(gè)過(guò)去的時(shí)間點(diǎn),那么這個(gè) cookie 會(huì)被立即刪掉。沒(méi)有設(shè)置 expires 選項(xiàng)時(shí),cookie 的生命周期僅限于當(dāng)前會(huì)話(huà)中,關(guān)閉瀏覽器意味著這次會(huì)話(huà)的結(jié)束,

domain 選項(xiàng)

指定了 cookie 將要被發(fā)送至哪個(gè)或哪些域中。默認(rèn)情況下,domain 會(huì)被設(shè)置為創(chuàng)建該 cookie 的頁(yè)面所在的域名,所以當(dāng)給相同域名發(fā)送請(qǐng)求時(shí)該 cookie 會(huì)被發(fā)送至服務(wù)器。例如,本博中 cookie 的默認(rèn)值將是 bubkoo.com。domain 選項(xiàng)可用來(lái)擴(kuò)充 cookie 可發(fā)送域的數(shù)量,Yahoo! 這種大型網(wǎng)站,都會(huì)有許多 *.yahoo.com 形式的站點(diǎn)(例如:my.yahoo.com, finance.yahoo.com 等等)。將一個(gè) cookie 的 domain 選項(xiàng)設(shè)置為 yahoo.com,就可以將該 cookie 的值發(fā)送至所有這些站點(diǎn)。

path 選項(xiàng)

另一個(gè)控制 Cookie 消息頭發(fā)送時(shí)機(jī)的選項(xiàng)是 path 選項(xiàng),和 domain 選項(xiàng)類(lèi)似,path 選項(xiàng)指定了請(qǐng)求的資源 URL 中必須存在指定的路徑時(shí),才會(huì)發(fā)送Cookie 消息頭。這個(gè)比較通常是將 path 選項(xiàng)的值與請(qǐng)求的 URL 從頭開(kāi)始逐字符比較完成的。如果字符匹配,則發(fā)送 Cookie 消息頭:

path=/blog

在這個(gè)例子中,path 選項(xiàng)值會(huì)與 /blog,/blogrool 等等相匹配;任何以 /blog 開(kāi)頭的選項(xiàng)都是合法的。

secure 選項(xiàng)

只有當(dāng)一個(gè)請(qǐng)求通過(guò) SSL 或 HTTPS 創(chuàng)建時(shí),包含 secure 選項(xiàng)的 cookie 才能被發(fā)送至服務(wù)器。例如:

Set-Cookie: value; secure





文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/93804.html

相關(guān)文章

  • 前端分享之cookie的使用及單點(diǎn)登錄

    摘要:兩個(gè)域之間是不是存在跨域問(wèn)題,主要是根據(jù)協(xié)議域名端口號(hào)這三個(gè)點(diǎn)進(jìn)行判斷,只要有一個(gè)不一樣就是跨域。例如協(xié)議不同與域名不同與端口號(hào)不同與瀏覽器默認(rèn)情況下無(wú)法主動(dòng)跨域向后端發(fā)送,需要在前端請(qǐng)求時(shí)加入配置項(xiàng)。據(jù)此,可以實(shí)現(xiàn)單點(diǎn)登錄。 cookie是什么 cookie的英文意思是餅干。在計(jì)算機(jī)術(shù)語(yǔ)中指服務(wù)端存放在客戶(hù)端的一段數(shù)據(jù)。這段數(shù)據(jù)在客戶(hù)端每次進(jìn)行http請(qǐng)求時(shí)會(huì)自動(dòng)加在http請(qǐng)求報(bào)文...

    Backache 評(píng)論0 收藏0
  • 前端分享之cookie的使用及單點(diǎn)登錄

    摘要:兩個(gè)域之間是不是存在跨域問(wèn)題,主要是根據(jù)協(xié)議域名端口號(hào)這三個(gè)點(diǎn)進(jìn)行判斷,只要有一個(gè)不一樣就是跨域。例如協(xié)議不同與域名不同與端口號(hào)不同與瀏覽器默認(rèn)情況下無(wú)法主動(dòng)跨域向后端發(fā)送,需要在前端請(qǐng)求時(shí)加入配置項(xiàng)。據(jù)此,可以實(shí)現(xiàn)單點(diǎn)登錄。 cookie是什么 cookie的英文意思是餅干。在計(jì)算機(jī)術(shù)語(yǔ)中指服務(wù)端存放在客戶(hù)端的一段數(shù)據(jù)。這段數(shù)據(jù)在客戶(hù)端每次進(jìn)行http請(qǐng)求時(shí)會(huì)自動(dòng)加在http請(qǐng)求報(bào)文...

    MudOnTire 評(píng)論0 收藏0
  • Cookie 與 Session 詳(hu)解(che)【拿去面試用】

    摘要:于是和就出現(xiàn)了,用于在端和端來(lái)分別維護(hù)我是誰(shuí)的狀態(tài)。這種做法就是協(xié)議本身支持狀態(tài)。每次消費(fèi)時(shí),如果顧客出示這張卡片,則此次消費(fèi)就會(huì)與以前或以后的消費(fèi)相聯(lián)系起來(lái)。所以?xún)烧叩淖饔糜虿灰粯?。因此才?huì)出現(xiàn)這種情況。 1、Cookie Cookie 是瀏覽器訪(fǎng)問(wèn)服務(wù)器后,服務(wù)器傳給瀏覽器的一段數(shù)據(jù) 該數(shù)據(jù)以一個(gè)稱(chēng)為Set-Cookie的 HTTP 報(bào)頭格式從 Web 服務(wù)器發(fā)出。 瀏覽器以稱(chēng)為...

    zhaofeihao 評(píng)論0 收藏0
  • Laravel核心解讀 -- Request

    摘要:根據(jù)提供的超級(jí)全局?jǐn)?shù)組來(lái)創(chuàng)建實(shí)例上面的代碼有一處需要額外解釋一下,自開(kāi)始內(nèi)建的可以通過(guò)命令行解釋器來(lái)啟動(dòng),例如但是內(nèi)建有一個(gè)是將和這兩個(gè)請(qǐng)求首部存儲(chǔ)到了和中,為了統(tǒng)一內(nèi)建服務(wù)器和真正的中的請(qǐng)求首部字段所以在這里做了特殊處理。 Request 很多框架都會(huì)將來(lái)自客戶(hù)端的請(qǐng)求抽象成類(lèi)方便應(yīng)用程序使用,在Laravel中也不例外。IlluminateHttpRequest類(lèi)在Laravel框...

    K_B_Z 評(píng)論0 收藏0
  • 再也不學(xué)AJAX了?。ㄈ┛缬颢@取資源 ① - 同源策略

    摘要:瀏覽器的同源策略瀏覽器所遵守的同源策略是指限制不同源之間執(zhí)行特定操作。這正是同源策略想要規(guī)避的安全隱患。目前為止,你已經(jīng)充分了解同源策略這個(gè)主題。 我們之前提到過(guò),AJAX技術(shù)使開(kāi)發(fā)者能夠?qū)W⒂诨ヂ?lián)網(wǎng)中數(shù)據(jù)的傳輸,而不再拘泥于數(shù)據(jù)傳輸?shù)妮d體。通過(guò)AJAX技術(shù),我們獲取數(shù)據(jù)的方式變得更加靈活,可控和優(yōu)雅。 但是AJAX技術(shù)并不是一把萬(wàn)能鑰匙,互聯(lián)網(wǎng)中的數(shù)據(jù)隱私和數(shù)據(jù)安全(例如你的銀行賬號(hào)...

    godlong_X 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<