Class

NSURLRequest

A representation of a URL load request that you use when you need reference semantics or other Foundation-specific behavior. URLロードリクエストのある表現、それはあなたが参照意味論や他のFoundation特有の挙動を必要とする場合にあなたが使うものです。

Declaration 宣言

class NSURLRequest : NSObject

Overview 概要

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メソッド(GETPOST、など)そして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 NSMutableURLRequest. NSURLRequestの可変サブクラスは、NSMutableURLRequestです。

Reserved HTTP Headers 予約済みHTTPヘッダ

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ヘッダを省略します。あなたは、これをあなたがリクエストボディをストリームに設定する時に見ます。

Custom Protocol Properties あつらえのプロトコルプロパティ

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(forKey:in:) and setProperty(_:forKey:in:) to associate property values with the request. あなたがあつらえのURLプロトコルの実装をURLProtocolのサブクラスを作ることによって行う、そしてそれがプロトコル特有のプロパティを必要とするならば、NSURLRequestをそれらあつらえのプロパティに対するアクセッサメソッドで拡張してください。あなたのアクセッサメソッドにおいて、property(forKey:in:)setProperty(_:forKey:in:)を呼び出して、それらプロパティ値をリクエストと連携してください。

Topics 話題

Creating Requests リクエストを作成する

Working with a Cache Policy キャッシュ方針を扱う

Accessing Request Components 要請構成要素にアクセスする

Getting Header Fields ヘッダフィールドを取得する

Controlling Request Behavior リクエスト挙動を制御する

Supporting Limited Modes 制限モードをサポートする

Accessing the Service Type サービス型にアクセスする

Supporting Secure Coding 安全なコーディングをサポートする

Indicating the Source of the Request リスエストのソースを指し示す

Instance Properties インスタンスプロパティ

Relationships 関係

Inherits From 継承元

Conforms To 次に準拠

See Also 参照

Using Reference Types 参照型を使用する