美文网首页
网络缓存分析

网络缓存分析

作者: 简_爱SimpleLove | 来源:发表于2018-08-21 14:08 被阅读7次

特殊字符的转译

    NSString *url = @"http://www.baidu.com/test=1=+&===中文==";
    NSString *urlOne = [url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    
    static NSString * const kAFCharactersGeneralDelimitersToEncode = @":#[]@"; // does not include "?" or "/" due to RFC 3986 - Section 3.4
    static NSString * const kAFCharactersSubDelimitersToEncode = @"!$&'()*+,;=";
    NSMutableCharacterSet * allowedCharacterSet = [[NSCharacterSet URLQueryAllowedCharacterSet] mutableCopy];
    [allowedCharacterSet removeCharactersInString:[kAFCharactersGeneralDelimitersToEncode stringByAppendingString:kAFCharactersSubDelimitersToEncode]];
    NSString *urlT = [url stringByAddingPercentEncodingWithAllowedCharacters:allowedCharacterSet];

针对于特殊字符,urlOne只能将中文进行转码,如果需要将其他特殊字符也进行转码,就必须要用urlT这样的方法

 根据RFC 3986的规定:URL百分比编码的保留字段分为:
 1.   :  #  [  ]  @  ?  /
 2.   !  $  &  '  (  )  *  +  ,  ; =
 ?和/在query表中允许不被转译,  :#[]@和!$&'()*+,;= 都要被转译,
 也就是在URLQueryAllowedCharacterSet中删除这些字符

下载的缓存数据一般在当程序进入后台的时候,才进行删除,一般的本地会存储一周

相关文章

  • 网络缓存分析

    特殊字符的转译 针对于特殊字符,urlOne只能将中文进行转码,如果需要将其他特殊字符也进行转码,就必须要用url...

  • 视频客户端离线缓存功能

    只是分析了缓存相关的功能 涉及应用:爱奇艺、优酷、搜狐视频、腾讯视频 内容 缓存选择 缓存状态 下载管理 网络切换...

  • iOS 网络缓存机制分析

    iOS 网络请求缓存机制分析 在移动互联网时代,有大量的静态资源需要在移动客户端进行展示,这些静态资源占据了客户端...

  • iOS 网络请求缓存机制分析

    在移动互联网时代,有大量的静态资源需要在移动客户端进行展示,这些静态资源占据了客户端的主要网络流量。iOS系统针对...

  • Android cache缓存

    Android 缓存机制 LruCache缓存机制分析

  • 分享一些好的GitHub开源库

    网络请求和本地缓存-HttpRequest 备注: 使用YYCache缓存数据 网络请求和本地缓存.png SDK...

  • 图片加载库分析之Glide解析(二)

    继上篇说到Glide的缓存流程后,接下来分析下Gilde是如何从网络下载图片并做优化的由于在上文中从硬盘缓存中已经...

  • iOS 网络缓存

    常见的网络数据缓存方式 GET网络请求缓存 概述 首先要知道,POST请求不能被缓存,只有 GET 请求能被缓存。...

  • KingFisher 开篇

    缓存 : 内存缓存、磁盘缓存网络层 : download dataUI : placehold, 转场动画, 指示...

  • Android网络框架源码分析二---Retrofit

    前面分析了Volley的代码,读者可能已经发现了基本上就是分析几个任务队列的处理逻辑和工作线程(网络工作线程和缓存...

网友评论

      本文标题:网络缓存分析

      本文链接:https://www.haomeiwen.com/subject/gopmcxtx.html