比如我的個人博客地址是/Eps6teX5。
在瀏覽器中輸入壹個短網址,會出現302跳轉。然後瀏覽器重新訪問該位置地址。
對於302的多余解釋
302發現,臨時移動,可以簡單理解為資源原本就存在,只是臨時改變了位置;換句話說,所請求的資源暫時駐留在不同的URI下。
對於服務器,通常會向瀏覽器發送壹個HTTP位置頭,以重定向到壹個新位置,然後瀏覽器重新加載該位置。
HTTP位置有兩種情況,因為頭字段是在HTTP服務器的響應中返回的:1。網頁瀏覽器需要加載其他網頁(域名轉發)。
短鏈接的原理實際上是:
信號發生器(ID遞增)+62位編碼
舉個例子,對於我的博客地址:http://will-johnson.gitee.io/blog/,帖子編號是16 base:816e 351d 15bf,換算成62 base: Eps6teX5。
為什麽使用62位轉換?
但是如何實現壹個長地址多次轉換成同壹個短網址?
這個完全做不到。如果想完全做到,需要保存長地址和短url的映射關系,得不償失。
可以采用折中方案,采用有效時間的kv存儲,即緩存系統。