為什麼要用短網址?
—— 因為字數少易於分享。
除了網址縮短及美化之外,短網址也是現今重要的行銷方式之一,能提升品牌識別度,更可以搜集使用者的相關資訊,掌握市場上消費者的喜好。

要如何設計一個短網址生成器呢?首先,我們必須「確定問題」,了解需要被解決的問題是什麼以及運作方式,比如說短網址的長度、可以使用哪些字元等等。

這一個步驟是找出「如何達成需求」,設計一個簡單的短網址系統,可以使用Restful API來達成,這邊主要會用到兩個:
使用者在前端畫面的原始網址輸入框中,輸入了很長的網址並送出。此時的運作是客戶端發送了一個POST方法的請求,裡面有原始網址的參數,然後得到一個短網址回傳。
發送的API可能像這樣:[POST] api/short,包含一個原始網址的參數
收到的回傳:系統產生的短網址
某個使用者點擊這個短網址時,會向短網址發一個GET方法的請求,此時短網址的伺服器會取得原始網址,並將這個使用者透過301或302的方式重新定向到原始網址。
發送的API可能像這樣:[GET] api/short
收到的回傳:原始網址並將畫面導向該網址

短網址需要被確保不會有重複,相同的網址也只會產生一個短網址,這樣做對儲存空間比較好,是這個階段需要考慮的事情。
最簡易的資料表設計,就是只有id, short_url, long_url這三個欄位,可以快速找到短網址和原始網址的對應,而短網址可以用很多種方式產生,例如雜湊值、base轉換等,這邊就先不說明相關技術。
在測試或是正式上線後,可能會有更多的需求。例如想要紀錄短網址被點擊的次數和點擊時間、限制點擊IP、短網址和原始網址需要可以被編輯或刪除,甚至是想要提高安全性或是整合收集到的數據並加以分析,這些都需要系統的持續調整和改進。以下是一些可能的調整方向:
在資料庫中增加一個表格來記錄每次點擊的時間和IP地址,這樣可以統計短網址的使用情況,幫助了解使用者行為。
為了防止惡意點擊,可以設計機制來限制同一IP的點擊次數,或在短時間內的多次點擊進行攔截。
增加管理後台,允許管理員編輯或刪除短網址和原始網址,這樣在需要更改時可以靈活處理。
收集到的點擊數據可以進行深入分析,生成報告,這樣可以幫助企業了解市場需求和消費者行為,進一步優化行銷策略。
如果系統面向多個使用者,則需要增加權限控制,確保不同使用者只能管理自己的短網址。
系統的效能可能會隨著使用者增多而產生瓶頸,因此需要持續進行優化,如增加快取機制、分散式儲存等,以確保系統穩定運行。
為了防止短網址被濫用或攻擊,系統需要增加各種安全措施,如防範XSS攻擊、SQL注入、DDOS攻擊等,保護使用者資料和系統安全。
以上的反覆調整和優化,將促進設計出一個功能強大、性能穩定且安全可靠的短網址生成器系統,滿足使用者不斷變化的需求。

系統分析在軟體開發中扮演著關鍵的角色,不僅有助於確定問題的根源和需求,還能夠有效地規劃和設計解決方案。
通過系統分析,團隊可以深入了解業務流程和使用者需求,並針對這些項目進行系統設計和開發,提高專案的成功率和運作效率。這個過程不僅限於技術層面,還包括使用者體驗的優化,確保最終交付的產品能夠真正滿足使用者的期望和需求。