网络-基础

1、网络相关理论:
网络的定义:
在计算机领域中,网络是信息传输、接收、共享的虚拟平台,通过它把各个点、面、体的信息连接到一起,从而实现这些资源的共享
地址:
互联网上是如何识别每一台计算机的 —— IP地址

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 响应,服务器告诉客户端我给了你什么

 

原文地址:https://www.cnblogs.com/bluceZ/p/4629505.html