对于android开发来说,http网络请求是开发中重要的一部分。
一、HTTP请求原理
http是一种应用层协议,它通过tcp实现了可靠的数据传输。详细的交互流程如下:
- 客户端执行网络请求,从url中解析出服务器的主机名
- 将服务器的主机名转换成服务器ip地址
- 将端口号从url中解析出来
- 建立一条客户端与服务器的tcp链接
- 客户端通过输入流向服务器发送一条http请求
- 服务器向客户端回送一条http响应报文
- 客户端从输入流获取报文
- 解析报文,关闭连接
HTTP请求方式
- get请求(查)
- post请求(改)
- delete请求(删)
- put请求(增)
- head请求:服务器只返回首部,不会返回实体的主体部分。
- trace请求:客户端发起一个请求,可能需要通过防火墙、代理、网关或其他一些应用程序。每个节点都可能修改原始的请求。trace请求会有目的服务器发起一个环回诊断,行程最后一站的服务器会弹回一条trace响应,并在响应主体中携带它收到的原始请求报文。
- options请求:请求web服务器告知其支持的各种功能。