需要详细的问题

http://www.2cto.com/kf/201604/498022.html

TCP (Transmission Control Protocol)和UDP(User Datagram Protocol)协议属于

传输层协议。

UDP(User Datagram protocol)用户数据报协议,它只提供应用进程寻址和简单的差错检测,并不提供其他功能。

TCP(Transmission Control Protocol,传输控制协议)是面向连接的协议,也就是说,在收发数据前,必须和对方建立可靠的连接。一个TCP连接必须要经过三次“对话”才能建立起来,其中的过程非常复杂,只简单的描述下这三次对话的简单过程:主机A向主机B发出连接请求数据包:“我想给你发数据,可以吗?”,这是第一次对话;主机B向主机A发送同意连接和要求同步(同步就是两台主机一个在发送,一个在接收,协调工作)的数据包:“可以,你什么时候发?”,这是第二次对话;主机A再发出一个数据包确认主机B的要求同步:“我现在就发,你接着吧!”,这是第三次对话。三次“对话”的目的是使数据包的发送和接收同步,经过三次“对话”之后,主机A才向主机B正式发送数据。

1.上传数据是怎么和后台服务器交互的;

后台和前端的交互手段是通过网络接口来实现的.上传数据通过http请求上传,iOS9之后是https请求,需要把数据转换成data类型,然后拼接到POST请求体(body)中,通过请求数据一起发送到服务器上。

对于服务器端的返回的格式,一般使用json格式返回。它有优势,传递数据相对小,ios客户端也容易解析。至于服务器端你可以有多种选择,asp.net/" target="_blank">asp.net,java,php均可。

二、两种请求方式的区别:

1、GET请求,请求的数据会附加在URL之后,以?分割URL和传输数据,多个参数用&连接。URL的编码格式采用的是ASCII编码,而不是uniclde,即是说所有的非ASCII字符都要编码之后再传输。

POST请求:POST请求会把请求的数据放置在HTTP请求包的包体中。上面的item=bandsaw就是实际的传输数据。

因此,GET请求的数据会暴露在地址栏中,而POST请求则不会。

2、传输数据的大小

在HTTP规范中,没有对URL的长度和传输的数据大小进行限制。但是在实际开发过程中,对于GET,特定的浏览器和服务器对URL的长度有限制。因此,在使用GET请求时,传输数据会受到URL长度的限制。

对于POST,由于不是URL传值,理论上是不会受限制的,但是实际上各个服务器会规定对POST提交数据大小进行限制,Apache、IIS都有各自的配置。

3、安全性

POST的安全性比GET的高。这里的安全是指真正的安全,而不同于上面GET提到的安全方法中的安全,上面提到的安全仅仅是不修改服务器的数据。比如,在进行登录操作,通过GET请求,用户名和密码都会暴露再URL上,因为登录页面有可能被浏览器缓存以及其他人查看浏览器的历史记录的原因,此时的用户名和密码就很容易被他人拿到了。除此之外,GET请求提交的数据还可能会造成Cross-site request frogery攻击。

9、解释HTTP中Get和Post,它们有什么区别,哪个使用时更加安全?

Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个操作。到这里,大家应该有个大概的了解了,GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。

一、原理区别

1.根据HTTP规范,GET用于信息获取,而且应该是安全的和幂等的。

2.根据HTTP规范,POST表示可能修改变服务器上的资源的请求。

浅谈HTTP中GET、POST用法以及它们的区别

http://blog.csdn.net/redoq/article/details/52807670

HTTP 协议中GET和POST到底有哪些区别

http://blog.csdn.net/wangzhilife/article/details/12440089

post 相比get 有很多优点,为什么现在的HTTP通信中大多数请求还是使用get?

https://www.zhihu.com/question/31640769

浅谈HTTP中Get与Post的区别

http://blog.csdn.net/heise668/article/details/51725228

iOS网络HTTP、TCP、UDP、Socket 知识总结

http://www.cnblogs.com/dongliu/p/5455331.html

******如何处理多个网络请求并发的情况******

http://www.cnblogs.com/yanhuaxuanlan/p/4683557.html

iOS开发系列--并行开发(处理多个网络请求并发的情况)

http://blog.csdn.net/michaelkiven/article/details/49148821

iOS 多个网络请求并行/并发处理

http://blog.csdn.net/dfdfdfdfdfw/article/details/50856336

34. UDP和TCP的区别是什么?

TCP - UDP

1.基于连接与无连接;

2.对系统资源的要求(TCP较多,UDP少);

3.UDP程序结构较简单;

4.流模式与数据报模式 ;

5.TCP保证数据正确性,UDP可能丢包,TCP保证数据顺序,UDP不保证

TCP:面向连接、传输可靠(保证数据正确性,保证数据顺序)、用于传输大量数据(流模式)、速度慢,建立连接需要开销较多(时间,系统资源)。

