init(url: URL)
init(url: URL, cachePolicy : NSURLRequest.CachePolicy, timeoutInterval : TimeInterval)
Availability 有効性
Technology
class NSURLRequest : NSObject
NSURLRequest
encapsulates two essential properties of a load request: the URL to load and the policies used to load it. In addition, for HTTP and HTTPS requests, URLRequest
includes the HTTP method (GET
, POST
, and so on) and the HTTP headers. Finally, custom protocols can support custom properties as explained in Custom Protocol Properties.
NSURLRequest
は、あるロードリクエストの2つの本質的プロパティをカプセル化します:ロードするURLとそれをロードするのに使われる方針。加えて、HTTPおよびHTTPSリクエストに対して、URLRequest
は、HTTPメソッド(GET
、POST
、など)そしてHTTPヘッダを含みます。最後に、あつらえのプロトコルは、あつらえのプロパティをサポートできます、あつらえのブロトコルプロパティで説明されるように。
NSURLRequest
only represents information about the request. Use other classes, such as URLSession
, to send the request to a server. See Fetching Website Data into Memory and Uploading Data to a Website for an introduction to these techniques.
NSURLRequest
は、ただリクエストについての情報を表すだけです。他のクラス、たとえばURLSession
を使って、リクエストをサーバーに送信してください。ウェブサイトデータをメモリに取って来るとデータをウェブサイトにアップロードするをこれらのテクニックに対する導入として見てください。
The mutable subclass of NSURLRequest
is NSMutable
.
NSURLRequest
の可変サブクラスは、NSMutable
です。
Important 重要
The Swift overlay to the Foundation framework provides the URLRequest
structure, which bridges to the NSURLRequest
class and its mutable subclass, NSMutable
. For more information about value types, see Working with Cocoa Frameworks in Using Swift with Cocoa and Objective-C (Swift 4.1).
FoundationフレームワークへのSwiftオーバーレイは、URLRequest
構造体を提供します、それはNSURLRequest
クラスそしてそれの可変サブクラス、NSMutable
にブリッジします。値型についてのさらなる情報として、Working with Cocoa FrameworksをUsing Swift with Cocoa and Objective-C (Swift 4.1)で見てください。
The URL Loading System handles various aspects of the HTTP protocol for you (HTTP 1.1 persistent connections, proxies, authentication, and so on). As part of this support, the URL Loading System takes responsibility for certain HTTP headers: URLローディングシステムは、HTTPプロトコルのさまざまな面(HTTP 1.1持続的接続、プロキシ、認証、など)をあなたのために取り扱います。このサポートの一部として、URLローディングシステムは次の特定のHTTPヘッダに対する責任を取ります:
Content-Length
Authorization
Connection
Host
Proxy-Authenticate
Proxy-Authorization
WWW-Authenticate
If you set a value for one of these reserved headers, the system may ignore the value you set, or overwrite it with its own value, or simply not send it. Moreover, the exact behavior may change over time. To avoid confusing problems like this, do not set these headers directly. あなたがこれら予約されたヘッダの1つに対する値を設定するならば、システムはあなたが設定した値を無視する、またはそれをそれ自身の値で上書きする、または単にそれを送らないかもしれません。さらにその上、正確な挙動は時が経つに連れて変わるかもしれません。このような混乱する問題を防ぐために、これらのヘッダを直接に設定しないでください。
The URL Loading System sets the Content-Length
header based on whether the request body has a known length:
URLローディングシステムは、Content-Length
ヘッダを、リクエストボディが既知の長さを持つかどうかに基づいて設定します:
If so, it uses the identity transfer encoding and sets the Content-Length
header to that known length. You see this when you set the request body to a data object.
そうならば、それは同一(identity)転送符号化を使います、そしてContent-Length
ヘッダはその既知の長さに設定します。あなたは、これをあなたがリクエストボディをデータオブジェクトに設定する時に見ます。
If not, it uses the chunked transfer encoding and omits the Content-Length
header. You see this when you set the request body to a stream.
そうでなければ、それはチャンク転送符号化を使います、そしてContent-Length
ヘッダを省略します。あなたは、これをあなたがリクエストボディをストリームに設定する時に見ます。
If you implement a custom URL protocol by subclassing URLProtocol
, and it needs protocol-specific properties, extend NSURLRequest
with accessor methods for those custom properties. In your accessor methods, call property(for
and set
to associate property values with the request.
あなたがあつらえのURLプロトコルの実装をURLProtocol
のサブクラスを作ることによって行う、そしてそれがプロトコル特有のプロパティを必要とするならば、NSURLRequest
をそれらあつらえのプロパティに対するアクセッサメソッドで拡張してください。あなたのアクセッサメソッドにおいて、property(for
とset
を呼び出して、それらプロパティ値をリクエストと連携してください。
init(url: URL)
init(url: URL, cachePolicy : NSURLRequest.CachePolicy, timeoutInterval : TimeInterval)
var cachePolicy : NSURLRequest.CachePolicy
enum NSURLRequest.CachePolicy
var httpMethod : String?
var url: URL?
var httpBody : Data?
var httpBodyStream : InputStream?
var mainDocumentURL : URL?
var allHTTPHeaderFields : [String : String]?
func value(forHTTPHeaderField : String) -> String?
var timeoutInterval : TimeInterval
var httpShouldHandleCookies : Bool
var httpShouldUsePipelining : Bool
var allowsCellularAccess : Bool
var allowsConstrainedNetworkAccess : Bool
var allowsExpensiveNetworkAccess : Bool
var networkServiceType : NSURLRequest.NetworkServiceType
enum NSURLRequest.NetworkServiceType
class var supportsSecureCoding : Bool
NSURLRequest
implements the NSSecureCoding
protocol.
NSURLRequest
がNSSecureCoding
プロトコルを実装するかどうかを指し示すブール値。
var attribution: NSURLRequest.Attribution
enum NSURLRequest.Attribution
class NSMutableURLRequest
NSURLRequest
and you use when you need reference semantics or other Foundation-specific behavior.
ある可変URLロードリクエスト、それはNSURLRequest
にブリッジします、そしあなたが参照意味論や他のFoundation特有の挙動を必要とする場合は使ってください。
typealias MutableURLRequest
Deprecated
非推奨
typealias URLRequest.ReferenceType