網路連線和概述

若蘭__明月發表於2018-01-03
  • 1、概述 Android完全支援JDK本身的TCP UDP網路通訊的API,也就是我們在javase階段講解的網路程式設計 Android也支援基於HTTP協議的URLConnection,並內建Apache HttpClient API來簡化HTTP操作

  • 2、http協議 HTTP協議是Hyper Text Transfer Protocol(超文字傳輸協議)

  • (1)在TCP/ip協議棧中的位置 通常承載與tcp協議之上,有事也承載與tls或者ssl協議層之上,這個時候,就成了我們常說的https http預設埠是80 https預設的埠是443

  • (2) http的請求響應 只有請求了,才會返回響應,服務端不會在沒有請求的時候返回響應,這樣就限制了使用http協議,無法實現在客戶端沒有發起請求的時候,服務端將訊息推送給客戶端,http協議是一個無狀態的協議,同一個客戶端的這次請求和上次的請求是沒有對應的關係

  • 3、檢查網路連線狀態

    • 工作流程 一次HTTP操作稱為一個事物,其工作過程分為四步:
      • (1)首先客戶端與伺服器需要建立連線,只要單擊某個超連結,http的工作開始
      • (2)建立連線後,客戶端傳送一個請求給伺服器,請求方式的格式為,統一資源識別符號(URL)、協議版本號、後邊是MIME資訊包括請求修飾符,客戶端資訊和可能的內容
      • (3)伺服器接收到請求和,給予相應的響應,其格式為一個狀態行,包括資訊的協議版本號,一個成功或者錯誤的程式碼,後面是MIME資訊包括伺服器資訊,實體資訊和可能的內容
      • (4)客戶端接收伺服器所返回的資訊通過遊覽器顯示在使用者的螢幕上,然後客戶端與伺服器斷開連線如果在以上的過程中的某一步出現錯誤,那麼產生錯誤的資訊將返回到客戶端,有螢幕輸出,對於使用者來說,這些過程是有HTTP自己完成的,使用者只要點選滑鼠,等待資訊的顯示就可以了。

###請求包的例項 HTTP請求包,(GET?POST等待請求方法)由三個部分構成:方法-URL-協議版本、請求頭、請求正文.下面十一個HTTP協議請求包(GET)的例子

  • 1、GET/index.jsp HTTP/1.1
  • 2、Accept-Language:zh-cn
  • 3、Connection:Keep-Alive
  • 4、Host;192.168.0.106
  • 5、Content-Length:37
  • 6、userName=wuyinel&password=123456

###HTTP應答包例項 和HTTP請求包相似,由三個部分構成,分別是:協議-狀態程式碼-描述,應答頭,應答正文

常用的http狀態碼:

					200 OK  ;客戶端請求成功
					400 Bad Request; 客戶端請求有語法錯誤,不能被伺服器所理解
					401 Unauthorized : 請求未經授權,這個狀態碼必須和WWW-Authenticate報頭域一起使用
					403 Forbidden: 請求未經授權名,拒絕提供服務
					404 Not Found ;請求的資源不存在
					500 Internal Server Error :伺服器發生不可預期的錯誤
					503 Server Unavailable : 伺服器當前不能處理客戶端的請求,一段時間後可能恢復正常
					
					100---客戶必須繼續發出請求
					101---客戶要求伺服器根據請求轉換HTTP協議版本
					2.3.2.2 2** --- 操作成功收到、分析、接受
					200---交易成功
					201---提示知道新檔案的URL
					202---接受和處理,但是未處理完成
					203---返回資訊不確定或者不完整
					204---請求收到,但是返回資訊為空
					205---伺服器完成了請求,使用者帶來必須復位當前已經遊覽過的檔案
					206---伺服器已經完成了部分使用者的GET請求
					2.3.2.3 3**---:完成此請求必須進一步處理
					300---請求的資源可以多出得到
					301---刪除請求資料
					302---在其他地址發現了請求資料
					303---建議客戶訪問其他UIL或者訪問方式
					304---客戶端已經執行了GER,但是檔案未變化
					305---請求的資源必須從伺服器指定的地址得到
					306---前一版本HTTP中使用的程式碼,現行版本中不在使用
					307---申明請求的資源臨時性刪除
					2.3.2.4 4**---:請求包含一個錯誤語法或者不能完成
					400---錯誤請求,如語法錯誤
					401---未授權
					HTTP 401.1- 未授權:登入失敗
					HTTP 401.2 - 未授權:伺服器配置問題導致登入失敗
					HTTP 401.3 - ACL禁止範文資源
					HTTP 401.4
複製程式碼

相關文章