iOS中URL缓存策略
用于指定要与此请求关联的服务类型,服务类型用于向网络层提供有关目的的提示
的请求
typedef NS_ENUM(NSUInteger, NSURLRequestNetworkServiceType)
{
NSURLNetworkServiceTypeDefault = 0, // 标准的网络流量
NSURLNetworkServiceTypeVoIP = 1, // IP语音控制流量
NSURLNetworkServiceTypeVideo = 2, // 视频流量
NSURLNetworkServiceTypeBackground = 3, // 指定该请求用于后台流量(如文件下载)
NSURLNetworkServiceTypeVoice = 4, // 声音数据
NSURLNetworkServiceTypeResponsiveData = 6, // 指定请求是针对响应性(时间敏感)数据的
NSURLNetworkServiceTypeCallSignaling API_AVAILABLE(macosx(10.12), ios(10.0), watchos(3.0), tvos(10.0)) = 11, // 指定请求用于呼叫信号
};
@property (nullable, readonly, copy) NSURL *mainDocumentURL;
此URL用于cookie“与主文档相同的域”策略。将来可能还有其他用途。
注意:在当前实现中,框架没有使用这个值。该方法的一个完整功能版本将在未来可用。
@property (readonly) BOOL allowsCellularAccess API_AVAILABLE(macos(10.8), ios(6.0), watchos(2.0), tvos(9.0));
是否允许用蜂窝无线流量
@property (nullable, readonly, copy) NSString *HTTPMethod;
发送HTTP请求时请求的方法(例如:GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、CONNECT,最常用的是GET和POST)
@property (nullable, readonly, copy) NSDictionary<NSString *, NSString *> *allHTTPHeaderFields;
HTTP请求的所有HTTP请求头键值对属性
@property (nullable, readonly, copy) NSData *HTTPBody;
请求体数据。此数据作为请求的消息体发送,就像在HTTP POST请求中所做的那样。
@property (nullable, readonly, retain) NSInputStream *HTTPBodyStream;
该流只供检查;调用者以任何方式操纵流都是不安全的。
还要注意HTTPBodyStream和HTTPBody是互斥的——在给定的请求上只能设置一个。
还要注意,主体流是跨副本保存的,但是当通过NSCoding协议编码请求时就会丢失。
@property (readonly) BOOL HTTPShouldHandleCookies;
确定此请求是否会发生默认的cookie处理。
注意:这个值在10.3之前不使用。
@property (readonly) BOOL HTTPShouldUsePipelining API_AVAILABLE(macos(10.7), ios(4.0), watchos(2.0), tvos(9.0));
是否期望接收方在传输之前不等待前面的响应。
涉及相关类(未深度研究的)
NSInputStream