1,为什么要用到网络,  只有通过网络跟外界进行数据交互,数据更新,应用才能保持哦新鲜、活力

如果没有网络,也就缺少数据变化。变成一滩死水。

2, 良好的移动网络应用 = 良好的UI + 良好的用户体验 + 实时更新的数据。

新闻;

视频

音乐;

lbs

电商

社交

客户端。(client) 移动应用

服务器(server):为客户端提供服务,提供数据,提供资源的机器。

请求,向服务器索取数据的一种行为。

响应:服务器对客户端的请求作出反应,一般指

客户端   发请求    服务器    向数据库拿数据     服务器拿到数据    客户端得到;

前端。                        后端。

ios,android            Java ,PHP  ,NET

按照软件开发阶段来分, 服务器分2种

远程服务器。

外网服务器。   正式服务器。

本地服务器。

测试用。

自己的电脑上搭建本地服务器就好,

选择怎样的本地服务器。

在公司里面,有专门的人选服务器。

在学习选什么本地服务器就可以。

安装eclipse

利用java编写一套服务器程序。

配置服务器的容器。Apache Tomcat

MAMP  用这个好像也可以搭建服务器啊。

URL的基本格式 = 协议://主机地址/路径。

如,http://ios。itcast。cn/ios/images/content——25.jpg

协议,不同的协议,代表着不同的资源查找方式,资源传输方式。

主机地址:存放资源的主机的ip地址。(域名)

路径: 资源在主机中的具体位置。

利用http 这种手段,在ios。itcast。cn这台电脑上ios/images/content——25.jpg的这个位置查找文件夹。

http://

超文本传输协议。访问的是远程服务器。

http协议是在网络开发中最常用的协议。

灵活

简单快速

完整的http通信可以分为2大步骤

请求;   响应。

内容

请求行 :  请求方法,请求资源路径 , HTTP 协议版本。

GET/MJserver/resources/images/1.jpg  HTTP/1.1

请求头,包含了对客户端的环境描述。客户端请求的主机地址等信息。

Host:;192.168.1.105:8080   //客户端想访问的服务器主机地址。

User-Agent :Mozilla/5.0(Macintosh; Intel Mac OS X 10.9) firefox/30。0//客户端的类型,客户端的软件环境。

