网络-基础
IP地址被用来给Internet上的电脑一个编号,不容易记忆
人们更习惯使用域名访问网络上的计算机
互联网上是如何访问资源的 —— 协议
网络中的计算机要能够互相顺利的通信,就必须讲同样的语言,这个语言就相当于协议
互联网上是如何定位资源的 —— URL
统一资源定位符(Uniform Resource Locator,缩写为URL)是对互联网上资源位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个资源都有一个唯一的URL,它包含的信息指出该资源的位置
互联网上是如何传输数据的 —— 二进制流
2、建立网络连接的步骤:
2.1确定URL:明确要访问的网络资源
2.2建立网络请求(URLRequest)
2.3将请求(URLRequest)发送给服务器
2.4处理服务器返回的数据
3、UIWebView:
UIWebView是iOS内置的浏览器控件,可以浏览网页、打开文档等
能够加载html/htm、pdf、docx、txt等格式的文件
系统自带的Safari浏览器就是通过UIWebView实现的
在iOS7 之前, UILabel、UITextField,以及UITextView都在后台以某种方式使用WebKit来进行文本布局和渲染的
名词解释
渲染:是CG的最后一道工序,将所设计内容制作成最终效果图或者动画的过程
UIWebView加载网页
// 1. 确定要访问的资源——URL
NSURL *url = [NSURL URLWithString:@"http://www.baidu.com"];
// 2. 建立网络请求
NSURLRequest *request = [NSURLRequest requestWithURL:url];
// 3. UIWebView加载网络请求
[self.webView loadRequest:request];
UIWebView的优缺点:
优点
使用简单
NSURL 确定要访问的网络资源
NSURLRequest 建立网络请求
能够方便地展现丰富的页面内容
在开发中,通常遇到不方便排版的内容,会考虑选择UIWebView
缺点
以HTML为基础的页面方式,交互相对单一,局限性大
编辑排版HTML页面同样需要花费人力
UIWebView加载本地文件:
// 1. URL
NSURL *url = [[NSBundle mainBundle] URLForResource:@"iOS 7 Programming Cookbook.pdf" withExtension:nil];
// 2. 请求
NSURLRequest *request = [NSURLRequest requestWithURL:url];
// 3. 如果访问网络资源,"连接"到服务器,"发送"请求,返回数据,处理数据
// 在iOS中,如果要访问本地数据,可以使用同样的方法
// request,客户端给服务器的请求
// response,服务器给客户端的响应
// 提示,凡是看到 **,统一传递对象的地址作为参数
// NULL = 0
// nil = 地址指向0的对象,调用任何方法,都不会报错
NSURLResponse *response = nil;
NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:NULL];
// IE,提示安装Flash插件,如果不安装,看不了
// text/plain 文本文件
// application/msword Word
// application/pdf PDF
NSLog(@"%@", response.MIMEType);
[self.webView loadData:data MIMEType:response.MIMEType textEncodingName:@“UTF8" baseURL:nil];
UIWebView加载Bundle文件:
// 1. URL
NSURL *url = [[NSBundle mainBundle] URLForResource:@"关于.txt" withExtension:nil];
// 2. 请求
NSURLRequest *request = [NSURLRequest requestWithURL:url];
// 3. 本地文件请求
[self.webView loadRequest:request];
4、MIME type:
MIME的英文全称是“Multipurpose Internet Mail Extensions” 多用途互联网邮件扩展,是一个互联网标准,最早应用于电子邮件系统,后来应用到浏览器
服务器通过说明多媒体数据的MIME类型,告诉浏览器发送的多媒体数据的类型,从而让浏览器知道接收到的信息哪些是MP3文件,哪些是Shockwave文件等等
服务器将MIME标志符放入传送的数据中告诉浏览器使用哪种插件读取相关文件
MIME类型能包含视频、图像、文本、音频、应用程序等数据
总而言之两句话:
网络通过二进制数据流的方式可以传输任何格式的数据
客户端通过通过MimeType就能够知道如何处理接收到的数据
计算机就是0和1
URL & Request 向服务器发送请求
Response 响应,服务器告诉客户端我给了你什么