微信掃描二維碼登錄網頁是什么原理?
電腦請求網頁后,微信服務器生成一個唯一的ID(這里是UUID)給客戶端網頁,客戶端定時發起向微信服務器的連接(這里類似于輪詢),微信服務器保持這個連接(這里類似于長連接),保持一段時間(大概27秒)返回一個“還沒人掃碼”的標識,于是客戶端再開連接
手機微信掃碼并解碼,解碼出來是一個URL也好,是一段文本也好,總之這段東西匹配了手機微信登陸網頁版的要求,于是手機微信帶著解碼出來的信息去請求微信服務器。這里就已經達到了特定微信賬號和某個特定網頁相關聯的目的
電腦這里微信服務器馬上在長連接中返回“有人掃碼了”的表示并結束連接,網頁提示掃描成功,然后打開長連接等待確認登陸的標識;手機這里么則根據二維碼的信息打開對應網頁確認登陸
后面其實和前面一樣了,手機微信確認登陸的其實就是請求服務器說這個可以登錄了,然后服務器給網頁的長連接中返回可以登錄的標識并結束長連接,然后跳轉到消息網頁