測試人員基礎(chǔ)

網(wǎng)絡(luò)傳輸?shù)闹R

一、Cache

1、瀏覽器緩存

瀏覽器(IE,Chrome,F(xiàn)irefox)都有緩存設(shè)置選項,它可以將你瀏覽過的網(wǎng)頁全部保存到你本地計算機的硬盤中。

2、代理緩存

代理緩存既不屬于客戶端,也不屬于服務(wù)器端,而是利用網(wǎng)絡(luò)路由請求信息:

(1)用戶手動設(shè)置的代理。

(2)使用網(wǎng)頁代理,網(wǎng)頁代理將你的URL請求通過它潛在的網(wǎng)絡(luò)定向到代理,用戶無需手動配置。

3、網(wǎng)關(guān)緩存

(1)強緩存

緩存策略:直接從本地緩存中取資源,不會和服務(wù)器通信。

(2)協(xié)商緩存

緩存策略:通過服務(wù)器來告知是否能用本地緩存。先和服務(wù)器通信,如果返回可以使用本地緩存的指示,再從本都緩存中??;如果不可以使用本地緩存,就會返回最新的資源。

二、Cookie

1、cookie的使用原理:

(1)用戶會提供包括用戶名在內(nèi)的一些用戶信息并且將其提交至服務(wù)器。

(2)服務(wù)端想客戶端回傳響應(yīng)的數(shù)據(jù)的同時,也會發(fā)回用戶的信息(Cookie S-001)。

(3)當(dāng)客戶端接收到來自服務(wù)器的響應(yīng)之后,瀏覽器會將Cookie S-001存放在一個統(tǒng)一的位置。

(4)客戶端再向服務(wù)器發(fā)送請求的時候,會把Cookie S-001再次發(fā)回至服務(wù)器。

2、獲取Cookie的途徑

(1)使用瀏覽器開發(fā)者工具或者抓包工具獲取。

(2)從本地文件中獲取

IE瀏覽器Cookie數(shù)據(jù)位于:%APPDATA%\Microsoft\Windows\Cookies\目錄中的xxx.txt文件。

Firefox的Cookie數(shù)據(jù)位于:%APPDATA%\Mozilla\Firefox\Profiles\目錄中的xxx.default目錄名為cookies.sqlite的文件。

Chrome的Cookie數(shù)據(jù)位于:%APPDATA%\Google\Chrome\User Data\Default\目錄中名為cookies的文件。

(3)通過前端技術(shù)獲取

在瀏覽器地址欄輸入? Javascript:alert (document. cookie),顯示本網(wǎng)站的所有的Cookie內(nèi)容。

三、Session

1、Session的傳輸步驟:

(1)服務(wù)器端程序運行的過程中創(chuàng)建Session并且為該Session生成唯一的Session ID。

? ? 這個Session ID在隨后的請求中會被用來重新獲得已經(jīng)創(chuàng)建的Session 。在Session 被創(chuàng)建之后,就可以調(diào)用Session 相關(guān)的方法向Session 中增加內(nèi)容,這些內(nèi)容只會保存在服務(wù)器中。

(2)服務(wù)器將Session ID發(fā)到客戶端。

(3)當(dāng)客戶端再次發(fā)送請求的時候,會將這個Session ID帶上。

(4)服務(wù)器接收到請求之后就會依據(jù)Session ID找到相應(yīng)的Session,完成請求相應(yīng)。

2、Session 的傳輸媒介

(1)通過Cookie傳輸。

(2)URL地址重寫。

四、Session與Cookie的區(qū)別

1、存儲位置不同

Cookie的數(shù)據(jù)信息存放在客戶端瀏覽器上。

Session 的數(shù)據(jù)信息存放在服務(wù)器上

2、存儲容量不同

單個Cookie保存的數(shù)據(jù)<=4KB,一個站點最多保存20個Cookie。

對于Session 并沒有上限,但出于對服務(wù)器性能考慮,Session 內(nèi)不要存放過多的東西,并且設(shè)置Session 刪除機制。

3、存取方式不同

Cookie中只能保管ASCII字符串,需要通過編碼的方式獲取Unicode字符或者二進制數(shù)據(jù)。運用Cookie難以實現(xiàn)存儲略微負(fù)責(zé)的信息。

Session 中能夠存取任何類型的數(shù)據(jù),包括且不限于String、Integer、List、Map。

4、隱私策略的不同

Cookie對客戶端是可見的,別有用心的人可以分析放在本地的Cookie并進行Cookie欺騙,所以他是不安全的。

Session 存儲在服務(wù)器上,對客戶端透明,不存在敏感信息泄露的風(fēng)險。

5、有效期不同

開發(fā)可以通過設(shè)置Cookie的屬性,達到使Cookie 長期有效的結(jié)果。

由于Session 依賴于名為JESSIONID的Cookie,而Cookie?JESSIONID的過期時間默認(rèn)為-1,只要關(guān)閉窗口該Session 就會失效。

6、服務(wù)器壓力不同

Cookie保存在客戶端,不占用服務(wù)器資源。

Session保存在服務(wù)器端,每個用戶會產(chǎn)生一個Session 。若并發(fā)訪問的話會產(chǎn)生很多Session ,耗費大量內(nèi)存。

7、跨域支持上的不同

Cookie支持跨域名訪問。

Session不支持跨域名訪問。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 我與簡書的緣分看來是沒有盡,幾次的下載,幾次額卸載。今天又重新下載安裝。與你就像是一對戀人。本以為已經(jīng)可以忘記了,...
    學(xué)晶閱讀 265評論 1 2
  • 上映看了
    yangyy閱讀 246評論 0 0

友情鏈接更多精彩內(nèi)容