网络协议 http
HTTP协议详解(真的很经典)
User-Agent
我们上网登陆论坛的时候,往往会看到一些欢迎信息,其中列出了你的操作系统的名称和版本,你所使用的浏览器的名称和版本,这往往让很多人感到很神奇,实际
上,服务器应用程序就是从User-Agent这个请求报头域中获取到这些信息。User-Agent请求报头域允许客户端将它的操作系统、浏览器和其它
属性告诉服务器。不过,这个报头域不是必需的,如果我们自己编写一个浏览器,不使用User-Agent请求报头域,那么服务器端就无法得知我们的信息
了。
httpwatch 下载地址
HttpWatch手把手图解教程
从IE的“查看”—“浏览器栏”—“HttpWatch”启动HttpWatch。
火狐浏览器自带抓包插件及httpWatch9.1安装软件+教程
抓包工具 - HttpWatch(功能详细介绍)
一步一步开发sniffer(Winpcap+MFC)(一)工欲善其事,必先配环境——配置winpcap开发环境
CloseableHttpAsyncClient最大连接数的问题
CloseableHttpAsyncClient默认方式初始化
CloseableHttpAsyncClient httpclient = HttpAsyncClients.createDefault();
这种方式下最大连接数只有10,单主机的最大连接数只有5,在搞并发的情况下延迟会显著加大。
如果需要高并发环境那么应该手动设置最大连接数以及单主机的连接数:
CloseableHttpAsyncClient httpclient = HttpAsyncClientBuilder.create() .setMaxConnTotal(1000).setMaxConnPerRoute(1000).build();
弱网下移动端网络连接处理策略
APP弱网络条件下,体验优化之道
iOS网络缓存扫盲篇--使用两行代码就能完成80%的缓存需求
弱网或无网状态下 APP如何做缓存
解决Android httpclient网络post/get请求性能优化
- // 请求超时
- HttpConnectionParams.setSoTimeout(params, 15000);
- HttpConnectionParams.setTcpNoDelay(params, true);//nagle算法默认是打开的,会引起delay的问题;所以要手工关掉。
- HttpConnectionParams.setConnectionTimeout(params, 15000);
Android4种网络连接方式HttpClient、HttpURLConnection、OKHttp和Volley优缺点和性能对比 good
OkHttp是一个现代,快速,高效的Http client,支持HTTP/2以及SPDY(SPDY介绍网址:https://zh.wikipedia.org/wiki/SPDY,SPDY(发音如英语:speedy),一种开放的网络传输协议,由Google开发),它为你做了很多的事情。
OKHttp是Android版Http客户端。非常高效,支持SPDY、连接池、GZIP和HTTP缓存。
支持SPDY,可以合并多个到同一个主机的请求
OkHttp实现的诸多技术如:连接池,gziping,缓存等就知道网络相关的操作是多么复杂了。
OkHttp扮演着传输层的角色。
OkHttp使用Okio来大大简化数据的访问与存储,Okio是一个增强 java.io 和 java.nio的库。
OkHttp 处理了很多网络疑难杂症:会从很多常用的连接问题中自动恢复。如果您的服务器配置了多个IP地址,当第一个IP连接失败的时候,OkHttp会自动尝试下一个IP。
OkHttp还处理了代理服务器问题和SSL握手失败问题。
OkHttp是一个Java的HTTP+SPDY客户端开发包,同时也支持Android。需要Android 2.3以上
OKHttp是Android版Http客户端。非常高效,支持SPDY、连接池、GZIP和 HTTP 缓存。
默认情况下,OKHttp会自动处理常见的网络问题,像二次连接、SSL的握手问题。
如果你的应用程序中集成了OKHttp,Retrofit默认会使用OKHttp处理其他网络层请求。
从Android4.4开始HttpURLConnection的底层实现采用的是okHttp
综上得出最终结论:
1、对于新的应用程序,应该更加偏向于使用HttpURLConnection,因为在以后的工作当中Google也会将更多的时间放在优化HttpURLConnection上面。
谷歌自己也是推荐用HttpUrlConnection,对它进行了大量的优化,这个从安卓的帮助文档可以看出来:
http://developer.android.com/reference/java/net/HttpURLConnection.html
2、对于已经成熟的应用, Volley停止了更新,而OkHttp得到了官方的认可,并在不断优化。
因此我建议使用OkHttp,现在最新稳定版为3.2.0
http statusCode(状态码) 200、300、400、500序列
FNetworking 3.0 源码解读(一)之 AFNetworkReachabilityManager
理解TCP/IP网络栈&编写网络应用(上)
理解TCP/IP网络栈&编写网络应用(下)
使用AFNetwroking请求错误 输出Bug
使用httpclient必须知道的参数设置及代码写法、存在的风险