URL Session(一)

NOIP2008年普及组初赛题目答案及解析 NOIP2008年初赛详细题解 阅读详情

一、URL Session的基本概念

1.三种工作模式:

默认会话模式(default):工作模式类似于原来的NSURLConnection,使用的是基于磁盘缓存的持久化策略,使用用户keychain中保存的证书进行认证授权。

瞬时会话模式(ephemeral):该模式不使用磁盘保存任何数据。所有和会话相关的caches,证书,cookies等都被保存在RAM中,因此当程序使会话无效,这些缓存的数据就会被自动清空。

后台会话模式(background):该模式在后台完成上传和下载,在创建Configuration对象的时候需要提供一个NSString类型的ID用于标识完成工作的后台会话。


2.NSURLSession支持的三种任务

NSURLSession类支持三种类型的任务:加载数据,下载和上传。


二、相关的类

NSURLConnection这个名字,实际上指的是一组构成Foundation框架中URL加载系统的相互关联的组件:NSURLRequest,NSURLResponse,NSURLProtocol,NSURLCache,NSHTTPCookieStorage,NSURLCredentialStorage,以及和它同名的NSURLConnection。

在WWDC 2013中,Apple的团队对NSURLConnection进行了重构,并推出了NSURLSession作为替代。

NSURLSession也是一组相互依赖的类,它的大部分组件和NSURLConnection中的组件相同如NSURLRequest,NSURLCache等。而NSURLSession的不同之处在于,它将NSURLConnection替换为NSURLSession和NSURLSessionConfiguration,以及3个NSURLSessionTask的子类:NSURLSessionDataTask, NSURLSessionUploadTask, 和NSURLSessionDownloadTask。


下面来说下NSURLSession新推出的类:

1.NSURLSessionConfiguration类

其中NSURLSessionConfiguration用于配置会话的属性,可以通过该类配置会话的工作模式:

[objc]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. + (NSURLSessionConfiguration *)defaultSessionConfiguration;  
  2. + (NSURLSessionConfiguration *)ephemeralSessionConfiguration;  
  3. + (NSURLSessionConfiguration *)backgroundSessionConfiguration:(NSString *)identifier;  

在backgroundSessionConfiguration:方法中的identifier参数指定了会话的ID,用于标记后台的session。

该类的其中两个属性:

[objc]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. /* allow request to route over cellular. */  
  2. @property BOOL allowsCellularAccess;  
  3.   
  4. /* allows background tasks to be scheduled at the discretion of the system for optimal performance. */  
  5. @property (getter=isDiscretionary) BOOL discretionary NS_AVAILABLE(NA, 7_0);  

allowsCellularAccess 属性指定是否允许使用蜂窝连接, discretionary属性为YES时表示当程序在后台运作时由系统自己选择最佳的网络连接配置,该属性可以节省通过蜂窝连接的带宽。在使用后台传输数据的时候,建议使用discretionary属性,而不是allowsCellularAccess属性,因为它会把WiFi和电源可用性考虑在内。补充:这个标志允许系统为分配任务进行性能优化。这意味着只有当设备有足够电量时,设备才通过Wifi进行数据传输。如果电量低,或者只仅有一个蜂窝连接,传输任务是不会运行的。后台传输总是在discretionary模式下运行。


2.NSURLSession类

获取NSURLSession类对象有几种方式:

[objc]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. /* 
  2.  * The shared session uses the currently set global NSURLCache, 
  3.  * NSHTTPCookieStorage and NSURLCredentialStorage objects. 
  4.  */  
  5. + (NSURLSession *)sharedSession;  
  6.   
  7. /* 
  8.  * Customization of NSURLSession occurs during creation of a new session. 
  9.  * If you only need to use the convenience routines with custom 
  10.  * configuration options it is not necessary to specify a delegate. 
  11.  * If you do specify a delegate, the delegate will be retained until after 
  12.  * the delegate has been sent the URLSession:didBecomeInvalidWithError: message. 
  13.  */  
  14. + (NSURLSession *)sessionWithConfiguration:(NSURLSessionConfiguration *)configuration;  
  15. + (NSURLSession *)sessionWithConfiguration:(NSURLSessionConfiguration *)configuration delegate:(id <NSURLSessionDelegate>)delegate delegateQueue:(NSOperationQueue *)queue;  

