URL パスの長さ制限 (SharePoint Server 2010)

 

適用先: SharePoint Foundation 2010, SharePoint Server 2010

トピックの最終更新日: 2016-11-30

この記事では、Microsoft SharePoint Server 2010、Internet Explorer 7、および Internet Explorer 8 における特定の URL パスの長さと文字数の制限について説明します。サイト、ナビゲーション、および構造を計画するときは、これらの制限を理解している必要があります。ここでは、別のブラウザーにおいての URL の長さ制限については説明しません。各ブラウザーでの制限については、ブラウザーのマニュアルを参照してください。

この記事の内容

  • URL とパスの長さについて

  • URL パスの長さ制限

  • URL の長さについての問題の解決

URL とパスの長さについて

ここでは、URL の構成、SharePoint Server 2010 での URL の作成方法、URL がエンコードされて文字数が増える理由、および URL を他の URL のパラメーターとして渡す方法について説明します。

SharePoint の URL の構成

SharePoint の URL の全体の長さは、フォルダーまたはファイルのパスの長さと同じで、プロトコル名、サーバー名、フォルダー名またはファイル名、URL の一部として含まれるパラメーターなどが含まれます。これを式で表すと次のようになります。

  • URL = プロトコル + サーバー名 + フォルダーまたはファイルのパス + フォルダーまたはファイルの名前 + パラメーター

たとえば、次に示すのは、Microsoft SharePoint Server 2010 に格納されるファイルへの標準的な URL パスです。

https://www.contoso.com/sites/marketing/documents/Shared%20Documents/Promotion/Some%20File.xlsx

この URL の構成を次の表に示します。

URL の構成部分

プロトコル

http://

サーバー名

www.contoso.com/

フォルダーまたはファイルのパス

sites/marketing/documents/Shared%20Documents/Promotion/

ファイル名

Some%20File.xlsx

このサイトにアクセスして、Microsoft Office Web Apps を使用してファイルを開くと、次のような URL になります。

https://www.contoso.com/sites/marketing/documents/_layouts/xlviewer.aspx?id=/sites/marketing/documents/Shared%20Documents/Promotion/Some%20File.xlsx&Source=http%3A%2F%2Fwww%2Econtoso%2Ecom%2Fsites%2Fmarketing%2Fdocuments%2FShared%2520Documents%2FForms%2FAllItems%2Easpx%3FRootFolder%3D%252Fsites%252Fmarketing%252Fdocuments%252FShared%2520Documents%252FPromotion%26FolderCTID%3D0x012000F2A09653197F4F4F919923797C42ADEC&DefaultItemOpen=1

この URL の構成を次の表に示します。

URL の構成部分

プロトコル

http://

サーバー名

www.contoso.com/

フォルダーまたはファイルのパス

sites/marketing/documents/Shared%20Documents/Promotion/

フォルダー名またはファイル名

xlviewer.aspx

パラメーター

?id=/sites/marketing/documents/Shared%20Documents/Promotion/Some%20File.xlsx

&Source=http%3A%2F%2Fwww%2Econtoso%2Ecom%2Fsites%2Fmarketing%2Fdocuments%2FShared%2520Documents%2FForms%2FAllItems%2Easpx %3FRootFolder%3D%252Fsites%252Fmarketing%252Fdocuments%252FShared%2520Documents%252FPromotion%26FolderCTID%3D0x012000F2A09653197F4F4F919923797C42ADEC

&DefaultItemOpen=1

URL エンコード