Accept:text/html,  */*   客户端所能接收的数据类型。

Accept-Language: zh-cn  //客户端的语言环境。

Accept-Encoding gzip  //客户端支持的数据压缩格式。

请求体: 客户端发给服务器的具体数据, 比如文件数据。

返回时,也规定了一些东西。

1,状态行:包含了HTTP协议的版本,状态码,状态英文名称,

HTTP/1.1 200 OK

响应头;包含了对服务器的描述,对返回数据的描述

Server: Apache-coyote/1.1     //服务器的类型。

Content-type: image/jpeg   //返回数据的类型

Content-Length:56811   //返回数据的长度。

Date:Mon,23,Jun2014 12:54:52 GMT 响应的时间。

实体内容: 服务器返回给客户端的具体数据, 比如文件数据。

状态码 : 200 OK 表示请求成功了

400 bad Request 客户端请求的语法错误, 服务器无法解析。

404 not found 服务器无法根据客户端的请求找到资源;

500 internal Server Error   服务器内部错误,无法完成请求。

file

访问的是本地服务器。file://  不用加主机地址。

mailto

访问的是电子邮件地址,格式是mailto:

FTP

访问的是共享主机的文件资源,格式是ftp://只能访问文件。

IOS网络请求原理的更多相关文章

  1. 【转载】一步一步搭建自己的iOS网络请求库

    一步一步搭建自己的iOS网络请求库(一) 大家好,我是LastDay,很久没有写博客了,这周会分享一个的HTTP请求库的编写经验. 简单的介绍 介绍一下,NSURLSession是iOS7中新的网络接 ...

  2. springmvc接口ios网络请求

    springmvc:   application/json;charset=utf-8的ios网络请求: 后台使用 @RequestBody注解参数接收:

  3. IOS 网络请求

    技术交流新QQ群:414971585 关于网络请求的重要性我想不用多说了吧.对于移动客户端来说,网络的重要性不言而喻.常见的网络请求有同步GET, 同步POST, 异步GET, 异步POST.今天来看 ...

  4. IOS 网络请求方式

    iOS开发中的网络请求   今天来说说关于iOS开发过程中的网络请求. 关于网络请求的重要性我想不用多说了吧.对于移动客户端来说,网络的重要性不言而喻.常见的网络请求有同步GET, 同步POST, 异 ...

  5. iOS 网络请求NSURLSession

    iOS 7 和 Mac OS X 10.9 Mavericks 中一个显著的变化就是对 Foundation URL 加载系统的彻底重构. 现在已经有人在深入苹果的网络层基础架构的地方做研究了,所以我 ...

  6. IOS网络请求框架AFNetworking和ASIHttpRequest对比

    ASI基于CFNetwork框架开发,而AFN基于NSURL. ASI更底层,请求使用创建CFHTTPMessageRef进行,使用NSOperationQueue进行管理,ASIHTTPReques ...

  7. iOS网络请求基础

    这篇是关于网络请求的,结合公司的实际情况编写,如果有不同意见欢迎留言共同讨论. iOS在9.0之后彻底放弃了NSURLConnection,现在已经改用了NSURLSession进行网络请求.一般现在 ...

  8. IOS网络请求之NSURLSession使用

    前言: 无论是Android还是ios都离不开与服务器交互,这就必须用到网络请求,记得在2013年做iOS的时候那时候用的ASIHTTPRequest框架,现在重新捡起iOS的时候ASIHTTPReq ...

  9. IOS网络请求之AFNetWorking 3.x 使用

    前言: 计划把公司的网络请求与业务解耦,所以想着学习一下网络请求,最近学习了NSURLSession,今天来学习一下基于NSURLSession封装的优秀开源框架AFNetWorking 3.x,之前 ...

随机推荐

  1. ios crash 日志分析

    以下内容来自网络 https://coderwall.com/p/ezdcmg/symbolicating-an-ios-crash-log-without-the-original-dsym-fil ...

  2. 黄聪:jquery 校验中国身份证号码

    大陆18位身份证(第二代身份证) 身份号码是一组具有特征组合码,由十七位数字本体码和一位校验码组成. 排列顺序从左至右依次为:六位数字地区码,八位数字生日码,三位数字顺序码和一位数字校验码. 校验方法 ...

  3. int和NSInteger区别

    NSInteger会自动根据操作系统的位数(32或者64位)返回最大的类型 查到c语言中,int和long的字节数是和操作系统指针所占位数相等. 但c语言中说,long的长度永远大于或等于int ob ...

  4. Flash插件地址

    Flash插件地址: http://get.adobe.com/cn/flashplayer/存档版本地址: http://helpx.adobe.com/flash-player/kb/archiv ...

  5. python中subprocess.Popen.poll

    import subprocess proc = subprocess.Popen(['python', 'test.py'], stdout=subprocess.PIPE) while 1: pr ...

  6. log4j按级别输出日志文件

    log4j.properties: BASE_DIR= /home/admin/preprocess-tmc-city/logs log4j.rootLogger=debug,stdout,debug ...

  7. WM_CLOSE WM_DESTROY WM_QUIT的区别

    WM_CLOSE:关闭应用程序窗口 WM_DESTROY:关闭应用程序 WM_QUIT:关闭消息循环

  8. python ConfigParser、shutil、subprocess、ElementTree模块简解

    ConfigParser 模块 一.ConfigParser简介ConfigParser 是用来读取配置文件的包.配置文件的格式如下:中括号“[ ]”内包含的为section.section 下面为类 ...

  9. MyBatis学习总结(八)——Mybatis3.x与Spring4.x整合

    一.搭建开发环境 1.1.使用Maven创建Web项目 执行如下命令: mvn archetype:create -DgroupId=me.gacl -DartifactId=spring4-myba ...

  10. 指针的指针&指向指针数组的指针

    一.指针的指针    指针的指针看上去有些令人费解.它们的声明有两个星号.例如:        char ** cp;    如果有三个星号,那就是指针的指针的指针,四个星号就是指针的指针的指针的指针 ...