第一种方式是使用静态的sharedSession方法,该类使用共享的会话,该会话使用全局的Cache,Cookie和证书。

第二种方式是通过sessionWithConfiguration:方法创建对象,也就是创建对应配置的会话,与NSURLSessionConfiguration合作使用。

第三种方式是通过sessionWithConfiguration:delegate:delegateQueue方法创建对象,二三两种方式可以创建一个新会话并定制其会话类型。该方式中指定了session的委托和委托所处的队列。当不再需要连接时,可以调用Session的invalidateAndCancel直接关闭,或者调用finishTasksAndInvalidate等待当前Task结束后关闭。这时Delegate会收到URLSession:didBecomeInvalidWithError:这个事件。Delegate收到这个事件之后会被解引用。


3.NSURLSessionTask类

NSURLSessionTask是一个抽象子类,它有三个子类:NSURLSessionDataTask,NSURLSessionUploadTask和NSURLSessionDownloadTask。这三个类封装了现代应用程序的三个基本网络任务:获取数据,比如JSON或XML,以及上传和下载文件。

下面是其继承关系:


有多种方法创建对应的任务对象:

(1)NSURLSessionDataTask

通过request对象或url创建:

[objc]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. /* Creates a data task with the given request.  The request may have a body stream. */  
  2. - (NSURLSessionDataTask *)dataTaskWithRequest:(NSURLRequest *)request;  
  3.   
  4. /* Creates a data task to retrieve the contents of the given URL. */  
  5. - (NSURLSessionDataTask *)dataTaskWithURL:(NSURL *)url;  

通过request对象或url创建,同时指定任务完成后通过completionHandler指定回调的代码块:

[objc]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. /* 
  2.  * data task convenience methods.  These methods create tasks that 
  3.  * bypass the normal delegate calls for response and data delivery, 
  4.  * and provide a simple cancelable asynchronous interface to receiving 
  5.  * data.  Errors will be returned in the NSURLErrorDomain,  
  6.  * see <Foundation/NSURLError.h>.  The delegate, if any, will still be 
  7.  * called for authentication challenges. 
  8.  */  
  9. - (NSURLSessionDataTask *)dataTaskWithRequest:(NSURLRequest *)request completionHandler:(void (^)(NSData *data, NSURLResponse *response, NSError *error))completionHandler;  
  10. - (NSURLSessionDataTask *)dataTaskWithURL:(NSURL *)url completionHandler:(void (^)(NSData *data, NSURLResponse *response, NSError *error))completionHandler;  

(2) NSURLSessionUploadTask

通过request创建,在上传时指定文件源或数据源。

[objc]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. /* Creates an upload task with the given request.  The body of the request will be created from the file referenced by fileURL */  
  2. - (NSURLSessionUploadTask *)uploadTaskWithRequest:(NSURLRequest *)request fromFile:(NSURL *)fileURL;  
  3.   
  4. /* Creates an upload task with the given request.  The body of the request is provided from the bodyData. */  
  5. - (NSURLSessionUploadTask *)uploadTaskWithRequest:(NSURLRequest *)request fromData:(NSData *)bodyData;  
  6.   
  7. /* Creates an upload task with the given request.  The previously set body stream of the request (if any) is ignored and the URLSession:task:needNewBodyStream: delegate will be called when the body payload is required. */  
  8. - (NSURLSessionUploadTask *)uploadTaskWithStreamedRequest:(NSURLRequest *)request;  

在创建upload task对象时,通过completionHandler指定任务完成后的回调代码块:

[objc]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. /* 
  2.  * upload convenience method. 
  3.  */  
  4. - (NSURLSessionUploadTask *)uploadTaskWithRequest:(NSURLRequest *)request fromFile:(NSURL *)fileURL completionHandler:(void (^)(NSData *data, NSURLResponse *response, NSError *error))completionHandler;  
  5. - (NSURLSessionUploadTask *)uploadTaskWithRequest:(NSURLRequest *)request fromData:(NSData *)bodyData completionHandler:(void (^)(NSData *data, NSURLResponse *response, NSError *error))completionHandler;  


(3)NSURLSessionDownloadTask

