IOS网络请求原理
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网络请求原理的更多相关文章
- 【转载】一步一步搭建自己的iOS网络请求库
一步一步搭建自己的iOS网络请求库(一) 大家好,我是LastDay,很久没有写博客了,这周会分享一个的HTTP请求库的编写经验. 简单的介绍 介绍一下,NSURLSession是iOS7中新的网络接 ...
- springmvc接口ios网络请求
springmvc: application/json;charset=utf-8的ios网络请求: 后台使用 @RequestBody注解参数接收:
- IOS 网络请求
技术交流新QQ群:414971585 关于网络请求的重要性我想不用多说了吧.对于移动客户端来说,网络的重要性不言而喻.常见的网络请求有同步GET, 同步POST, 异步GET, 异步POST.今天来看 ...
- IOS 网络请求方式
iOS开发中的网络请求 今天来说说关于iOS开发过程中的网络请求. 关于网络请求的重要性我想不用多说了吧.对于移动客户端来说,网络的重要性不言而喻.常见的网络请求有同步GET, 同步POST, 异 ...
- iOS 网络请求NSURLSession
iOS 7 和 Mac OS X 10.9 Mavericks 中一个显著的变化就是对 Foundation URL 加载系统的彻底重构. 现在已经有人在深入苹果的网络层基础架构的地方做研究了,所以我 ...
- IOS网络请求框架AFNetworking和ASIHttpRequest对比
ASI基于CFNetwork框架开发,而AFN基于NSURL. ASI更底层,请求使用创建CFHTTPMessageRef进行,使用NSOperationQueue进行管理,ASIHTTPReques ...
- iOS网络请求基础
这篇是关于网络请求的,结合公司的实际情况编写,如果有不同意见欢迎留言共同讨论. iOS在9.0之后彻底放弃了NSURLConnection,现在已经改用了NSURLSession进行网络请求.一般现在 ...
- IOS网络请求之NSURLSession使用
前言: 无论是Android还是ios都离不开与服务器交互,这就必须用到网络请求,记得在2013年做iOS的时候那时候用的ASIHTTPRequest框架,现在重新捡起iOS的时候ASIHTTPReq ...
- IOS网络请求之AFNetWorking 3.x 使用
前言: 计划把公司的网络请求与业务解耦,所以想着学习一下网络请求,最近学习了NSURLSession,今天来学习一下基于NSURLSession封装的优秀开源框架AFNetWorking 3.x,之前 ...
随机推荐
- Python中,添加写入数据到已经存在的Excel的xls文件,即打开excel文件,写入新数据
背景 Python中,想要打开已经存在的excel的xls文件,然后在最后新的一行的数据. 折腾过程 1.找到了参考资料: writing to existing workbook using xlw ...
- [MySQL] 关系型数据库的设计范式 1NF 2NF 3NF BCNF
一.缘由: 要做好DBA,就要更好地理解数据库设计范式.数据库范式总结概览: 为了更好地理解数据库的设计范式,这里借用一下知乎刘慰老师的解释,很通俗易懂.非常感谢! 二.具体说明: 首先要明白”范 ...
- TextView与Html相结合的具体方法?
TextView与Html相结合的具体方法? android教程之textview解析带图片的html示例 Android中的TextView,本身就支持部分的Html格式标签.这其中包括常用的字体大 ...
- ModelAttribute注解
1.使用@ModelAttribute标记方法,会在每个目标方法执行前被springMVC调用 2.使用@ModelAttribute修饰目标方法pojo入参,其value属性值有以下作用: 1)sp ...
- Visual Studio Enterprise 2015下载 Update3
Visual Studio 2015 是一个丰富的集成开发环境,可用于创建出色的 Windows.Android 和 iOS 应用程序以及新式 Web 应用程序和云服务. 1.适用于各种规模和复杂程度 ...
- img会在特定的情况下主动的第二次调用MVC的action
当img的src为空,或者不是合法路径的时候,会连续调用MVC的action两次,第二次所传的值为src的值,这常常会导致程序报错. 这不是MVC的issue,而是浏览器的行为,当response f ...
- 基于Node.js+socket.IO创建的Web聊天室
这段时间进了一个新的项目组,项目是用Appcan来做一个跨平台的移动运维系统,其中前台和后台之间本来是打算用WebSocket来实现的,但写好了示例后发现android不支持WebSocket,大为受 ...
- 执行powershell脚本
打开powershell运行窗口: powershell.exe C:\Users\Administrator\Desktop\a.ps1 -a $a. -a $a : vbs脚本路径(如 C:\h ...
- noip2008解题报告
T1.笨小猴 给出一个单词求出现次数最多和最少之差是不是质数. 很水的.统计一下反正就26个字母. T2.火柴棒等式 给出火柴棒数,求形如 a+b=c能拼成的等式个数. 先减去4根(+,=),然后枚举 ...
- 一天天的sql总结
一. 多张表之间的查询: join/inner join on inner join 是比较运算符,只返回符合条件的行. left/outer join on 左外连接包含left join左表所有 ...