URL エンコードにより、どのブラウザーからも URL 文字列のテキストを正しく送信できます。疑問符 (?)、アンパサンド (&)、スラッシュ記号 (/)、スペースなどの文字は、一部のブラウザーでは切り捨てられたり、文字化けしたりすることがあります。SharePoint Server 2010 は、「インターネット技術標準化委員会 (IETF) RFC 3986」(https://go.microsoft.com/fwlink/?linkid=195564&clcid=0x411) (英語) に定義される URL エンコードの標準規格に準拠しています。

前述の URL パスの例では、Source パラメーターには二重エンコードされた、262 文字のパスが含まれています。このパラメーターは 1 回目のデコードで次のようになります。

&Source=https://www.contoso.com/sites/marketing/documents/Shared%20Documents/Forms/AllItems.aspx?RootFolder=%2Fsites%2Fmarketing%2Fdocuments%2FShared%20Documents%2FPromotion&FolderCTID=0x012000F2A09653197F4F4F919923797C42ADEC (216 文字)

再度デコードすると、次のようになります。

&Source=https://www.contoso.com/sites/marketing/documents/Shared Documents/Forms/AllItems.aspx?RootFolder=/sites/marketing/documents/Shared Documents/Promotion&FolderCTID=0x012000F2A09653197F4F4F919923797C42ADEC (200 文字)

拡張 ASCII 文字やダブルバイト Unicode 文字などの非標準 ASCII 文字が SharePoint の URL に含まれている場合、これらの各文字は、Web ブラウザーに渡されるときに 2 文字以上の ASCII 文字に URL エンコードされます。したがって、URL に拡張 ASCII 文字やダブルバイト Unicode 文字が多数含まれていると、エンコード前の元の URL よりも文字数が増える可能性があります。倍増率の例を次の表に示します。

  • 拡張 ASCII 文字 — 例: (!、"、#、$、%、&、[スペース]): 倍増率 = 3

  • ダブルバイト Unicode 文字 — 例: 日本語、中国語、韓国語、ヒンディー語: 倍増率 = 9

たとえば、URL パス https://www.contoso.com/sites/marketing/documents/Shared%20Documents/Promotion/Some%20File.xlsx に含まれるサイト、ライブラリ、フォルダー、およびファイルの名前を日本語に変換すると、エンコード後の URL パスは次のようになります。

https://www.contoso.com/sites/%E3%83%9E%E3%83%BC%E3%82%B1%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0/%E6%96%87%E6%9B%B8/DocLib/%E3%83%97%E3%83%AD%E3%83%A2%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB.xlsx。このパスは 224 文字ですが、元の URL パスは 94 文字でした。

重要

次の文字は、デコードされた URL では使用できません: (~、#、%、&、*、{}、\、:、<>、/、+、|、“)

URL パラメーター

URL パラメーターは、URL に処理対象の一部として含まれるデータです。これらのパラメーターも URL エンコードされます。何回もエンコードされて、非常に長い URL になることがあります。

たとえば、リストを参照する場合に、次のような URL になるとします。https://www.contoso.com/sites/marketing/documents/Shared%20Documents/Forms/AllItemA.aspx?RootFolder=%2Fsites%2Fmarketing%2Fdocuments%2FShared%20Documents%2FPFPromoti&FolderCTID=0x012000F2A09653197F4F4F919923797C42ADEC&View={CD527605-9A7A-448D-9A35-67A33EF9F766}。この URL は 260 文字です。

[ライブラリ] タブの [ビューの作成] をクリックすると、URL 全体が結果の URL にソース パラメーターとして含まれて、次の例に示すように、さらに長い URL にエンコードされます。https://www.contoso.com/sites/marketing/documents/_layouts/ViewType.aspx?List=%7BED6E21E0%2DDF28%2D4165%2DBC3E%2D5371987CC2D2%7D&Source=http%3A%2F%2Fwww%2Econtoso%2Ecom%2Fsites%2Fmarketing%2Fdocuments%2FShared%2520Documents%2FForms%2FAllItems%2Easpx%3FRootFolder%3D%252Fsites%252Fmarketing%252Fdocuments%252FShared%2520Documents%252FPromotion%26FolderCTID%3D0x012000F2A09653197F4F4F919923797C42ADEC%26View%3D%7BCD527605%2D9A7A%2D448D%2D9A35%2D67A33EF9F766%7D。この URL は 457 文字です。

重要

SharePoint Server 2010 では、Internet Explorer に渡す URL の全体の長さが 1,950 バイトを超えると、URL ソース パラメーターが切り捨てられます。ソース パラメーターは、以前訪問したページの参照です。ソース パラメーターが切り捨てられた結果、ユーザーはソース パラメーターに指定された場所ではなく、既定の場所を参照します。
並べ替え順序、ルート フォルダー パラメーター、ビューなどの他のパラメーターは切り捨てられません。

URL パスの長さ制限

ここでは、SharePoint Server 2010 と Internet Explorer での URL の長さ制限と、URL パスの長さの計画方法について説明します。

SharePoint の URL パスの長さ制限

ここで説明する制限は、SharePoint Server 2010 のフォルダーまたはファイルへの URL パスの全体的な長さに適用されますが、パラメーターの長さには適用されません。また、これらの制限は、デコードされた URL にのみ適用され、エンコードされた URL には適用されません。SharePoint Server 2010 のエンコードされた URL に制限はありません。制限は次のとおりです。

  • 260 Unicode (UTF-16) コード単位 – 完全ファイル パス内の文字。ドメイン/サーバー名は対象外。

  • 256 Unicode (UTF-16) コード単位 – 完全フォルダー パス内の文字。ファイル名とドメイン/サーバー名は対象外。

  • 128 Unicode (UTF-16) コード単位 - パスの構成要素内の文字。つまり、ファイルまたはフォルダー名。

  • 260 Unicode (UTF-16) コード単位 – 完全パス内の文字。Office クライアントで使用するドメイン/サーバー名を含む。

  • 256 Unicode (UTF-16) コード単位 – 完全パス内の文字。Active X コントロールで使用するドメイン/サーバー名を含む。

詳細については、マイクロソフト サポート技術情報の記事 894630「SharePoint Portal Server または Windows SharePoint Services においてドキュメント ライブラリで新しいフォルダーまたは新しいドキュメントを作成すると "指定したファイルまたはフォルダーの名前が長すぎます" エラー メッセージが表示される」(https://go.microsoft.com/fwlink/?linkid=195567&clcid=0x411) を参照してください。

注意

コード単位について - ほとんどの場合、UTF-16 の 1 文字は UTF-16 の 1 コード単位と同じです。ただし、U+10000 以上の Unicode コード ポイントを使用する文字は UTF-16 の 2 コード単位と同じです。このような文字には、日本語や中国語のサロゲート ペア文字などがあります。これらの文字がパスに含まれていると、URL の長さは URL の長さ制限 (256 または 260 文字未満) を超えます。

Internet Explorer の URL の長さ制限

Internet Explorer にも制限がありますが、SharePoint Server 2010 での制限とは異なります。SharePoint Server 2010 の URL パスを制限より短くしても、追加されたパラメーターや URL のエンコードが原因で、Internet Explorer の URL の長さ制限に引っかかることがあります。URL の長さを計画するときは、最も厳しい制限を基準にする必要があります。

Internet Explorer 7 と Internet Explorer 8 では、URL の最大長は UTF-8 で 2,083 文字、パスの最大長は UTF-8 で 2,048 文字です。ただし、Internet Explorer 7 の場合、状況によっては、UTF-8 で 2,048 文字ではなく、UTF-8 で 1,024 文字の方が効果的な URL の長さ制限となります。Internet Explorer での URL の長さ制限の詳細については、マイクロソフト サポート技術情報の記事 208427「Maximum URL length is 2,083 characters in Internet Explorer」(https://go.microsoft.com/fwlink/?linkid=195568&clcid=0x411) を参照してください。

重要

環境内のすべてのブラウザーが Internet Explorer 8 でない場合は、UTF-8 で 1,024 文字の制限を使用すると効果的です。

URL の長さについての問題の解決

SharePoint Server 2010 環境での URL の長さについての問題を解決または緩和する方法がいくつかあります。推奨方法を次に示します。

  • エンドユーザーのブラウザーをすべて Internet Explorer 8 にアップグレードします。Internet Explorer 8 では、さらに長い URL を使用できます。

  • サイト、フォルダー、およびドキュメントの名前を短くし、サイトとフォルダーの構造の深さを制限することで、URL の長さを短くします。

  • 可能であれば、サイト、フォルダー、およびドキュメントに ASCII 名を使用します。ASCII 名を使用すると、URL をエンコードしても文字数は増えません。

  • URL の長さ制限が原因で、SharePoint Server 2010 のエンドユーザーに問題が発生する可能性を低減するには、次の効果的な制限を展開に適用することをお勧めします。

    • 256 Unicode (UTF-16) コード単位 - ファイル パスの効果的な長さ制限。ドメイン/サーバー名を含む。

    • 128 Unicode (UTF-16) コード単位 - パスの構成要素の長さ制限。