Cookie:我理解爲,我在瀏覽網頁時,網頁後臺對我所瀏覽網頁的類型進行收集提取,cookie收集着我們的隱私,這些也是黑客攻擊者的目標(純小白理解)
下面的圖描述Cookie在瀏覽器和服務器之間的傳輸過程
Cookie的語法格式:
HTTP Set-Cookie頭的格式爲:
Set-Cookie:name = value;[expires=date];[path=pathname];[domain=domainname];[secure];
方括號表示該屬性可以省略,name=value屬性可以包含多個。 例如:
Set-Cookie:id="XX";expires=Wed,28-Fer-07 15:30:00 GMT;domain="google.com";path="/";secure;
Cookie屬性詳解
(1)name=value
指定cookie數據項的名稱,該屬性的語法格式:nameofcookie=value
nameofcookie是cookie的數據項的名稱,value是該名稱對應的值,是一個字符串,
可以由一系列字符組成,但不能含有分號(;)、逗號(,)和空白符,例如:
id = 12345678
email = [email protected]
name=demon
(2)expires=date(可選屬性)
格式爲:expires=weekday,DD-MON-YY HH:MM:SS GMT
weekday表示爲星期幾,如Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,
也可以縮寫,如Mon、Tues、Wed等
DD-MON-YY指定日期,分別爲日、月、年;
HH:MM:SS指定時間,分別爲時、分、秒;
GMT表示該時間爲格林威治標準時間,這裏的日期時間總是使用GMT; 例如:
expires=Friday,14-Jan-07 15:50:00 GMT
(3)path=pathname(可選屬性)
指定cookie可用於特定的服務器中的什麼位置。在cookie中指定路徑可以同一個域中的多個頁面共享cookie.例如:
path=\home
path=\aa\bb\int
(4)domain=domainname(可選屬性)
指定是否所用的域名後,可以在同一個域的多個服務器之間共享cookie,而無需爲每一個服務器都指定cookie
Domainname爲域名,可以使用完整的URL格式http://domain,也可以使用省略http:// 的簡寫方式。例如:
domain=www.google.com
domain=http://www.google.com
(5)secure(可選屬性)
指定是否通過安全通道傳遞cookie,如果設定該屬性,那麼cookie必須使用HTTPS協議進行傳遞。
語法格式爲:secure
注意:
Cookie必須以鍵值對的形式存在,其屬性可以有多個,但這些屬性之間必須用分號和空格分隔
在組成cookie的字符串中,不允許使用分號,逗號以及空白符
在構造cookie時,制定的"名-值"對兒的name=value稱爲屬性,它必須使用分號作爲結束符
這裏只是簡單的歸納一下,在以後的學習中還會繼續總結!!
參考:
《精通腳本黑客》
《java Web程序設計任務教程》