2010-02-22 55 views
1

我想爲我的網站上的特定內容創建縮短的鏈接。現在要查看這些頁面,我通過通過GET傳遞的內容ID(即mysite.com/content/?id=332)提取相關內容。爲了混淆ID,我想使用base64將其編碼並解碼爲一個簡短的字母數字字符串(如34sa6),我已經知道該如何操作。對於短url使用唯一的字母數字字符串時,將創建的字符串存儲在數據庫還是實時編碼/解碼更好?

我的問題是這樣的:將這個字符串存儲爲每個內容創建時的數據庫字段更有意義,或者當用戶訪問mysite.com/content/34sa6時簡單地解碼字符串這意味着訪問mysite.com/content/?id=332也會加載正確的頁面)。如果我將它存儲起來,它將成爲我實際使用的事實上的主鍵,因爲所有相關內容都將基於它進行查詢,所以試圖找出最明智的方式來做到這一點。

+0

關鍵閱讀任何人提出的URI方案:http://www.w3.org/Provider/Style/URI – 2010-02-22 03:28:49

回答

2

如果在請求期間對它進行解碼和編碼,將來無法切換到另一種編碼方法。

將它存儲在數據庫中允許您隨時更改編碼,因爲當需要檢索完整URL時,腳本僅查找匹配的數據庫條目。

+0

您可以隨時做一次性傳遞,並在您第一次決定將所有內容存儲在數據庫中時改變編碼方法。在這段時間裏,對於每個404都不會產生數據庫查詢,這是值得說的。 – 2010-02-22 03:25:46

相關問題