網頁有兩種傳遞資料方法,”Get” 與 “Post”。這是所有初學架站的人都會搞混的地方。
同樣是將網頁資料向資料庫傳輸,它們的使用時機與差別為何?
傳輸媒介不同
簡單的說就是傳輸媒介不同,隱密性不同。
Get Method 是以 URL 進行傳輸,不具隱密性。
Post Method 會把資料放在 HTTP 中進行傳輸,相對具有隱密性。
Get Method
使用 Get Method 輸出資料時,URL 的後面放會多了一個 “?”,後面放著要傳輸資料的值。
例如,
https://jimmywu.tw/?user=jimmy&password=1234
像 UTM 就是一個很常見的 Get Method 應用。
Post Method
使用 Post Method 輸出資料時,會在 HTTP 的 body 處包含待傳輸的資料。
因輸出結果不會顯示在網站中,所以較具有隱密性。
明文傳輸
Post/Get Method 都是使用明文傳輸。
也就是任何看得懂相關語言的人都可以讀懂,不需要任何背景知識。
這也是為何前面我們使用「相對隱密」來描述 Post Method。
使用 HTTP 傳輸依然有被攔截並取得資料的風險,因此後來大部分的網站都使用 HTTPS 進行資料傳遞。