譯文——OkHttp, 安卓和Java應用的HTTP&HTTP2.0客戶端
概述
HTTP是現代應用網路互動資料資訊和媒介影像的主要傳輸方式。更有效率的HTTP傳輸會使你的網際網路應用載入更快,同時節省頻寬。
OkHttp是一個HTTP的客戶端,能夠有效地完成:
- 使用HTTP 2.0協議傳輸,所有請求使用同一個域名,共享一個socket。
- 如果HTTP2.0 不可用,透過連線池可以減少請求延遲
- 透明的GZIP壓縮減少了包下載的大小
- 響應快取避免了網路重複請求
OkHttp堅持認為網路環境是複雜混亂且問題不斷的。因此,他充分考慮了高可用,能夠自發地從連線問題中恢復:
如果你的服務能夠提供多個IP地址,當第一次連線失敗後,OkHttp會嘗試連線備選IP地址,當服務端是多資料中心架構時,這種方式相當有用。
OkHttp初始化新連線時採用的是新的TLS協議,比如SNI、ALPN,如果握手失敗,會降級為採用TLS 1.0協議。
使用OkHttp很簡單,API設計合理且不會輕易改變。同時支援同步阻塞式呼叫和非同步回撥函式呼叫。
版本支援:OkHttp支援安卓2.3及以上版本,JDK要求1.7及以上
下載及引用
要使用OkHttp,你需要同時支援Okio,用於快速IO和可調整的緩衝區,最新Jar的下載地址這裡寫連結內容。
OkHttp程式碼,例項,文件都共享在Github上。
MAVEN地址
GRADLE地址
- 1
例項
Get請求
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
Post請求
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31541037/viewspace-2157018/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 使用Java客戶端傳送訊息和消費的應用Java客戶端
- Web 應用客戶端渲染和伺服器端渲染的比較Web客戶端伺服器
- Kubernetes官方java客戶端之三:外部應用Java客戶端
- Tomcat配置Gizp 客戶端使用okHttp3Tomcat客戶端HTTP
- java websocket 客戶端JavaWeb客戶端
- 使用fiddler和安卓模擬器抓取安卓客戶端資料包安卓客戶端
- java獲取客戶端ip和macJava客戶端Mac
- FishRedux完成一個玩安卓客戶端Redux安卓客戶端
- Telegram原始碼之安卓客戶端配置原始碼安卓客戶端
- 安卓客戶端和伺服器端的通訊(勘誤填坑版)安卓客戶端伺服器
- Kubernetes官方java客戶端之四:內部應用Java客戶端
- zookeeper的Java客戶端APIJava客戶端API
- HTTP客戶端連線,選擇HttpClient還是OkHttp?HTTP客戶端client
- 不安裝oracle客戶端部署PB應用Oracle客戶端
- 03. 實現客戶端應用程式客戶端
- Zookeeper Java 客戶端搭建Java客戶端
- Zookeeper--Java客戶端Java客戶端
- 《samba搭建win客戶端和linux客戶端的區別》Samba客戶端Linux
- Java 客戶端 Jedis和JedisPool 連線池Java客戶端
- Zookeeper C客戶端庫編譯客戶端編譯
- 在netweaver中建立應用程式客戶端客戶端
- 4.1.7.2.5 與快速應用程式通知整合的Oracle客戶端Oracle客戶端
- JAVA FTP客戶端問題JavaFTP客戶端
- C#版Nebula客戶端編譯C#客戶端編譯
- SourceTree for Mac(Git客戶端工具)4.1.5中文啟用版MacGit客戶端
- Java服務端和客戶端開發輔助工具UtilsJava服務端客戶端
- socket.io 客戶端與伺服器應用客戶端伺服器
- 實用的PostgreSQL客戶端:Postico for MacSQL客戶端Mac
- Java OAuth 2.0 客戶端程式設計(二): 客戶端憑據授權JavaOAuth客戶端程式設計
- OSCHINA安卓客戶端程式碼高亮解決方案安卓客戶端
- 服務端渲染和客戶端渲染服務端客戶端
- [jaeger] 二、客戶端使用 (Java版本)客戶端Java
- Elasticsearch及java客戶端jest使用ElasticsearchJava客戶端
- ElectronMail:ProtonMail 和 Tutanota 的桌面客戶端AI客戶端
- [轉載] 使用Redis的Java客戶端JedisRedisJava客戶端
- Jaeger的客戶端取樣配置(Java版)客戶端Java
- Java HTTP 客戶端的比較 - reflectoringJavaHTTP客戶端
- zookeeper Java客戶端API的使用方法Java客戶端API