中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
理解session及微信小程序使用session

session介紹

由于Http是無狀態(tài)的協議,所以服務端需要記錄用戶的狀態(tài)時,就需要某種機制來識別具體的用戶,實現這個機制的方式就是session。

典型的場景比如購物車,當你點擊下單按鈕時,由于HTTP協議無狀態(tài),所以并不知道是哪個用戶操作的,所以服務端要為特定的用戶創(chuàng)建了特定的Session,用于標識這個用戶,并且跟蹤用戶,這樣才知道購物車里面有幾本書。這個Session是保存在服務端的,有一個唯一標識。

那么服務器端是如何識別特定的客戶的?

每次HTTP請求的時候,客戶端都會發(fā)送相應的Cookie信息到服務端。實際上大多數的應用都是用 Cookie 來實現Session跟蹤的,第一次創(chuàng)建Session的時候,服務端會在HTTP協議中告訴客戶端,需要在 Cookie 里面記錄一個Session ID,以后每次請求把這個會話ID發(fā)送到服務器,我就知道你是誰了。

下次請求時會帶上sessionId:

實現Session跟蹤需要用到Cookie,如果客戶端的瀏覽器禁用了 Cookie 怎么辦?


一般這種情況下,會使用一種叫做URL重寫的技術來進行會話跟蹤,即每次HTTP交互,URL后面都會被附加上一個諸如 sid=xxxxx 這樣的參數,服務端據此來識別用戶。

實現方式

服務器創(chuàng)建session出來后,會把session的id號,以cookie的形式回寫給客戶機,這樣,只要客戶機的瀏覽器不關,再去訪問服務器時,都會帶著session的id號去,服務器發(fā)現客戶機瀏覽器帶session id過來了,就會使用內存中與之對應的session為之服務。

在程序中第一次調用request.getSession()方法時就會創(chuàng)建一個新的Session,可以用isNew()方法來判斷Session是不是新創(chuàng)建的。

session對象默認30分鐘沒有使用,則服務器會自動銷毀session。

當需要在程序中手動設置Session失效時,可以手工調用session.invalidate方法,摧毀session。

HttpSession session = request.getSession();
//手工調用session.invalidate方法,摧毀session
session.invalidate();

微信小程序使用session時注意的問題

微信小程序不能保存Cookie,導致每次wx.request到服務端都會創(chuàng)建一個新的會話(傳過去的sessionid會變化),小程序端就不能保持登錄狀態(tài)了。

一個比較簡單的辦法就是把服務端response的Set-Cookie中的值保存到Storage中。

登錄成功后,添加Cookie:

wx.setStorageSync("cookieKey", res.header["Set-Cookie"]);

然后調用接口時,在header中加入:

'Cookie': wx.getStorageSync('cookieKey')

接口調用由之前的:

wx.request({
  url: 'test.php',
  data: {
    x: '',
    y: ''
  },
  header: {
    'content-type': 'application/json' 
  },
  success (res) {
    console.log(res.data)
  }
})

變?yōu)椋?/p>

wx.request({
  url: 'test.php', 
  data: {
    x: '',
    y: ''
  },
  header: {
    'content-type': 'application/json' ,
    'Cookie': wx.getStorageSync('cookieKey')
  },
  success (res) {
    console.log(res.data)
  }
})

歡迎訪問:

易水寒的博客

本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
深入理解 Session 與 Cookie
前后端分離項目的跨域及保持Session會話
微信小程序https請求wx.request詳細教程
HttpSession和jsp中session的區(qū)別
session功能實現原理
app 與服務器交互 token
更多類似文章 >>
生活服務
熱點新聞
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯系客服!

聯系客服