GET方法和POST方法


HTTP協議中有很多請求方法,其中最爲常見的是GET方法和POST方法。

GET方法

GET是HTTP的默認請求方法。通常用於請求服務器發送某個資源。

  • 沒有請求體
  • 數據必須在1K之內
  • GET請求數據會暴露在瀏覽器的地址欄中

GET請求常用的操作:

  1. 在瀏覽器的地址欄中直接給出URL,那麼就一定是GET請求。
  2. 點擊頁面上的超鏈接也一定是GET請求
  3. 提交表單時,表單默認使用GET請求,但可以設置爲POST

客戶端用GET方法發起一次HTTP請求的過程如下圖所示:

POST方法

POST方法起初是用來向服務器輸入數據的(POST用於向服務器發送數據,PUT用於向服務器上的文件等資源中存儲數據)。實際上,通常會用它來支持HTML的表單。表單中填好的數據通常會被送給服務器,然後由服務器將其發送到它要去的地方(比如,送到一個服務器網關程序中,然後由這個程序對其進行處理)。

  1. 數據不會出現在地址欄中
  2. 數據的大小沒有上限
  3. 有請求體
  4. 請求體中如果存在中文,會使用URL編碼

客戶端用POST方法發起HTTP請求(向服務器發送表單數據)的過程如下圖所示:

兩種方法的比較

GET是從服務器上獲取數據,POST是向服務器傳送數據

GET沒有請求體,而POST有請求體。因爲GET方法中,請求參數不會放在URL下面,而是放在URL後面了。

GET請求參數都顯示在瀏覽器網址上,HTTP服務器根據該請求所包含URL中的參數來產生響應內容,即“Get”請求的參數是URL的一部分。 例如: http://www.baidu.com/s?wd=Chinese

POST請求參數在請求體當中,消息長度沒有限制而且以隱式的方式進行發送,通常用來向HTTP服務器提交量比較大的數據(比如請求中包含許多參數或者文件上傳操作等),請求的參數包含在“Content-Type”消息頭裏,指明該消息體的媒體類型和編碼。

注意:避免使用Get方式提交表單,因爲有可能會導致安全問題。 比如說在登陸表單中用Get方式,用戶輸入的用戶名和密碼將在地址欄中暴露無遺。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章