【學習日記】Week 4 – 企業資料通訊 | 課堂探討 | UDP v.s TCP / Cookie v.s Cache
Published:
by .企業資料通訊 (2nd Homework)
Please use MS WORD to do your homework and submit your document to i-learning
請列出傳輸協定能夠提供的四大類服務。針對每一類服務,請指出UDP 或TCP 是否有提供這項服務。[共25分]
答案:
UDP :
- 因UDP與IP在不同層運作,以非連接的方式來傳送封包 à 不可靠的資料傳輸
- UDP不包含壅塞控制機制,且容易資料遺失,不能保持某個速率à 產出率低
- 傳送端可以使用任意速度及資料送給網路層,沒有固定速度 à 沒有時程保障
- 所以在傳送過程中有封包丟失,並不會重新發送 à 較不安全
TCP:
- 資料確認與重送 à 可靠的資料傳輸
- TCP 具有流量控制的功能, 能夠視情況調整送出資料的速度,儘量減少資料流失的狀況à 產出率高
- TCP 可隨意調整速度 à 有時程保障
- TCP會保證資料在網路上傳送的安全性 à 安全性高
假設你想要從遠端的用戶端 (Client),盡可能用最快的速度傳資料給伺服器 (Server)。你會使用UDP還是TCP?請詳細描述其原因?[共25分]
答案:
我會選擇使用TCP傳輸協定,由於我們通常要將資料從用戶端傳送到伺服器,可能會是蠻重要的資料,不容許有一點資料遺失,因為TCP會確保資料是否成功傳送,是屬於雙向資料的傳輸協定,所以對這種傳輸資料的話會非常吃香但可能沒辦法保證會是最快的速度。因為UDP的特點就在於沒有速率限制,所以在傳輸資料會非常得快,但就是資料容易遺失,且沒有固定的速度,非常不推薦在用戶端傳送資料到伺服器的時候用UDP傳輸協定。
請考量某個想要保存所有顧客購物記錄的電子商務網站。試描述要如何使用cookie 來達成此一目的。[共25分]
答案:
Cookie技術是網路時代的快速變遷下所誕生的產物,隨著網路的快速發展,人們需要更複雜的網上交互活動,讓伺服器與客戶端可以保持長久的互連與活動狀態。
概念上Cookie是由網頁伺服器端產生的,作為發送給给瀏覽器端,而當瀏覽器接收到Cookie後,會將其中的key/value,保存到某個路徑內的文本文件之中,讓下次於造訪同一網站時,就可以將Cookie自動發送给網頁伺服器端,Cookie也是屬於一種小型的文字檔,透過加密的方式儲存在用戶端上的資料,且不同瀏覽器間的cookie無法相互使用。
雖然快取(Cache) 可以減少使用者所感受到的回應時間,但是它也引發了一個新的問題:快取中的物件副本可能是過時的。換句話說,網頁伺服器 (Web Server) 所存放的物件,可能在用戶快取副本之後被修改過。請問HTTP如何處理這個問題?[共25分]
答案:
在HTTP中有快取的處理機制(Cache-control , Etag),定義了快取過期時間,就像是有些資料已經過期了但已經還能使用,就不會處理它,或是如果檔案沒有改過,就不會變動,能直接繼續使用。快取是優化效能的苦口良藥,控制得當能省下大量的資源,但要真的能完全控制得當就是一門大學問了;藉由 Cache-Control 及 ETag 兩個 Header 的設定,便可以將大部分的快取功能設置完成,如果真的有意外的更動,也可以透過打包工具變動檔名,讓使用者直接請求新資源。或是直接從瀏覽器移除快取,讓他讀到最新的快取。