亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

HTTP協議有哪幾種方式?

HTTP協議有哪幾種方式?

海綿寶寶撒 2019-04-10 05:05:25
HTTP協議有哪幾種方式?
查看完整描述

4 回答

?
紫衣仙女

TA貢獻1839條經驗 獲得超15個贊

客戶程序向服務器發送的請求可以有不同的類型,這樣服務器可以根據不同的請求類型進行不同的處理。在HTTP1.0中,定義了三種最基本的請求類 型,GET、POST和HEAD,客戶程序用大寫指令將請求發送給服務器,后面跟隨具體的數據。

其中,HEAD請求在客戶程序和服務器之間進行交流,而不會返回具體的文檔。當使用GET和POST方法時,服務器最后都將結果文檔返回給客戶程序,瀏覽器將 刷新顯示。而HEAD請求則不同,它僅僅交流一些內部數據,這些數據不會影響瀏覽的過程。因此HEAD方法通常不單獨使用,而是和其他的請求方法一起起到 輔助作用。一些搜尋引擎使用的自動搜索機器人使用這個方法來獲得網頁的標志信息,或者進行安全認證時,使用這個方法來傳遞認證信息。

除了這三種最常見的訪問方法之外,在HTTP1.1中還定義了更多的訪問方法類型,如PUT,用于將網頁放置到正確位置,DELETE用于刪除相關文檔 等。這些方法并不常用,因而大部分Web服務器軟件并沒有實現他們。然而對于特定場合他們還是非常有用的,例如使用軟件編輯網頁時,網頁編輯器可以使用這 些方法,管理不同的網頁。

如果服務器不支持客戶發送的請求方法,服務器將返回錯誤并立即關閉連接。
查看完整回答
反對 回復 2019-04-11
?
一只斗牛犬

TA貢獻1784條經驗 獲得超2個贊

最簡單的http請求是
GET / HTTP/1.0
其中GET是關鍵字
/表示請求的是跟目錄主頁
HTTP/1.0表示使用HTTP協議的1.0版本通訊

作為服務器端,這是會向服務器返回首頁的全部html代碼

至此,一個最簡單的http通訊就完成了。但是,此時網頁還不能正常顯示,因為服務器僅僅返回了html代碼,客戶端還必須根據html代碼中涉及的其他文件(例如css、js、圖象、flash等等)的地址獲得相應文件,才能使網頁正常顯示



查看完整回答
反對 回復 2019-04-11
?
千萬里不及你

TA貢獻1784條經驗 獲得超9個贊

1、HTTP請求概述

在前面有一篇文章對HTTP協議有詳細的描述,這里就不再過多的做說明,只是簡單的作為這篇文章的引子。

HTTP協議又被稱為超文本傳輸協議,它的的設計目的是保證客戶機與服務器之間的通信。HTTP 的工作方式是客戶端與服務器之間的請求-應答協議。在客戶端和服務器之間進行請求-響應時,有兩個最基本的請求方式:GET 和 POST。

其中,GET請求表示從指定的資源請求數據,POST請求表示向指定的資源提交要被處理的數據。

2、HTTP請求格式

在HTTP請求中,首先是請求行,注意這里的請求行一定要放在最前面;其次,是請求頭,英文表示為header;然后會空一行,緊接著就可以是請求的具體內容了,一般稱之為請求體,request-body。給出一個圖示如下:

3、GET請求與POST請求對比

GET請求與POST請求有一些異同點,主要有以下幾點問題:

(1)、GET請求和POST請求都是客戶端與服務器之間交互,請求--應答模式的協議

(2)、GET請求是通過URL直接請求數據,數據信息可以在URL中直接看到,比如瀏覽器訪問;而POST請求是放在請求頭中的,我們是無法直接看到的;

(3)、GET提交有數據大小的限制,一般是不超過1024個字節,而這種說法也不完全準確,HTTP協議并沒有設定URL字節長度的上限,而是瀏
覽器做了些處理,所以長度依據瀏覽器的不同有所不同;POST請求在HTTP協議中也沒有做說明,一般來說是沒有設置限制的,但是實際上瀏覽器也有默認
值。總體來說,少量的數據使用GET,大量的數據使用POST。

(4)、GET請求因為數據參數是暴露在URL中的,所以安全性比較低,比如密碼是不能暴露的,就不能使用GET請求;POST請求中,請求參數信息是放在請求頭的,所以安全性較高,可以使用。在實際中,涉及到登錄操作的時候,盡量使用HTTPS請求,安全性更好。

下面給出一副圖示,說明一下HTTP中GET與POST請求的差異:

4、使用步驟:

在Android中使用HTTP請求,主要步驟如下:

(1)、實例化一個HttpGet(或HttpPost)對象,將請求的URL地址通過構造方法傳給HttpGet(或HttpPost)對象;
(2)、使用DefaultHttpClient類的execute方法發送GET或POST 請求,并返回HttpResponse對象;
(3)、通過HttpResponse接口的getEntity方法返回響應信息。

5、實例代碼

給出一個在實際應用中的一個POST請求的代碼片段:

[java] view plain copy print?
params = new LinkedList();
params.add(new BasicNameValuePair("param1", "Post方法"));
params.add(new BasicNameValuePair("param2", "第二個參數"));

try {
HttpPost post = new HttpPost(baseUrl);
post.setEntity(new UrlEncodedFormEntity(params, "utf-8")); //將參數填入POST Entity中

HttpResponse response = httpClient.execute(post); //執行POST方法
resCode = response.getStatusLine().getStatusCode()); //獲取響應碼
result = EntityUtils.toString(response.getEntity(), "utf-8")); //獲取響應內容

} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

6、HTTP請求狀態碼意義

HTTP請求中,主要有這樣幾個類型:1XX:表示信息提示,2XX:表示成功,3XX:表示重定向,4XX:表示客戶端請求錯誤,5XX:表示服務器錯誤。常見的幾個HTTP請求狀態碼意義如下:

200 OK: 找到了該資源,并且一切正常。
304 NOT MODIFIED: 該資源在上次請求之后沒有任何修改。這通常用于瀏覽器的緩存機制。
401 UNAUTHORIZED: 客戶端無權訪問該資源。這通常會使得瀏覽器要求用戶輸入用戶名和密碼,以登錄到服務器。
403 FORBIDDEN: 客戶端未能獲得授權。這通常是在401之后輸入了不正確的用戶名或密碼。
404 NOT FOUND: 在指定的位置不存在所申請的資源。
505 NOT SUPPORTED:服務器不支持請求中所指明的HTTP版本



查看完整回答
反對 回復 2019-04-11
  • 4 回答
  • 0 關注
  • 966 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號