首頁常見問題正文

Java培訓:HTTP常用的請求方式有哪些?

更新時間:2023-11-17 來源:黑馬程序員 瀏覽量:

IT培訓班

  在HTTP的請求消息中,請求方式有GET、POST、HEAD、OPTIONS、DELETE、TRACE、PUT和CONNECT共八種,每種方式都指明了操作服務器中指定URI資源的方式。然而在實際開發(fā)中,使用最多的請求方式是GET和POST,其說明如表8-1所示。

  表8-1 HTTP常用的兩種請求方式

1700184721732_HTTP常用的兩種請求方式.jpg

  表8-1中列舉了HTTP常用的兩種請求方式,針對這兩種請求方式的詳細講解如下所示。

  (1)GET方式

  當用戶在瀏覽器地址欄中直接輸入某個URL地址或者單擊網(wǎng)頁上的某個超鏈接時,瀏覽器將使用GET方式發(fā)送請求。如果將網(wǎng)頁上的form表單的method屬性設置為GET或者不設置method屬性(默認值是GET),那么當用戶提交表單時,瀏覽器也將使用GET方式發(fā)送請求。

  如果將瀏覽器請求的URL中有參數(shù)部分,那么在瀏覽器生成的請求消息中,參數(shù)部分將附加在請求行中的資源路徑后面。先來看一個URL地址,具體如下:

 name=zhangsan&age=23

  在上述URL中,?后面的內(nèi)容為參數(shù)信息。參數(shù)是由參數(shù)名和參數(shù)值組成的,并且在中間使用等號(=)進行連接。需要注意的是,如果URL地址中有多個參數(shù),參數(shù)之間需要用&分隔。

  當瀏覽器向服務器發(fā)送請求消息時,上述URL中的參數(shù)部分會附加在需要訪問的URI資源后面,如下所示:

GET/javaForum? name=itcast&age=23 HTTP/1.1

  需要注意的是,使用GET方式傳送的數(shù)據(jù)量有限,最多不能超過1KB。

  (2)POST方式

  如果將網(wǎng)頁上的form表單的method屬性設置為POST,那么當用戶提交表單時,瀏覽器將使用POST方式提交表單內(nèi)容,并把各個表單元素及數(shù)據(jù)作為HTTP消息的實體內(nèi)容發(fā)送給服務器,而不是作為URI地址的參數(shù)傳遞。另外,在使用POST方式向服務器傳遞數(shù)據(jù)時,Content-Type消息頭會自動設置為application/x-www-form-urlencoded,Content-Length消息頭會自動設置為實體內(nèi)容的長度,如下所示:

POST /javaForum HTTP/1.1
Host:

  對于使用POST方式傳遞的請求消息,服務器端程序會采用與獲取URI后面參數(shù)相同的方式獲取表單各個字段的數(shù)據(jù)。

  在實際開發(fā)中,通常都會使用POST方式發(fā)送請求,其原因主要有兩個。第一,POST傳輸?shù)臄?shù)據(jù)大小無限制。由于GET請求方式是通過請求參數(shù)傳遞數(shù)據(jù)的,因此最多可傳遞1KB的數(shù)據(jù)。而POST請求方式是通過實體內(nèi)容傳遞數(shù)據(jù)的,因此傳遞數(shù)據(jù)的大小無限制。第二,POST比GET請求方式更安全。因為GET請求方式的參數(shù)信息都會在URL地址欄中明文顯示,而POST請求方式傳遞的參數(shù)隱蔽在實體內(nèi)容中,用戶是看不到的,因此,POST比GET請求方式更安全。

分享到:
在線咨詢 我要報名
和我們在線交談!