Node.js v0.11.11 マニュアル & ドキュメンテーション


URL#

Stability: 3 - Stable

このモジュールはURLの解決や解析の為のユーティリティを持ちます。 利用するには require('url') を呼び出してください。

解析されたURLオブジェクトは、URL文字列の中に存在するかどうかに応じて 次に示すフィールドをいくつかもしくは全てを持ちます。 URL文字列に含まれないフィールドは解析結果のオブジェクトに含まれません。 次のURLで例を示します。

'http://user:pass@host.com:8080/p/a/t/h?query=string#hash'

  • href: 解析する前の完全な URL。protocol と host はどちらも小文字化されます。

    例: 'http://user:pass@host.com:8080/p/a/t/h?query=string#hash'

  • protocol: リクエストのプロトコル。小文字化されます。

    例: 'http:'

  • host: URL の完全で小文字化されたホスト情報。ポート番号を含みます。

    例: 'host.com:8080'

  • auth: URL の認証情報。

    例: 'user:pass'

  • hostname: ホスト情報の中の小文字化されたホスト名。

    例: 'host.com'

  • port: ホスト情報の中のポート番号。

    例: '8080'

  • pathname: URL のパス部分。ホスト情報からクエリまでの間に位置し、 最初にスラッシュが存在する場合はそれも含みます。

    例: '/p/a/t/h'

  • search: URL のクエリ文字列。先頭の ? マークも含みます。

    例: '?query=string'

  • path: pathnamesearch を連結した文字列。

    例: '/p/a/t/h?query=string'

  • query: クエリの変数部分の文字列、もしくはクエリ文字列を解析した オブジェクト。

    例: 'query=string' or {'query':'string'}

  • hash: URL の # マークを含む部分。

    例: '#hash'

以下のメソッドはURLモジュールにより提供されます:

url.parse(urlStr, [parseQueryString], [slashesDenoteHost])#

URL文字列を引数に取り、解析結果のオブジェクトを返します。

querystring モジュールを使ってクエリ文字列も解析したい場合は、 第 2 引数に true を渡してください。 デフォルトは false です。

//foo/bar{ pathname: '//foo/bar' } ではなく { host: 'foo', pathname: '/bar' } としたい場合は、 第 3 引数に true を渡してください。 デフォルトは false です。

url.format(urlObj)#

URL オブジェクトを引数に取り、フォーマットした URL 文字列を返します。

  • href は無視されます。
  • protocol の末尾に : (コロン) があってもなくても同じように扱われます。
    • httphttpsftpgopherfile は末尾に :// (コロン、スラッシュ、スラッシュ) が付けられます。
    • mailtoxmppaimsftpfoo など、その他のプロトコルは末尾に : (コロン) が付けられます。
  • auth が与えられると使われます。
  • hostnamehost が与えられなかった場合だけ使われます。
  • porthost が与えられなかった場合だけ使われます。
  • hosthostnameport の位置で使われます。
  • pathname の先頭に / (スラッシュ) があってもなくても同じように扱われます。
  • searchquery の位置で使われます。
  • query (文字列ではなくオブジェクトです; querystring を参照してください) は search が与えられなかった場合だけ使われます。
  • search の先頭に ? (クエスチョンマーク) があってもなくても同じように扱われます。
  • hash の先頭に # (シャープ, アンカー) があってもなくても同じように扱われます。

url.resolve(from, to)#

ベースとなる URL と相対 URL を引数に取り、ブラウザがアンカータグに対して行うのと同様に URL を解決します。例:

url.resolve('/one/two/three', 'four')         // '/one/two/four'
url.resolve('http://example.com/', '/one')    // 'http://example.com/one'
url.resolve('http://example.com/one', '/two') // 'http://example.com/two'