您的位置:首页 > 理论基础 > 计算机网络

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:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  网络