洽谈 “会话技术” 纯干货赶紧收藏吧
文章目錄
- 一、 HTTP協議
- 二、 會話
- 三、 cookie
- 3.1概念和設置cookie
- 3.2讀取cookie
- 3.3設置cookie有效期
- 3.4cookie是跨頁面的
- 3.5刪除cookie
- 3.6登錄案例
- 3.7cookie特點
- 四、 session
- 4.1概念
- 4.2設置session
- 4.3獲取session
- 4.4清除session
- 4.5模擬購物車案例
一、 HTTP協議
HTTP協議是HyperText Transfer Protocol是超文本運輸協議,是瀏覽器和服務器傳輸數據的協議。
我們在地址欄輸入京東網址,實際發生了什么?
我們在地址欄輸入網址實際上是瀏覽器給服務器發了請求,服務器會給瀏覽器做出響應,把css js 圖片等返回給瀏覽器,瀏覽器再進行解析,顯示出頁面。
原理圖如下:
http是無狀態的,每個客戶端去訪問服務器的的時候,服務器不會記住每個客戶端的信息,如果你第一次訪問添加一件商品,然后關閉瀏覽器,再次訪問的時候,所以服務器沒有記住客戶端的信息,購物車還是空的,這是不合理,所以需要通過下面兩個技術來實現保存數據信息的功能。(會話技術)
二、 會話
用戶在地址欄里輸入網址,瀏覽各種數據,只要關閉瀏覽器,這就算一次會話結束。
三、 cookie
3.1概念和設置cookie
cookie是小餅干的意思,在這里是用戶在瀏覽器訪問網址的時候,服務器給訪問的客戶端下達命令,在客戶的計算機的硬盤里存儲了cookie文件。
我們新建01.php文件,自己設置cookie,格式
setcookie(‘name’,’值’);
我們打開谷歌瀏覽器,
點擊設置—高級—網站設置
點開cookie,可以看到自己剛設置的,如果你訪問了其他網站,也會很多cookie文件
原理圖如下:
3.2讀取cookie
$_COOKIE[‘名’]
讀取cookie的時候一定要先設置后讀取,比如我們先訪問獲取頁面
3.3設置cookie有效期
cookie默認是會話結束就消失,我們可以自己定義時間
3.4cookie是跨頁面的
在01.php設置
在02.php獲取
3.5刪除cookie
setcookie(‘名’,’值’,time()-3600)
3.6登錄案例
訪問網站的時候,第一次登錄需要用戶輸入用戶名和密碼,點擊記住用戶名,第二次登錄時候不用輸入用戶和密碼,自動登錄。
我們寫第一個登錄正常 第二次把用戶名和密碼直接顯示出來
3.7cookie特點
1、瀏覽器訪問服務器,服務器命令瀏覽器在客戶端硬盤中存儲cookie文件,是鍵值對的形式,第二次瀏覽器訪問服務器的時候會攜帶cookie文件,服務器讀取cookie,如果里面有值代表訪問過,否則是第一次訪問。
2、cookie是跨越頁面。
3、cookie不跨瀏覽器。我用谷歌訪問京東,再用ie去訪問京東,它會認為是兩個客戶。
4、cookie可以存儲多個值。
5、cookie可以設置過期時間,而且可以通過設置過期來清除cookie.
6、cookie是保存在瀏覽器端的,第二次訪問會攜帶,安全性差些
四、 session
4.1概念
session是存儲在服務端的。
就和我們日常生活中的取錢是一樣的,人相當于瀏覽器,服務器相當于銀行,第一次訪問的時候攜帶現金過去,以后給你一張卡,相當于服務器給瀏覽器一個sessionid(是唯一的),第二次訪問的的時候瀏覽器攜帶sessionid過去,相當于人第二次去銀行直接攜帶銀行卡。
4.2設置session
session可以設置復雜的值
4.3獲取session
4.4清除session
4.5模擬購物車案例
新建shop.html
在cart.php中接收傳遞過來的值,我們想把所有購買的商品保存到一個數組中,所以更改代碼如下:
然后我們修改如下:發現獲取的還是只有一個商品,加上如下判斷即可。
總結
以上是生活随笔為你收集整理的洽谈 “会话技术” 纯干货赶紧收藏吧的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一文吃透PHP和HTML的嵌套写法
- 下一篇: 重氪之下无对手 玩家要求暴雪退钱