<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                這里采用10進制轉62進制的方式,可以實現URL長度的進一步壓縮。 >在main函數部分的代碼中,v1版本代碼是不壓縮的,v2是壓縮后的。分別運行下,可以看出url長度上的變化。 // 10進制轉為62進制 func conv62(num int64) string { chars := []rune("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz") var result []rune for num > 0 { remainder := num % 62 result = append([]rune{chars[remainder]}, result...) num /= 62 } return string(result) } // 62進制轉為10進制 func conv10(str string) int64 { chars := []rune("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz") var result int64 for i := 0; i < len(str); i++ { result += int64(strings.IndexRune(string(chars), rune(str[i]))) * (int64(math.Pow(float64(len(chars)), float64(len(str)-i-1)))) } return result } **1、六十二進制表示法** 前面提到的快遞單號和短信鏈接就引出了今天要說的短網址和短ID,顧名思義短網址就是非常短的網址,比如http://t.cn/EXyAO7T,其中核心的部分EXyAO7T只有7位長度。 其實這里的7位長度是使用 62 進制來表示的,就是常用的 0-9、a-z、A-Z,也就是 10 個數字 + 26 個小寫 + 26 個大寫 = 62 位。 那么7位長度62進制可以表示多大范圍呢? 62^7 = 3,521,614,606,208(合計3.5萬億),這樣的話只要算法得當,短網址沖突的概率就很低了。 至于短網址的長度可以根據自己需要來調整,即使6位長度62^6也能達到568億的范圍,所以回答了上面快遞單號的問題。 如果有弱加密需求,不想讓人明確知道轉換前是什么,使用方可以按照自己的需求來調整62進制各位代表的含義,比如A站點將字母c表示32、B站點將字母c表示60,就相當于密碼本了。 **2、更大進制表示法** 看到這里你或許會說,使用108進制(如果有的話)豈不是網址更短,是的,但是108個進制就可能會出現大量的不常用字符 比如 # % & \* 這些,通用性和記憶性就變差了,62進制是個權衡折中,已經足夠無需過設計。 #### **關于跳鏈** 當打開淘寶的短網址時頁面出現了跳轉,出現了新的頁面,瀏覽器顯示的新網址并不是你打開的短網址了,也就是發生了301/302跳轉。 http中返回碼301是永久重定向,也就是短網址和長網址是一一對應的,http返回碼302表示是臨時重定向,也就是可能過段時間短網址就失效了。 由于數據統計和活動臨時性等特性,302短網址應用更多,但是302臨時短網址對于主站點的SEO有一定的影響,過分使用也會降低站點排名。 所以短網址在平時站點搞活動或者分享頁時應用比較多,微博、淘寶、微信基本上都是短網址。 #### **短連接的安全性** 雖然短鏈接便于傳輸和記憶,但是位數少并且無明確站點信息,容易出現猜測攻擊和釣魚攻擊,比如一些黑基站發送短信,如果是短鏈接點開可能就跳轉到非可信任網址,因此不建議使用短鏈接發送傳輸核心敏感數據,即使傳輸也要做好權限鑒別,加強安全處理,軟件工程沒有銀彈,還是要辯證看待。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看