HTTP相关知识 - 1
2018-01-08 21:23
204 查看
okhttp retrofit
retrofit是对于okhttp进行封装之后的产物
retrofit优点:
支持okhttp
注解处理,简化代码
支持上传和下载
支持自己更换解析方式//支持多类型文件的解析
支持多种http请求库
sample:
public interface GithubService {
@GET("users/{user}/repos")
Call<List<Repo>> listRepos(@Path("user") String user);
}
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("http://api.github.com/")
.build();
GithubService service = retrofit.create(GithubService.class);
Call<List<Repo>> repos = service.listRepos("otocat");
选择性分析
学习成本
文档是否齐全
github星数量
现在是否有人维护
流行程度
代码设计是否有借鉴性
代码体积
主流的apk体积一般不会超过20M
OkHttpClient client = new OkHttpClient();
String run(String url) throws IOException {
Request request = new Request.Builder()
.url(url)
.build();
Response response = client.newCall(request).execute();
return response.body().string();
}
http协议基础内容
什么是http协议
http版本区别
http的集中请求方式
http协议的特点
市面上90%是使用http1.1版本,
默认持久连接,支持缓存,支持管道方式发送多个请求
持久连接,默认走已经连接过的tcp通道,1.1之后默认将此开关打开
2.0协议
1.1,请求一个网站时,可能会发送多个请求,请求头占用了一大部分数据,实际上的数据只有很小的一部分,无法复用一个TCP通道
spdy协议
多路复用,一个TCP连接上同时跑多个HTTP请求,请求可设定优先级
去除不需要的HTTP头,压缩HTTP头,以减少需要的网络带宽
使用了SSL作为传输协议提供数据安全
对传输的数据使用gzip进行压缩
提供服务方发起通信,并向客户端推送数据的机制.
2.0中完全能支持spdy协议
多路复用,允许同时通过单一的HTTP/2连接发起多重的请求-相应信息
请求可以并发的执行
作用:单链接多资源的方式,减少服务端的连接压力,内存占用更少,连接吞吐量更大
由于TCP连接的减少而使网络拥塞状况得以改善,同时慢启动时间的减少,使阻塞和丢包回复速度更快
头部压缩 每次都要传输UserAgent和cookie
HPACK算法,将头部固定的数据使用字典进行标识
对请求划分优先级:
服务器推送流(即Server push技术)
http的几种请求方式:
get:请求获取Request_URI所标识的资源
post:在Request_URI所标识的资源后附加新的数据
head:请求获取由Request-URI所标识的资源的响应信息报头
put:请求服务器存储一个资源,并用Request-URI所谓其标识
delete:请求服务器删除Request-URI所标识的资源
trace:请求服务器回送到的请求信息,主要用于测试或诊断
connect:保留将来使用
options:请求查询服务器的性能,或者查询与资源相关的选项
http协议的特点
1.支持客户/服务器模式
2.简单快速:客户想服务器请求服务是,只需传送请求方法和路径.请求方法常用的有get,post
由于http协议简单,使得http服务器的程序规模小,因而通信速度很快
3.灵活:http允许传输任意类型的数据对象,正在传输的类型由Content-Type加以标记
4.无连接:无连接的含义是限制每次连接值处理一个请求,服务器处理完客户的请求..
5.无状态:http协议是无状态协议.无状态是指协议对于事务处理没有记忆功能.
请求头:
User-Agent:
定义
作用
伪装
Referer:
Cache-Control:
Connection:
Range:
retrofit是对于okhttp进行封装之后的产物
retrofit优点:
支持okhttp
注解处理,简化代码
支持上传和下载
支持自己更换解析方式//支持多类型文件的解析
支持多种http请求库
sample:
public interface GithubService {
@GET("users/{user}/repos")
Call<List<Repo>> listRepos(@Path("user") String user);
}
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("http://api.github.com/")
.build();
GithubService service = retrofit.create(GithubService.class);
Call<List<Repo>> repos = service.listRepos("otocat");
选择性分析
学习成本
文档是否齐全
github星数量
现在是否有人维护
流行程度
代码设计是否有借鉴性
代码体积
主流的apk体积一般不会超过20M
OkHttpClient client = new OkHttpClient();
String run(String url) throws IOException {
Request request = new Request.Builder()
.url(url)
.build();
Response response = client.newCall(request).execute();
return response.body().string();
}
http协议基础内容
什么是http协议
http版本区别
http的集中请求方式
http协议的特点
市面上90%是使用http1.1版本,
默认持久连接,支持缓存,支持管道方式发送多个请求
持久连接,默认走已经连接过的tcp通道,1.1之后默认将此开关打开
2.0协议
1.1,请求一个网站时,可能会发送多个请求,请求头占用了一大部分数据,实际上的数据只有很小的一部分,无法复用一个TCP通道
spdy协议
多路复用,一个TCP连接上同时跑多个HTTP请求,请求可设定优先级
去除不需要的HTTP头,压缩HTTP头,以减少需要的网络带宽
使用了SSL作为传输协议提供数据安全
对传输的数据使用gzip进行压缩
提供服务方发起通信,并向客户端推送数据的机制.
2.0中完全能支持spdy协议
多路复用,允许同时通过单一的HTTP/2连接发起多重的请求-相应信息
请求可以并发的执行
作用:单链接多资源的方式,减少服务端的连接压力,内存占用更少,连接吞吐量更大
由于TCP连接的减少而使网络拥塞状况得以改善,同时慢启动时间的减少,使阻塞和丢包回复速度更快
头部压缩 每次都要传输UserAgent和cookie
HPACK算法,将头部固定的数据使用字典进行标识
对请求划分优先级:
服务器推送流(即Server push技术)
http的几种请求方式:
get:请求获取Request_URI所标识的资源
post:在Request_URI所标识的资源后附加新的数据
head:请求获取由Request-URI所标识的资源的响应信息报头
put:请求服务器存储一个资源,并用Request-URI所谓其标识
delete:请求服务器删除Request-URI所标识的资源
trace:请求服务器回送到的请求信息,主要用于测试或诊断
connect:保留将来使用
options:请求查询服务器的性能,或者查询与资源相关的选项
http协议的特点
1.支持客户/服务器模式
2.简单快速:客户想服务器请求服务是,只需传送请求方法和路径.请求方法常用的有get,post
由于http协议简单,使得http服务器的程序规模小,因而通信速度很快
3.灵活:http允许传输任意类型的数据对象,正在传输的类型由Content-Type加以标记
4.无连接:无连接的含义是限制每次连接值处理一个请求,服务器处理完客户的请求..
5.无状态:http协议是无状态协议.无状态是指协议对于事务处理没有记忆功能.
请求头:
User-Agent:
定义
作用
伪装
Referer:
Cache-Control:
Connection:
Range:
相关文章推荐
- 对java的 cookie处理进行修正(附http的相关知识)
- HTTP网络连接相关知识整理(三):网络错误异常
- http协议的相关知识
- Cookies 和http请求相关知识
- http协议的相关知识
- http协议相关知识-网络基础
- HTTP协议知多少-关于http1.x、http2、SPDY的相关知识
- 【java程序员理解HTTP】【1】HTTP相关知识
- asp.net 中http协议及相关知识(零碎知识记录)
- JavaWeb学习笔记(一)---Web相关知识和HTTP协议
- oc中相关http协议知识
- http的相关的知识总结
- http请求相关知识备忘 -- 更新中
- http 登录Digest认证相关知识
- http相关知识 - (2)状态管理 - cookie
- http代理相关知识
- 针对web阶段http相关知识小结
- 对http相关知识整理(来自MDN)
- 利用HTTP_X_FORWARDED_FOR获取客户端IP(http代理的相关知识)
- HTTP相关知识