UDP:面向非连接、传输不可靠、用于传输少量数据(数据包模式)、速度快。

TCP协议与UDP协议的区别

http://www.cnblogs.com/bizhu/archive/2012/05/12/2497493.html

TCP与UDP的区别

http://blog.csdn.net/yipiankongbai/article/details/24435977

TCP面向连接、传输可靠(保证数据正确性,保证数据顺序)、用于传输大量数据(流模式)、速度慢,建立连接需要开销较多(时间,系统资源)。

UDP面向非连接、传输不可靠、用于传输少量数据(数据包模式)、速度快。

35. TCP/IP建立连接的过程?

- 在TCP/IP 协议中,TCP协议提供可靠的连接服务,采用三次握手建立连接;

- 第一次握手:建立连接时,客户端发送连接请求到服务器,并进入SYN_SEND状态,等待服务器确认;

- 第二次握手:服务器收到客户端连接请求,向客户端发送允许连接应答,

此时服务器进入SYN_RECV状态;

- 第三次握手:客户端收到服务器的允许连接应答,向服务器发送确认,客户端和服务器进入通信状态,

完成三次握手。

(所谓的三次握手,就是要有三次连接信息的发送、接收过程。

TCP连的建立需要进行三次连接信息的发送、接收。)

******APP内部下载和离线下载的实现(像迅雷一样可以离线下载)******

内部下载: 1. 创建NSURLSession 并 根据链接创建一个NSURLRequest

2. 开始下载

3. 在代理中接受数据并根据路径写入到文件夹下

使用NSURLSession

http://www.jianshu.com/p/fafc67475c73

开发只懂 AFN ?搞定 NSURLSession 才是硬道理

http://www.jianshu.com/p/b0ddadd34037

iOS网络1——NSURLConnection使用详解

http://www.cnblogs.com/mddblog/p/5134783.html

iOS网络2——NSURLSession使用详解

http://www.cnblogs.com/mddblog/p/5215453.html

iOS网络3—UIWebView与WKWebView使用详解

http://www.cnblogs.com/mddblog/p/5281748.html

iOS网络4——Reachability检测网络状态

http://www.cnblogs.com/mddblog/p/5304346.html

3、使用过哪些网络请求方式?用过哪些第三方框架,有哪些区别?

http协议申明了客户端与服务端交互的方式,即请求方式:

get、post、put、delete

这四种方式可以对网络资源(url描述的内容)进行:查、改、增、删

CLLocationManager实现定位,查询并实时显示周边商户;

常用的是下面两种:

1:get方法:下行/从服务端获得数据

(1)get请求一般只是从服务器获得数据,请求时一般会提交服务器一些请求参数,附加在url上的,参数之间以&分割。

(2)url中英文和数字原样识别,而中文或者一些其他字符需要编码。

(3)get请求提交的数据一般放在http协议的头header中

2:post方法:上传/上传数据改变服务端内容

(1)post请求多用于给服务器提交数据。

(2)post请求提交的数据一般放在http的主体数据包body中

用过的第三发框架有3种,ASIHttpRequest,AFNetWorking,MKNetWork.

三种的区别:ASIHttpRequest比较臃肿,MKNetWork和AFNektwork感觉比较轻量级,本人推荐MKNetWork,比较简单


NSCache缓存类的详解

http://blog.csdn.net/u013087513/article/details/49386707

http://www.jianshu.com/p/47400383dfe0

http://www.jianshu.com/p/5e69e211b161

http://blog.csdn.net/u010165653/article/details/46472487

http://nshipster.cn/nscache/

iOS网络-优化网络请求性能

http://www.jianshu.com/p/3a2fb50961af

http://www.jianshu.com/p/f842286e664d

网络请求和性能优化

http://www.jianshu.com/p/ab75b24a11e2

在网络请求中如何提高性能

在网络请求中如何保证安全性

iOS 在数据传输过程中有数据泄露的可能,客户端在进行网络请求时一般都采用加密的方式来保证数据的安全性,在iOS9以后,苹果为了保护数据的安全性,使用了Https协议。

NS_CLASS_AVAILABLE(NSURLSESSION_AVAILABLE, 7_0)

@interface NSURLSession : NSObject

关于iOS socket都在这里了

http://www.jianshu.com/p/3e4f3de18e3b

Socket使用大全

http://blog.csdn.net/ch_soft/article/details/7369705/

iOS开发网络篇—Socket编程

http://www.cnblogs.com/hissia/p/5687769.html

ios socket第三方框架 AsyncSocket使用简介

http://blog.csdn.net/wlm0813/article/details/51255097

学习使用AsyncSocket 进行iOS socket编程

http://www.jianshu.com/p/eb9505a4e3b8

