swift开发网络篇 - 网络基础
GET & POST
- GET
- GET的语义是获取指定URL的资源
- 将数据按照variable=value的形式,添加到action所指向的URL后面,并且两者使用"?"连接,各变量之间使用"&"连接
- 貌似不安全,因为在传输过程中,数据被放在请求的URL中
- 传输的数据量小,这主要是因为受URL长度限制
- 示例:http://localhost//login.php?username=zhangsan&password=zhang
- 本地主机 资源名称 变量名password,变量数值zhang
语义:从本地主机的login.PHP资源获取(操作)指定用户名和密码的登录情况
- POST
- POST的语义是向指定URL的资源添加数据
- 将数据放在数据体中,按照变量和值相对应的方式,传递到action所指向URL
- 所有数据对用户来说不可见
- 可以传输大量数据,上传文件只能使用Post
- 示例: http://localhost/login.php
- 本地主机 资源名称
语义:向本地主机的login.php资源添加用户名和密码,并获得登录情况
提示:用户名和密码包装在网络请求的数据体中,在URL中不可见
在浏览器中判断GET&POST请求
- 因为POST请求会向服务器发送数据体,因此在刷新页面时会出现提示窗口
- 而GET请求不会向服务器发送数据体,因此没有提示
- 从请求的本质而言,GET请求要比POST请求更安全,效率也会更高
利用Firebug轻松查看Post请求的内容
iOS网络发送网络请求的步骤
- 实例化URL(网络资源)
- 根据URL建立URLRequest(网络请求)
- 默认为GET请求
- 对于POST请求,需要创建请求的数据体
- 利用URLConnection发送网络请求(建立连接)
- 获得结果
- NSURLConnection提供了两个静态方法可以直接以同步或异步的方式向服务器发送网络请求
- 同步请求:sendSynchronousRequest:returningResponse:error:
- 异步请求:sendAsynchronousRequest:queue: completionHandler:
网络传输之二进制数据流
- 在网络请求过程中,接收数据的过程实际上是通过NSURLConnectionDataDelegate来实现的,常用代理方法包括:
- 服务器开始返回数据,准备工作
- (void)connection:didReceiveResponse:
- 收到服务器返回的数据,本方法会被调用多次
- (void)connection:didReceiveData:
- 数据接收完毕,做数据的最后处理
- (void)connectionDidFinishLoading:
- 网络连接错误
- (void)connection:didFailWithError:
使用代理实现关联性较强的业务逻辑时
在今后的开发中,如果使用简单的get/head请求,可以使用NSURLConnction异步方法
get 查/post 增/put 改/delete 删/ head
数据加密——MD5
- Message Digest Algorithm MD5(中文名为消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。该算法的文件号为RFC 1321
- MD5用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现
- MD5的典型应用是对一段字节串产生指纹,以防止被“篡改”。例如,可以对一个readme.txt生成一个MD5的值并记录在案,如果其他人修改了文件中的任何内容,对该文件重新计算的MD5值会发生变化
- MD5还广泛用于操作系统的登录认证上,如Unix、各类BSD系统登录密码、数字签名等诸多方面
- 不可逆
- 同样的数据加密结果是一样的?密码上的一个忌讳
- 加点”盐”私钥
- http://www.cmd5.com
swift开发网络篇 - 网络基础的更多相关文章
- swift开发多线程篇 - 多线程基础
swift开发多线程篇 - 多线程基础 iOS 的三种多线程技术 (1)NSThread 使用NSThread对象建立一个线程非常方便 但是!要使用NSThread管理多个线程非常困难,不推荐使用 ...
- iOS开发网络篇—网络编程基础
iOS开发网络篇—网络编程基础 一.为什么要学习网络编程 1.简单说明 在移动互联网时代,移动应用的特征有: (1)几乎所有应用都需要用到网络,比如QQ.微博.网易新闻.优酷.百度地图 (2)只有通过 ...
- iOS开发网络篇—网络请求(HTTP协议)小结
iOS开发网络篇—网络请求(HTTP协议)小结 iOS开发网络篇—网络请求(HTTP协议)小结 1. 聊一下HTTP协议(协议的完整的通信过程) 2.通信过程 1> 请求 * 客户端 --> ...
- iOS开发UI篇—Button基础
iOS开发UI篇—Button基础 一.简单说明 一般情况下,点击某个控件后,会做出相应反应的都是按钮 按钮的功能比较多,既能显示文字,又能显示图片,还能随时调整内部图片和文字的位置 二.按钮的三种状 ...
- iOS开发网络篇—网络编程基础(一)
一.为什么要学习网络编程 1.简单说明 在移动互联网时代,移动应用的特征有: (1)几乎所有应用都需要用到网络,比如QQ.微博.网易新闻.优酷.百度地图 (2)只有通过网络跟外界进行数据交互.数据更新 ...
- ESP8266开发之旅 网络篇⑥ ESP8266WiFiGeneric——基础库
1. 前言 在前面的博文中,博主介绍到ESP8266WiFi库是包含了很多功能的一个超级库.ESP8266WiFi库不仅仅局限于 ESP8266WiFi.h 和 ESP8266WiFi.cpp ...
- iOS开发网络篇—网络编程基础(二)
下面叙述的是关于几个必须要知道的iOS网络编程入门级别的要点: 1.客户端如何找到连接的服务器 客户端通过URL找到想要连接的服务器 2.什么是URL URL的全称是Un ...
- python 网络篇(计算机网络基础)
计算机网络的发展及基础网络概念 广播 主机之间“一对所有”的通讯模式,网络对其中每一台主机发出的信号都进行无 ...
- iOS开发网络篇—网络请求(HTTP协议)小结(转)
1. 聊一下HTTP协议(协议的完整的通信过程) 2.通信过程 1> 请求 * 客户端 --> 服务器 * 请求的内容 a. 请求行(请求方法\HTTP协议\请求资源路径) b. 请求头( ...
随机推荐
- 将BT下载对抗到底
将BT下载对抗到底 随着互联网业务的多元化,各种P2P应用也越来越多,在企业中多数流量都会被类似于BT的下载所占用,BT之所以会危害到局域网,是因为它占用了大量网络带宽.网络管理员可以通过一 ...
- SpringMVC-@RequestMapping的参数和用法
RequestMapping里面的注解包含的参数如图: RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上.用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径. ...
- C/C++(语句,数组)
C语言语句: 两大选择,三大循环,四大跳转 两大跳转:if,switch 三大循环:for,while,do-while 四大跳转:break,continue,goto,return do-whil ...
- Highcharts使用的一些总结
Highcharts 是一个用纯 JavaScript 编写的一个图表库, 能够很简单便捷的在 Web 网站或是 Web 应用程序添加有交互性的图表,并且免费提供给个人学习.个人网站和非商业用途使用. ...
- cmd 批处理制作
新建个记事本abc.txt,把下面的内容复制到记事本d:cd d:\a\b\cdir d:\a\b\ccmd复制完成后并保存,把文件的后缀名.txt改为.bat变成一个批处理即abc.bat
- ABAP调用外部WebService
TCode:se80 选择 Package,输入我们自己的开发包,后回车 右击 开发包名称,选择菜单 出现创建向导窗体 选择"Service Consumer",点击 继续 选择& ...
- 正确理解Widget::Widget(QWidget *parent) :QWidget(parent)这句话(初始化列表中无法直接初始化基类的数据成员,所以你需要在列表中指定基类的构造函数)
最近有点忙,先发一篇我公众号的文章,以下是原文. /********原文********/ 最近很多学习Qt的小伙伴在我的微信公众号私信我,该如何理解下面段代码的第二行QWidget(parent) ...
- BZOJ3674可持久化并查集(模板)
没什么可说的,就是一个可持久化线段树维护一个数组fa以及deep按秩合并好了 注意一下强制在线 蒟蒻的我搞了好长时间QAQ 贴代码: #include<cstdio> #include&l ...
- LAN8720A网络模块的使用问题
一.LAN8720A模块驱动电路 最近在调试STM32F4驱动LAN8720A网络模块,在做方案前参考是正点原子的LAN8720A的驱动电路方案,但是从网上买回来的LAN8720A模块用正点原子的例程 ...
- 强连通分量分解 Kosaraju算法 (poj 2186 Popular Cows)
poj 2186 Popular Cows 题意: 有N头牛, 给出M对关系, 如(1,2)代表1欢迎2, 关系是单向的且能够传递, 即1欢迎2不代表2欢迎1, 可是假设2也欢迎3那么1也欢迎3. 求 ...