這是Why are the query parameters for many websites(MySQL) very cryptic long integers?的後續問題。在安全性和可擴展性方面。請引用任何資源(在線/離線)。在爲網站構建網址時,有哪些資源需要了解最佳做法?
回答
在安全性和可擴展性,你可以使用你想象的任何網址的條款。
它通常是人的可讀性和可用性和或(更常見)的搜索引擎友好,影響URL的建築規則。
說,PHP.NET著名php.net/echo功能,給人以功能描述快速方便地訪問。這就是製作此類網址的原因,而不是安全性。
安全性和可擴展性有多大關係,形成一個URL的方式。有些網站使用晦澀的網址作爲衡量爲確保圖片(比如Facebook),這種類型的安全性通常是令人難以接受的,因爲大家都知道,通過各種方式(瀏覽器緩存,代理緩存,...)的URL可以訪問理應保護資源。
雖然乾淨的URL有助於搜索引擎優化,這通常意味着較慢的響應,從而退化的可擴展性。考慮網址http://example.com/user/Lars,向您顯示我的個人資料的個人資料頁面。如果我的帳戶是在數據庫鏈接不是我的帳戶名,但由surrogate key(一些任意數字)時,系統首先要查詢用戶表我的代理鍵,以獲得的信息的其餘部分。這會降低性能,因爲還有一個表需要查詢。
......除非代理鍵被索引,在這種情況下,表現會,而在同一時間分辨歧義(其中「拉爾斯」?)至少等於。另外,sharelocker(RapidShare和朋友)使用「/ ID/Filename」結構來通過默認添加安全性。 –
是的,你可以通過索引來加快速度,但對於像twitter這樣的高性能網站,直接使用主鍵更好。整數搜索通常比字符串搜索更快,索引這些也會加快搜索速度。 – Lars
準確地說,這就是爲什麼我認爲你的回答沒有多大意義,而且你似乎與自己相矛盾:surrugate鍵可以是主鍵(例如自動遞增的數字)並且確定確切的「Lars」而不是「n」 '「拉爾斯」。 –
雖然我與Col.彈片完全一致回答有哪裏長「神祕」的ID有助於安全,有時甚至可擴展性少數情況下。 Sharelockers(Rapidshare和朋友),通常採用在其網址的/ID/Filename
結構通過隱藏添加安全性,這將是太容易有人來測試所有整數或通用名,並獲得訪問敏感信息。
有些人也將某種校驗和算法應用於他們的數據庫ID,這使得人們很難找出底層結構並「隱藏」某些類型的信息:我敢打賭,許多人不願意爲某些東西付錢如果訂單的網址爲/order/2/
,則在線。使用校驗和還可以提高性能,因爲即使不查詢數據庫(當某人暴力破壞您的URL時也很有用),您可以忽略無效ID。
長ID有助於可擴展性,因爲它們提供了更廣泛的可能數字(Slashdot had been a victim「int(11)對每個人都足夠」假設兩次 - 對不起找不到舊故事),這就是爲什麼你現在看到Twitter和朋友使用不同的方法。
當您使用更寬的ID,你也可以存儲更多的信息,如時間戳,IP創建該數據庫記錄等,當你運行一個分佈式數據庫的設置可以是至關重要/主機名。看看MongoID class文檔以更好地瞭解它是如何工作的。
- 1. 設計和實施網站時,有哪些最佳做法和慣例?
- 2. 多語言網站網址的最佳做法
- 3. 在我的網站上嵌入pdf時需要了解哪些內容
- 4. 部署網站之前需要做哪些改進?
- 5. 沙盒網站的最佳做法?
- 6. ASP.NET網站部署最佳實踐資源建議
- 7. 使用父母的網站登錄子網站:最佳做法?
- 8. 構建響應式網站的各種方法有哪些?
- 9. 在網站上網格排序的最佳做法
- 10. 在Zend爲現有網站構建移動網站的方法
- 11. 構建Silverlight應用程序時需要了解哪些有用的概念?
- 12. 只需要一個網址的網站
- 13. Sharepoint的哪些部分需要了解才能構建一個面向公衆的網站?
- 14. 爲谷歌Chrome網上商店開發應用程序需要哪些資源
- 15. https頁面上的哪些網址需要爲https?
- 16. Restelet路由:有些資源需要認證,有些則不需要。怎麼做?
- 17. TFS中Watin的網站網址構建
- 18. Evernote資源網址
- 19. FACEBOOK LIKE(網址。從一個網址提供這些資源)
- 20. 在製作寶石時,您認爲哪些資源最有用?
- 21. 針對不同屏幕尺寸構建網站的最佳做法
- 22. 建立慈善網站需要了解什麼?
- 23. 基於網絡的iOS應用程序有哪些最佳做法?
- 24. 在Static ASP.NET網站中實施網站搜索的最佳做法是什麼?
- 25. 爲一個網站設置兩個CMS,最佳做法
- 26. 最佳HTML5資源 - 網絡和印刷
- 27. 要爲iPhoneOS編寫仿真器需要哪些資源?
- 28. 將Skype API集成到ASP.Net網站的最佳資源?
- 29. 有什麼方法可以查看網站允許哪些網址參數?
- 30. 是否需要爲webfarm動態構建網址?
這可能是太含糊回答。你能想出一個特定的案例嗎? – Bojangles
當爲Twitter這樣的動態用戶生成內容網站編寫URL時,用戶的每個帖子都會被賦予一些長整數。在決定MySQL表格中的數據類型時,或者在爲我的網站編寫mod_rewrite中的重寫規則時,我應該考慮哪些事項。 – Sravan