####1. Client & Server Client(平板、手机、PC)向Server发送Request, Server回馈给Client以Response(为客户端提供资源、数据);
####2.1. 网络协议
常用计算机网络协议一览:
简易的网络请求过程:
####2.2. URL解析
- URL组成部分: Protocal 协议(http、https); domain name 域名(www.***.com); port 端口; 虚拟目录; 参数;
- 如上图中,从https到2016整个儿是一个URL;
- 接着是协议(protocol)、 子域(subdomain-域名的一部分,通常是一个网络、大学、公司等)、 主机名(hostname)、 Top level domain(TLD-顶级域名)
- www.yourwebservice.com为止是连接到服务器根目录;
- 接着是根目录下的路径(path)、文件(document);
- default.aspx之后便是问号(?), 然后是参数;
- 参数使用**
键值对**的方式表达;
如此一个URL便准确地指向了服务器的某个资源;
例子:
####3.1. 从服务器获取数据
- 实例化一个URL对象;
- 获取HttpURLConnection对象;
- 设置请求连接属性;
- 获取响应码,判断连接结果码;
- 获取输入流并解析;
####3.2 GET & POST
- 详细理论点击前往
- 从传输意义上讲,POST是安全的,GET不安全:
- GET把要传给服务器的参数直接放在URL后面(用
?加键值对进行URL组装), URL参数可见,明文; - POST把数据封装起来,URL参数不可见;
- GET把要传给服务器的参数直接放在URL后面(用
- 从本质意义上讲,GET是安全的,POST不安全:
- GET没有更改服务器内容;
- POST对服务器就行写入、覆盖,会更改服务器内容;
- 幂等性(同样的一个操作,它一次或者多次地操作,对系统资源产生的影响是一样的)
- GET具备幂等性;
- POST不具备; (原因参照对服务器是否有修改)
####3.3 GET请求.demo代码实现
效果图:
- 获取数据按钮:点击后,去请求一个接口,拿到数据;
- 解析数据按钮:点击后,解析拿到的数据;
- TextView:展示解析后的结果
点击获取数据:
点击解析数据: