安卓微信7.0地图无法定位问题
??? 由于微信7.0版本升級了對https的安全限制,在微信7.0版本及以上版本使用http協議訪問定位組件會導致定位失敗。
另外ISO10也限制了非安全域的瀏覽器定位請求。
什么是 HTTP
????? HTTP 指的是超文本傳輸協議(HyperText Transfer Protocol)。首先,它是一個 協議 。「協議」是指計算機通信網絡中兩臺計算機之間進行通信所必須共同遵守的規則。也就是大家事先約定好的,統一執行的標準。眾所周知,HTTP 是無狀態,無連接的。首先講一下如何理解無連接。無連接指的是在 HTTP1.0 版本中,每次建立起的 TCP 連接只處理一個請求,收到客戶的應答之后就立即斷開鏈接。也就是說假如一個網頁內僅有十張圖片,那么需要建立-斷開鏈接十一次。這就是無連接的含義。但是這種機制顯然無法應對現在豐富的網頁內容,每一個網頁都包含大量的資源文件,如果每個連接僅傳輸一個文件就斷開太過于浪費服務器資源了。所以在 HTTP1.1 中支持了持久性連接,詳細點說就是在 HTTP 頭部行中 Connection 字段如果為 keep-alive 的話,在傳輸完第一個資源后不會立即斷開 TCP 連接,會稍微等待一會(5秒或服務器自定義配置的時間),如果瀏覽器在這個時間段內還要請求一些資源(如圖片)就會繼續使用這個連接進行數據的傳輸,超過設定的時間之后就會斷開,這樣就節省了多次建立-斷開連接所消耗的時間和資源開銷。當 Connection 的值為 close 時會立刻斷開連接;那無狀態是什么意思呢,就是服務器不記錄任何有關客戶端過去發送過的請求。每一次連接都是新的,都是你要什么資源,我給你什么資源。我不管你是誰,也不知道你是誰,更不知道你之前是否向我要過同一個資源。為什么采用無狀態的機制呢,我們可以和有狀態的協議作對比。有狀態的協議更加復雜,服務器需要維護和記錄狀態信息。一旦服務器或客戶端出現了故障,如重啟,就會產生狀態不一致的情況,狀態不一致的話,就會出現錯誤,為了保證狀態的一致性,還需要重新維護狀態記錄。舉一個例子,我向服務器請求了一個資源,服務器記錄了我已經請求過了這個資源并發送給我,過了一小會,這個資源被我不小心刪了,我需要重新向服務器請求這個資源,但服務器并不理我,因為在他的記錄中,我剛請求過這個資源,他已經發送過了,不會再發一遍了。這時候就出現了問題,為了讓他再發一份,我還需要跟服務器協商,說我現在的確沒有這個資源,我這個資源因為某種原因沒有了,你在給我重新發一份吧,只有這樣,服務器才會更新一下狀態,重新給我發一份。上述情況是在有狀態協議機制下可能出現的情況。當然,有狀態的協議也有很多好處,比如避免了向同一用戶頻繁發送相同資源的情況,節約了帶寬。每一個協議都有其優點和缺點。HTTP 無狀態的特性,使其協議更加的簡單,也帶來了一定的缺陷,就是服務器無法識別出來你是誰,無法識別你的身份,HTTP 在后來加入了 Cookie 機制,較好的解決了這一問題。
???? 額外加一點,HTTP 中的 P 是 Protocol 的首字母,是協議的意思,所以說我們只能說 HTTP,而不能說「HTTP 協議」。HTTP 處于 ISO 制定的七層模型中的最頂層 —— 應用層,這個七層模型是用于計算機之間互聯的一個標準體系,比較復雜,是屬于計算機網絡的相關知識,了解即可,同處于應用層的協議還包括 FTP,SMTP,還有 DNS 哦。
什么是 HTTPS
????? HTTPS 指的是超文本傳輸安全協議(Hypertext Transfer Protocol Secure)。HTTP 和 HTTPS 都是在七層模型中傳輸層之上的,在傳輸層會在通信雙方建立起一個可靠的連接用于數據交換。簡單的理解,HTTPS 就是將 HTTP 中的傳輸內容進行了加密,然后通過可靠的連接,傳輸到對方的機器上。
?
總結
以上是生活随笔為你收集整理的安卓微信7.0地图无法定位问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网站应用接入qq登录,实现免注册原理
- 下一篇: 检测微信好友是否删除自己