[objc]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. /* Creates a download task with the given request. */  
  2. - (NSURLSessionDownloadTask *)downloadTaskWithRequest:(NSURLRequest *)request;  
  3.   
  4. /* Creates a download task to download the contents of the given URL. */  
  5. - (NSURLSessionDownloadTask *)downloadTaskWithURL:(NSURL *)url;  
  6.   
  7. /* Creates a download task with the resume data.  If the download cannot be successfully resumed, URLSession:task:didCompleteWithError: will be called. */  
  8. - (NSURLSessionDownloadTask *)downloadTaskWithResumeData:(NSData *)resumeData;  

下载任务支持断点续传,第三种方式是通过之前已经下载的数据来创建下载任务。
同样地可以通过completionHandler指定任务完成后的回调代码块:

[objc]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. /* 
  2.  * download task convenience methods.  When a download successfully 
  3.  * completes, the NSURL will point to a file that must be read or 
  4.  * copied during the invocation of the completion routine.  The file 
  5.  * will be removed automatically. 
  6.  */  
  7. - (NSURLSessionDownloadTask *)downloadTaskWithRequest:(NSURLRequest *)request completionHandler:(void (^)(NSURL *location, NSURLResponse *response, NSError *error))completionHandler;  
  8. - (NSURLSessionDownloadTask *)downloadTaskWithURL:(NSURL *)url completionHandler:(void (^)(NSURL *location, NSURLResponse *response, NSError *error))completionHandler;  
  9. - (NSURLSessionDownloadTask *)downloadTaskWithResumeData:(NSData *)resumeData completionHandler:(void (^)(NSURL *location, NSURLResponse *response, NSError *error))completionHandler;  


4.NSURLSessionDelegate和NSURLSessionTaskDelegate协议

在协议的方法中可以完成各种各样的回调动作,如身份验证、完成任务后的动作、错误处理和后台任务完成的动作等。委托方法指定在NSURLSession中一定数量的字节传输使用int64_t类型的参数。

这里只说下后台任务的一个委托方法:

[objc]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. /* If an application has received an 
  2.  * -application:handleEventsForBackgroundURLSession:completionHandler: 
  3.  * message, the session delegate will receive this message to indicate 
  4.  * that all messages previously enqueued for this session have been 
  5.  * delivered.  At this time it is safe to invoke the previously stored 
  6.  * completion handler, or to begin any internal updates that will 
  7.  * result in invoking the completion handler. 
  8.  */  
  9. - (void)URLSessionDidFinishEventsForBackgroundURLSession:(NSURLSession *)session NS_AVAILABLE_IOS(7_0);  

合作使用的ApplicationDelegate方法:

[objc]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. // Applications using an NSURLSession with a background configuration may be launched or resumed in the background in order to handle the  
  2. // completion of tasks in that session, or to handle authentication. This method will be called with the identifier of the session needing  
  3. // attention. Once a session has been created from a configuration object with that identifier, the session's delegate will begin receiving  
  4. // callbacks. If such a session has already been created (if the app is being resumed, for instance), then the delegate will start receiving  
  5. // callbacks without any action by the application. You should call the completionHandler as soon as you're finished handling the callbacks.  
  6. - (void)application:(UIApplication *)application handleEventsForBackgroundURLSession:(NSString *)identifier completionHandler:(void (^)())completionHandler NS_AVAILABLE_IOS(7_0);  

将任务切换到后台之后,Session的Delegate不会再收到和Task相关的消息。当所有Task全都完成后,程序将被唤醒,并调用ApplicationDelegate的application:handleEventsForBackgroundURLSession:completionHandler:回调,在这里要为后台session(由background session的identifier标识)指定对应的回调代码块。

随后,对于每一个完成的后台Task调用该Session的Delegate中的URLSession:downloadTask:didFinishDownloadingToURL:(成功的话)和URLSession:task:didCompleteWithError:(成功或者失败都会调用)方法做处理,以上的回调代码块可以在这里调用。

