Http通信与Socket通信
知识点:
1.HttpURLConnection 接口:Get和Post方式
2.HttpClient接口:Get和Post方式
3.Socket通信:面向连接(TCP)和无连接的(UDP)
详述:
HTTP通信 HTTP(超文本传输协议)用于传送www方式的数据,采用了请求/响应模型。客户端向服务器发送一个请求,请求头包含了请求的方法、URI、协议版本,以及包含请求修饰符、 客户信息和内容的类似于MIME的消息结构。服务器以一个状态行作为响应,响应的内容包括消息协议的版本、成功或者错误编码,还包含服务器信息、实体元信息以及可能的实体内容。它是一个属于应用层的面向对象的协议,由于其简洁、快速,它适用于分布式超媒体信息系统。在internet上,http通信通常发生在TCP/IP连接之上,缺省端口是TCP 80,但其他的端口也是可用的。这并不预示着http协议在internet或其它网络的其他协议之上才能完成,http只预示着一个可靠地传输。Android提供了HttpURLConnection和HttpClient接口来开发http程序。
什么是http?
简单来说,就是一个基于应用层的通信规范:双方要进行通信,大家都要遵守一个规范,这个规范就是HTTP协议。
HTTP协议能做什么?
很多人首先一定会想到:浏览网页。没错,浏览网页是HTTP的主要应用,但是这并不代表HTTP就只能应用于网页的浏览。HTTP是一种协议,只要通信的双方都遵守这个协议,HTTP就能有用武之地。比如咱们常用的QQ,迅雷这些软件,都会使用HTTP协议(还包括其他的协议)。
HTTP协议如何工作?
大家都知道一般的通信流程:首先客户端发送一个请求(request)给服务器,服务器在接收到这个请求后将生成一个响应(response)返回给客户端。
在这个通信的过程中HTTP协议在以下4个方面做了规定:
1. Request和Response的格式()
2. 建立连接的方式(1、非持久连接 2、持久连接)
3. 缓存的机制
4. 响应授权激发机制
(应用场合)
5. 基于HTTP的应用(1、 HTTP代理 2、多线程下载 3、 HTTPS传输协议原理 4、开发web程序时常用的Request Methods 5、用户与服务器的交互)