今天在看HTTP协议,看到了response头中的cache-control,于是就深入的研究了一下.发现了iOS中一个一直被我忽略的类——NSURLCache类. NSURLCache NSURLCache用于缓存网络请求,也就是NSURLRequest,然后根据我们设置的NSURLCache策略进行相应的缓存. 首先介绍一下各种策略 策略 意义 UseProtocolCachePolicy  默认行为  ReloadIgnoringLocalCacheData  不使用缓存  ReloadI…
ifconfig #查看所有已激活的网卡信息 临时配置 #yum install net-tools -y 默认ifconfig是没有安装的,可能需要安装 ifconfig eth0 #查看单独一块网卡的信息 ifconfig eth0 ip/ 永久配置 /etc/sysconfig/network-scripts/ifcfg-网卡名 systemctl restart network # /etc/resolv.conf #外部dns /etc/hosts #本地解析 route 软件包管理…
本文目录 一种缓存优化方案 响应头'Last-Modified'和请求头'If-Modified-Since' 'Keep-Alive'响应头和不离线的URLSession 'Expires'响应头 这篇文章的意义 正文开始 首先要说一件重要的事: NSCache和NSURLCache一点关系也没有 NSCache和NSURLCache一点关系也没有 NSCache和NSURLCache一点关系也没有 然后我推荐大家阅读一下这两篇文章: 南峰子Foundation:NSCache matttNS…
基本上所有的APP都会涉及网络这块,不管是用AFNetWorking还是自己写的http请求,整个网络框架的搭建很重要. 楼主封装的网络请求类,包括自己写的http请求和AFNetWorking的请求,代码简单,主要是框架搭建.简单来说,就是一个请求类,一个解析类,还有若干数据类. 以下代码以公开的天气查询api为例: 1.网络请求类 我把常用的网络请求方法都封装好了,你只需要写自己的接口,传递apiName,params等参数就可以. #pragma mark ios请求方式 //ios自带的…
有时候.对同一个URL请求多次.返回的数据可能一样的: 比方server上的某张图片.不管下载多少次,返回的数据都是一样的.可是这些情况会造成下面问题: 1,用户流量的浪费. 2.程序响应速度不够快 为了提高程序的响应速度,能够考虑使用缓存(内存缓存\硬盘缓存) 硬盘缓存也是沙盒缓存: 第一次请求数据: 1,client优先会去内存缓存中检測有无缓存: 2,然后再去硬盘缓存中检測有无缓存. 3,再去server请求数据: 当server返回数据时.须要做下面步骤 1,使用server的数据(比方…
HTTP协议的概念 HTTP协议,Hyper Text Transfer Protocol (超文本传输协议)是用于从万维网服务器传送超文本到本地浏览器的传输协议,HTTP是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型 了解C/S模式 Client(客户端)和Server(服务器)常常分别处在相距很远的两台计算机上,Client程序的任务是将用户的要求提交给Server程序,再将Server程序返回的结果以特定的形式显示给用户:Server程序的任务是接受客户程序提出的服务请求…
众所周知,苹果搞的一套框架NSContention发送请求与接收请求的方式十分繁琐.操作起来很不方便.不仅要做区分各种请求设置各种不同的参数,而且还要经常在多线程里操作,同时还要对请求与返回的数据做各种序列化的操作,同时还要考虑请求数据的安全等一堆问题. 转载请注明出处:http://blog.csdn.net/xn4545945  一.早前的几个网络框架 1.ASI框架: HTTP终结者.很牛, 但是有BUG, 已经停止更新. 2.MKNetworkKit (印度人写的). 3.AFN一直还在…
关系数组 array("key"=>"value",...) ; get没有数据大小的限制 post上传大小没有限制 不指定上传方式,默认是get 文件上传 需要在html中 form属性中添加 enctype = "multipart/form-data" <!-- 上传文件必须设置 enctype ='multipart/form-data' --> <form action="text01.php"…
一.背景 进行Android项目开发时,跟网络代理基本上天天都在打交道.通常情况下,至少有三个场景中经常用到网络代理: 1,经常通过Chrome访问Google等国外的技术网站,如通过SS工具等: 2,AS(Android Studio)中需要下载国外的aar或jar包等资源: 3,手机抓包时,电脑上开启Charles等抓包软件,手机网络连接电脑抓包软件对应的代理. 无论是使用SS,还是通过AS拉取资源,以及Charles抓包等,有时候我们都会遇到一些“莫名其妙”的网络问题.解决问题时,有时候可…
序言 网络连接状态检测对于我们的iOS app开发来说是一个非常通用的需求.为了更好的用户体验,我们会在无网络时展现本地或者缓存的内容,并对用户进行合适的提示.对绝大部分iOS开发者来说,从苹果示例代码改变而来的各种Reachablity框架是实现这个需求的普遍选择,比如这个库.但事实上,基于此方案的所有实现,都无法帮助我们检测真正的网络连接状态,它们能检测的只是本地连接状态:这种情况包括但不限于如下场景: 1.现在很流行的公用wifi,需要网页鉴权,鉴权之前无法上网,但本地连接已经建立: 2.…