顶
5
【第13话:感知算法】库位与可行驶区域检测:自主泊车场景中的检测及语义分割方法 本文提出了一种自动泊车系统中的泊车库位线检测方法,通过逆透视映射(IPM)将车辆摄像头图像转换为鸟瞰视图,消除透视变形。该方法结合目标检测和语义分割模型,先定位库位线候选区域,再生成像素级精确掩码。后处理步骤将掩码转换为结构化输出,包括停车位边界多边形和可行驶区域掩码。整个流程采用深度学习模型和计算机视觉技术,可实现高精度的泊车环境感知,为自动泊车系统提供可靠支持。 阅读详情

相关推荐

LLM推理服务中的SLO感知调度优化实践

在AI服务架构中,服务级别目标(SLO)是衡量服务质量的核心指标,特别是在大型语言模型(LLM)推理场景下。SLO通常涉及TTFT(首token时间)、TPOT(每token生成时间)和端到端延迟等关键维度,这些指标直接影响用户体验和系统效率。传统FCFS调度策略由于缺乏SLO感知能力,在混合负载下往往导致资源利用率低下和SLO达标率骤降。通过引入基于模拟退火的动态调度算法和精准的延迟预测模型,可以实现对不同优先级请求的智能调度,显著提升GPU利用率和SLO达标率。这种技术方案特别适用于需要同时处理实时对话

weixin_42549154的博客 369

NSURLSession学习笔记(一)简介

一、URL Session的基本概念 1.三种工作模式: 默认会话模式(default):工作模式类似于原来的NSURLConnection,使用的是基于磁盘缓存的持久化策略,使用用户keychain中保存的证书进行认证授权。 瞬时会话模式(ephemeral):该模式不使用磁盘保存任何数据。所有和会话相关的caches,证书,cookies等都被保存在RAM中,因此当程序使会话

majiakun1的专栏 3万+

从封装到先进封装:一文讲透Chiplet、2.5D/3D堆叠与系统集成

封装是芯片产业链中连接硅片与电路板的桥梁,承担物理保护、电气连接、散热与机械支撑等核心任务。传统封装从DIP、QFP发展到BGA,通过提升引脚密度满足早期性能需求。随着摩尔定律放缓,单纯缩小晶体管尺寸难以为继,先进封装应运而生,其核心理念从“封装单颗芯片”转向“系统级高密度集成”。扇出型封装、2.5D硅中介层、3D堆叠、Chiplet和系统级封装等技术,通过微米级互连和垂直堆叠,大幅提升I/O密度与带宽,成为AI芯片、HBM存储、高性能计算等领域的关键支撑。本文梳理先进封装的技术演进、分层架构与工程难点,帮

weixin_29185167的博客 366

URL Session的使用

URL Session相关类URL加载获取URL的Data数据(存储在内存)这里有两种基本的方式获取URL的Data数据。• 对于简单的请求,直接使用NSURLSession直接获取NSURL的数据或者直接使用NSData获取URL数据。• 对于复杂的请求,使用NSURLSession和NSURLRequest或者NSMutableURLRequest。获取响应数据。• 提供completion ...

u012182853的博客 4912

VSAN 虚拟机丢失排查与恢复完整方案

VSAN虚拟机(含vCenter)显示无效 检查存储状态:登录ESXi Host Client,确认VSAN存储是否挂载。 若未挂载,通过SSH执行 手动挂载。 验证文件存在:检查虚拟机文件是否完整。 解除文件锁定:删除残留的 .lck 文件 手动注册虚拟机:强制注册虚拟机配置文件。 检查VSAN健康:验证集群节点在线、磁盘组状态正常,并测试节点间网络。 修复元数据:针对损坏对象,谨慎执行修复。 终极恢复:若数据丢失,从备份还原或联系VMware支持,提交日志

sido777的博客 2679

VS2010“未能正确加载包”问题解决方法小汇

本文按照由简至繁的顺序详述了借助网络获知的四种解法,主要面向重装 VS2010 后遭遇题述问题的网友,相关包尤指 VSTS、RadLangSvc、Language、Bootstrap 及 MicrosoftDataEntityDesign。

虚有其表的博客 1万+

iOS中URLSeesion的使用

基本步骤写过ios网络请求的都知道,URLSession就是关于用于发送网络请求,其基本原理就是通过创建task使用task来实现请求。步骤大致如下所示:(1)创建一个URLSession对象(2)使用URLSession建立一个task实例(3)启动task实例(resume方法)

hthutao的博客 1310