iOS应用中使用AsyncSocket库处理Socket通信的用法讲解

http://www.jb51.net/article/83941.htm

《ios开发》之CocoaAsyncSocket使用

http://www.jianshu.com/p/321bc95d077f

******socket是什么?******

(1)socket是一套完成tcp,udp协议的接口。

HTTP协议:简单对象访问协议,对应于应用层,HTTP协议是基于TCP连接的

tcp协议: 对应于传输层

ip协议: 对应于网络层

TCP/IP是传输层协议,主要解决数据如何在网络中传输;而HTTP是应用层协议,主要解决如何包装数据。

Socket是对TCP/IP协议的封装,Socket本身并不是协议,而是一个调用接口(API),通过Socket,我们才能使用TCP/IP协议。Socket的出现只是使得程序员更方便地使用TCP/IP协议栈而已,是对TCP/IP协议的抽象,从而形成了我们知道的一些最基本的函数接口。

http连接:http连接就是所谓的短连接,即客户端向服务器端发送一次请求,服务器端响应后连接即会断掉;

socket连接:socket连接就是所谓的长连接,理论上客户端和服务器端一旦建立起连接将不会主动断掉;但是由于各种环境因素可能会是连接断开,比如说:服务器端或客户端主机down了,网络故障,或者两者之间长时间没有数据传输,网络防火墙可能会断开该连接以释放网络资源。

(2)建立Socket连接至少需要一对套接字,套接字简单来说就是通信的两方的一种约定,用套接字中的相关函数来完成通信过程。其中一个运行于客户端,称为ClientSocket ,另一个运行于服务器端,称为ServerSocket 。

套接字之间的连接过程分为三个步骤:服务器监听,客户端请求,连接确认。

1。服务器监听:服务器端套接字并不定位具体的客户端套接字,而是处于等待连接的状态,实时监控网络状态,等待客户端的连接请求。

2。客户端请求:指客户端的套接字提出连接请求,要连接的目标是服务器端的套接字。为此,客户端的套接字必须首先描述它要连接的服务器的套接字,指出服务器端套接字的地址和端口号,然后就向服务器端套接字提出连接请求。3。连接确认:当服务器端套接字监听到或者说接收到客户端套接字的连接请求时,就响应客户端套接字的请求,建立一个新的线程,把服务器端套接字的描述发给客户端,一旦客户端确认了此描述,双方就正式建立连接。而服务器端套接字继续处于监听状态,继续接收其他客户端套接字的连接请求。

******网络通信用过哪些方式(100%的人说了AFNetworking...)如何处理多个网络请求并发的情况******

1)、直接使用socket的方式

2)、AFNetworking

使用多线程中的并发队列去处理网络的并发请求

http与https的区别,https的好处有哪些?

http://www.mahaixiang.cn/internet/1233.html

HTTPS和HTTP的区别是什么?

https://www.wosign.com/faq/faq2016-0301-02.htm

https协议需要到ca申请证书,一般免费证书很少,需要交费。

http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议

http和https使用的是完全不同的连接方式用的端口也不一样,前者是80,后者是443。

http的连接很简单,是无状态的。

HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议、要比http协议安全。

HTTPS对比HTTP可以在很大程度上提供安全的DNS基础设施

HTTPS优缺点、原理解析:我们的网站该不该做HTTPS

http://www.chinaz.com/web/2017/0224/663236.shtml

为什么更安全的 HTTPS 协议没有在互联网上全面采用?

https://www.zhihu.com/question/19580839

https://www.zhihu.com/question/25119364

与HTTP有什么区别?HTTPS的七个误解

http://www.chinaz.com/web/2015/0320/391752.shtml

YYModel:

http://blog.csdn.net/u012946824/article/details/51788527

线程:

http://blog.csdn.net/u013488229/article/details/48165569

http://www.cnblogs.com/apem/p/4340484.html


刨根问底Objective-C Runtime

http://www.cocoachina.com/ios/20141224/10740.html

http://www.cnblogs.com/yswdarren/p/3619303.html


自动化编译打包:

http://www.jianshu.com/p/bd4c22952e01

http://www.cocoachina.com/ios/20160302/15501.html

http://www.jianshu.com/p/1229476fbce4

http://www.cnblogs.com/itlover2013/p/5614195.html  坑

多年iOS开发经验总结

http://www.jianshu.com/p/1ff9e44ccc78

http://www.jianshu.com/p/9fcd37c0ea05

iOS Crash 杀手排名

https://github.com/guoshimeihua/RuntimeDemo

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,084评论 6 503
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,623评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,450评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,322评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,370评论 6 390
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,274评论 1 300
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,126评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,980评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,414评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,599评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,773评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,470评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,080评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,713评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,852评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,865评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,689评论 2 354

推荐阅读更多精彩内容