《android開發進階從小工到專家》讀書筆記--HTTP網路請求

來源:互聯網
上載者:User

標籤:要求標頭   head   參數   div   android   title   分割   簡單   用戶端   

No1:

用戶端與伺服器的互動流程:

1)用戶端執行網路請求,從URL中解析出伺服器的主機名稱

2)將伺服器的主機名稱轉換成伺服器的IP地址

3)將連接埠號碼從URL中解析出來

4)建立一條從用戶端與Web伺服器的TCP串連

5)用戶端通過輸出資料流向伺服器發送一條HTTP請求

6)伺服器向用戶端回送一條HTTP響應報文

7)用戶端從輸入資料流擷取報文

8)用戶端解析報文,關閉串連

9)用戶端將結果顯示在UI上

No2:

HTTP請求方式:

1)GET

擷取伺服器中某個資源,www.devtf.cn/articles/123.html?username=myname&userid=123

2)POST

通常會會用來提交HTML的表單

3)PUT

會向伺服器寫入資源

4)DELETE

請求伺服器刪除請求URL所指定的資源。但是,用戶端應用程式無法保證刪除操作一定會被執行。因為,HTTP規範允許伺服器在不通知用戶端的情況下撤銷請求。DELETE方式和GET請求一樣,參數都需要放在請求的URL中。

5)HEAD

與GET方法行為很類似,但伺服器在響應中只返回首部,不會返回實體的主體部分。這就允許用戶端在未擷取實際資源的情況下,對資源的首部進行檢查。

6)TRACE

TRACE請求會在目的服務端發起一個“環回”診斷。行程最後一站的伺服器會彈回一條TRACE響應,並在響應主體中攜帶它收到的原始請求報文。這樣用戶端就可以查看在所有中間HTTP應用程式組成的請求/響應鏈上,原始報文是否以及如何被毀壞或修改過。

主要用於診斷,即用於驗證請求是否如願穿過了請求/響應鏈

7)OPTIONS請求

OPTIONS方法請求Web伺服器告知其支援的各種功能。可以詢問伺服器通常支援哪些方法,或者對某些特殊資源支援哪些方法(有些伺服器可能只支援對一些特殊類型的對象使用特定的操作)

No3:

一個HTTP請求報文由請求行(request line)、要求標頭部(header)、空行和請求資料4個部分組成。

HTTP響應也由3個部分組成,分別是:狀態行、訊息前序、響應本文。

No4:

常見狀態碼、狀態原因

1)200 OK:用戶端請求成功

2)400 Bad Request:用戶端請求有語法錯誤,不能被伺服器所理解

3)401 Unauthorized:請求未經授權,這個狀態代碼必須和WWW-Authenticate前序域一起使用

4)403 Forbidden:伺服器收到請求,但是拒絕提供服務

5)404 Not Fount:請求資源不存在,舉個例子:輸入了錯誤的URL

6)500 Internal Server Error:伺服器發生不可預期的錯誤

7)503 Server Unavailable:伺服器當前不能處理用戶端的請求,一段時間後可能恢複正常,舉個例子:HTTP/1.1 200 OK(CRLF)

No5:

HTTP要傳送一條報文時,會以流的形式將報文資料的內容通過一條開啟的TCP串連按序傳輸。TCP收到資料流之後,會將資料流分割成被稱作段的小資料區塊,並將段封裝在IP分組中,通過網際網路進行傳輸。所有這些工作都是由TCP/IP軟體來處理的,程式員什麼都看不到。

No6:

android中提供了兩種執行網路請求的方式,一種是使用Apache的HttpClient,另一種則是Java的HttpURLConnection。

No7:

HttpURLConnection的API簡單,體積較小,它的壓縮和緩衝機制可以有效減少網路訪問的流量,在提升速度和省電方面也起到了較大的作用。

在Android 6.0中,HttpClient庫已經被移除。

No8:

一旦向輸出資料流中寫入了參數,那麼請求方式則會變為POST,即使通過setRequestMethod函數將請求設定為“GET”。因為GET請求的參數是附在URL中的,因此,如果是GET請求,則不要在請求體中設定參數。

 《android開發進階從小工到專家》讀書筆記--網路架構的設計與實現

《android開發進階從小工到專家》讀書筆記--HTTP網路請求

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.