【ROS】Nav2源码之nav2_collision_monitor(碰撞监测)详解

nav2_collision_monitor碰撞监视器是一个节点,为机器人提供了一个额外的安全级别。它使用来自传感器的数据,执行若干与避免碰撞相关的任务,绕过成本图和轨迹规划器,监测是否需要紧急停止或者减速。

郭老二 1455

NSURLSession最全攻略

本文字数:11276字预计阅读时间:32分钟NSURLSessionNSURLSession在iOS7中推出,NSURLSession的推出旨在替换之前的NSURLConnection...

SOHU_TECH的博客 1346

YOLOv8 架构改造实战:添加 P2 小目标检测头与 P6 超大目标检测头

上采样是指将特征图的空间尺寸变大(例如从 20×20 → 80×80),用来提升图像的分辨率。常见于解码器结构或特征融合中。下采样是指将特征图的空间尺寸缩小(例如从 256×256 → 128×128),通常用于减少计算量、提取更高级语义特征。操作目的方法尺寸变化上采样放大特征图插值算法变大(如2×)下采样压缩特征图、提取语义stride卷积等变小(如1/2)

FJN110的博客 575

最详细的 SAP ABAP Web Service 创建和消费步骤讲解

本文原版发表于 SAP 官方社区,当时用的英文版写作,标题为:Step by step to create, consume and trace web service in ABAP system https://blogs.sap.com/2014/05/20/step-by-step-to-create-consume-and-trace-web-service-in-abap-system/ 总共阅读量超过 18 万。 How to create web service provider in A

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 3150

NSURLSession 详解

NSURLSession NSURLSession在iOS7中推出,NSURLSession的推出旨在替换之前的NSURLConnection,NSURLSession的使用相对于之前的NSURLConnection更简单,而且不用处理Runloop相关的东西。 2015年RFC 7540标准发布了http 2.0版本,http 2.0版本中包含很多新的特性,在传输速度上也有很明显的提升。NSURLSession从iOS9.0开始,对http 2.0提供了支持。 NSURLSession由三部分构成:

张梦磊 2942

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

java url重写 session_servlet session管理的四种方式--一 url重写

