Table of Contents
概述
通过网络实现移动端与服务器端数据的共享与传递。
主要方式:
- TCP/IP serverSocket,
- UDP dategramSocket,
- URL httpUrlConnection,
- Goggle HttpClient。
Android网络通讯分类:
- 基于Socket(服务端监听--客户端请求--连接确认)
- 基于Http协议(eg:HttpUrlConnection)
网络通讯模型:
传输端一层一层将原始数据按一定规则进行封装(目标机器会将数据一层一层解封)
- 应用层:通讯的应用程序
- 表示层:数据的体现格式
- 开始,控制和结束一个会话
- 传输层:网络传输的通讯规则
- 网络层:识别目标机器的IP地址
- 数据链路层:单个链路传输数据规则
- 物理层:传输介质的特性标准
网络三要素:
IP地址:(确定目标机器)
IP,TCP,UDP的比较
三次握手:
端口号:(确定了目标机器之后,确定此目标机器接受数据的特定应用程序)
传输协议:
Http协议:
1.http协议:
HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。HTTP是一个基于TCP/IP通信协议来传递数据,HTTP是一个属于应用层的面向对象的协议。HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。
2.Http协议特点:
- 支持B/S及C/S模式(浏览器/服务器,客户端/服务端)
- 简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。
- 灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。
- 无状态:无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。
- 无连接
3.Http连接:
4.URL
url是统一资源定位符,对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。
其他协议:
- http——超文本传输协议资源
- https——用安全套接字层传送的超文本传输协议
- ftp——文件传输协议
- mailto——电子邮件地址
- ldap——轻型目录访问协议搜索
- file——当地电脑或网上分享的文件
- news——Usenet新闻组
- gopher——Gopher协议
- telnet——Telnet协议
URL和URI的区别
- URI,是uniform resource identifier,统一资源标识符,用来唯一的标识一个资源。
- URL是uniform resource locator,统一资源定位器,它是一种具体的URI,即URL可以用来标识一个资源,而且还指明了如何locate这个资源。
5.请求信息-Request
客户端发送一个HTTP请求到服务器的请求消息包括以下格式:
请求方式:
GET与POST方式的比较:
- GET提交,请求的数据会附在URL之后(就是把数据放置在HTTP协议头中),以?分割URL和传输数据,多个参数用&连接;例 如:login.action?
- POST提交:把提交的数据放置在是HTTP包的包体中。
1.请求行:
用来说明请求类型,要访问的资源以及所使用的HTTP版本.
2.请求头:
用来说明服务器要使用的附加信息,HOST将指出请求的目的地.
3.请求数据(只有post方法提交的方法会放到实体内容中)
6.相应信息-Response
一般情况下,服务器接收并处理客户端发过来的请求后会返回一个HTTP的响应消息。
1.响应行:
由HTTP协议版本号, 状态码, 状态消息 三部分组成。
2.响应头:
用来说明客户端要使用的一些附加信息
3.响应体:
服务端向客户端传输的实际的数据信息,本质是一堆字节流,可以表示文本,图片和其他格式的信息。