servlet对于多页面共享信息提供四种方式。1.url重写的方式在下面的例子中,每一次请求都通过doGet方法进行“分流”。如果在网址中含有参数city且不为空,就调用showAttribute()方法下所包含的servlet页面,如果没有该参数或该参数对应值为空,则调用mainPage()方法下的页面。if (request.getParameter("city") != null){.......

weixin_39855796的博客 234

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

servlet session管理的四种方式--一 url重写

servlet对于多页面共享信息提供四种方式。 1.url重写的方式 在下面的例子中,每一次请求都通过doGet方法进行“分流”。 如果在网址中含有参数city且不为空,就调用showAttribute()方法下所包含的servlet页面,如果没有该参数或该参数对应值为空,则调用mainPage()方法下的页面。 if (request.getParameter("ci...

weixin_30751947的博客 200

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

基于网站地址URL传输session信息

在php的学习中,会话是我们常常用到的,那今天我们就来详细讲讲会话中的session; 一、session的工作机制: 当开启session后,服务器会在服务器中保存session文件,然后再浏览器保存session的id号,用于获取对应的session信息; 二、下面是文章的重点:基于URL传输session 如果按照基本的session方法传输session,那么会用到用户浏览

王业楼的个人博客 1389

应用程序状态管理①隐藏表单字段②cookie③session④URL重写

应用程序状态管理:服务器连接时无状态的,每次发送的请求对于服务器都是新的,而不知道两次是否是同一人发送的,为了解决应用程序状态,有4个常用方法:表单隐藏字段:动态生成的才有效cookie:记录在浏览器端,键值对,可见,不安全session:记录在服务器端,也是键值对,服务器维护需要大量资源,可以设定有效时限URL重写:在用户禁用cookie时,发送地址包含有会话ID Cookie是web服务器发...

weixin_30399797的博客 143

java session url重写_URL重写机制 | 学步园

在一些需要Session机制支持的应用中,如果浏览器禁止了Cookie,那么应用如何才能保证在没有Cookie支持的情况下仍然可以使用呢?浏览器一旦禁止Cookie,Servlet容器就无法向客户端存放表示SessionID的Cookie,在客户端的HTTP请求中也就不会包含表示SessionID的Cookie,Servlet容器因此就不能跟踪会话,因此每次当客户请求访问支持会话的JSP页面时,S...

weixin_36358383的博客 403

php 禁用cookie,还能使用session,url重写

php 禁用cookie,还能使用session,url重写

hua950327的博客 1444

php url传递session,php通过session防url攻击方法

本文实例讲述了php通过session防url攻击方法。分享给大家供大家参考。具体实现方法如下:通过session跟踪,可以很方便地避免url攻击的发生,php采用session防url攻击方法代码如下:session_start();$clean = array();$email_pattern = ‘/^[[emailprotected]]+@([-a-z0-9]+.)+[a-z]{2,}$...

weixin_29002209的博客 137

php url获取内容丢失,解决PHP获取上一页的URL地址时丢失session

很多系统中都应用了session保存客户的信息,在操作每个页面的时候都对客户的状态进行判断,如果不存在session的值,就跳转到登入页面.问题出现了:如果客户重新登入后能跳转到上一个正在编辑的页面那就最好了.上网搜集了一些资料发现一般都是在URL后面带上上一页面的地址,然后在跳转回去.思路是一样的,在当前页面获取上一页的url然后保存在session中,如果从session中能取到赋值,就跳转到...

weixin_31001069的博客 335

php设置session通过url发送,使用URL传输SESSION信息_php技巧

在php的学习中,会话是我们常常用到的,那今天我们就来详细讲讲会话中的session;一、session的工作机制:当开启session后,服务器会在服务器中保存session文件,然后再浏览器保存session的id号,用于获取对应的session信息;二、下面是文章的重点:基于URL传输session如果按照基本的session方法传输session,那么会用到用户浏览器中的cookie,一旦...

weixin_36034883的博客 276

客户端禁用cookie后session的解决方法

如果禁用cookie理论上来讲, 会影响session: session基于cookie实现, session的SESSID利用cookie保存. 但是如果禁用了cookie之后, session就不能用了. 如果有用户恶意(选择)禁用cookie: 可以理解为用户不愿意使用我们的网站. 如果非要实现: 可以通过a链接实现 一、手动a链接: 用户自己给a链接的href session_na...

weixin_30376323的博客 392

【javaweb】Session原理以及浏览器禁止Cookie之后服务器如何获取Session

在web应用中打开浏览器访问一个网站,登录,浏览,到关闭浏览器,称为是一个会话。由于Http协议是无状态的,因此用户在动态页面交互信息需要一些能够保存用户信息的数据结构。这个保存用户浏览数据的数据结构有两种,一种是Cookie,保存在客户端;一种是Session,保存在服务器端。Session可以在浏览器最后一次访问之后保存30分钟,当然这个值也是可以在web.xml文件中配置的,Session的

流动的城市的博客 7053

iframe中的session失效问题情况描述和解决

  环境描述:A平台(域名:www.aaa.com),B平台(zengzhi.bbb.net)。A平台的一个页面a.jsp嵌套B平台的一个页面b.jsp(A使用iframe),在b.jsp上引用了B平台另外一个image.jsp,image.jsp生成一个随机验证码,存入session,生成一个图片,显示在b.jsp上。提交b.jsp,到B平台的Baction.do,发现在Bact

橙语AI的专栏 1万+

cookie,session,locastorage等总结之session篇

上一篇,点击看这 总结了cookie相关的知识点,刷新了我对cookie的认知,这篇,继续总结session的相关知识。 1.session机制 1.1 什么是Session Session是另一种记录客户状态的机制,不同的是Cookie保存在客户端浏览器中,而Session保存在服务器上。客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上。这就是Session。客户端浏

konglei1996的博客 626

WAP Session

 14 楼look_(随便看看)回复于 2006-01-16 15:00:21 得分 10自己重写session:       1。用户第一次进入系统,从session中取出session   ID   :String   sessionID=session.getID();     2。在以后的跳转页面的url带上session   ID   ,这样sesison就不会丢失:   "/wap

星之空 2432
上一篇: iOS给文件重命名
下一篇: NSURLSession(二)
xiaoliu_iOS
博客等级 码龄11年 4粉丝 45原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值