本节讨论 URL 的构成、SharePoint 2010 构建 URL 的方式、URL 的编码和加长以及作为其他 URL 中的参数传递的方式。

SharePoint URL 的构成

SharePoint URL 的总长度等于文件夹或文件路径的长度,包括协议和服务器名称和文件夹或文件名称,以及作为 URL 的一部分包含在内的任何参数。公式如下:

· URL = 协议 + 服务器名称 + 文件夹或文件路径 + 文件夹或文件名 + 参数

例如,下面是 SharePoint  2010 中存储的文件的典型 URL 路径:

http://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

URL 编码

URL 编码可确保所有浏览器将正确传输 URL 字符串中的文本。有些浏览器可能会截断或破坏诸如问号 (?)、与号 (&)、左斜线 (/) 和空格之类的字符。SharePoint Foundation 2010 遵守 Internet 工程任务组 (IETF) RFC 3986(该链接可能指向英文页面)(http://go.microsoft.com/fwlink/?linkid=195564&clcid=0x804) 中定义的 URL 编码标准。

如果 SharePoint URL 中包含非标准 ASCII 字符(如高位 ASCII 或双字节 Unicode 字符),则在将它们传递到 Web 浏览器时,会将每个字符都 URL 编码为两个或更多个 ASCII 字符。因此,包含多个高位 ASCII 字符或双字节 Unicode 字符的 URL 可能会比原始未编码的 URL 长。下面的列表提供了倍增系数的示例:

· 高位 ASCII 字符,例如,(!、"、#、$、%、&、[Space]):倍增因数 = 3

· 双字节 Unicode 字符,例如日语、中文、朝鲜语、印地语:倍增系数 = 9

例如,将 URL 路径 http://www.contoso.com/sites/marketing/documents/Shared%20Documents/Promotion/Some%20File.xlsx 中的网站、库、文件夹和文件名称转换为日语时,生成的编码 URL 路径将与以下内容类似:

http://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 可能类似如下:http://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 中,并且编码后会长得多,例如,http://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 个字符。

重要:

如果要传递到 Internet Explorer 的 URL 总长度超过 1950 个字节,则 SharePoint Foundation 2010 会截断该 URL 源参数。源参数是对以前访问的页面的引用。截断源参数的结果是用户将返回默认位置,而不是源参数中指定的位置。

不会截断其他参数(如排序顺序、根文件夹参数和视图)。

URL 路径长度限制

本节讨论 SharePoint Foundation 2010 和 Internet Explorer 中的不同 URL 长度限制,以及如何规划 URL 路径长度。

SharePoint URL 路径长度限制

本节中的限制适用于 SharePoint Foundation 2010 中的文件夹或文件的 URL 路径的总长度,但不适用于任意参数的长度。此外,这些限制仅适用于未编码的 URL,而不是编码的 URL。SharePoint Foundation 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 控件的域/服务器名称。

有关详细信息,请参阅 Microsoft 知识库文章 894630 您收到“指定的文件或文件夹名称太长”错误消息(http://go.microsoft.com/fwlink/?linkid=195567&clcid=0x804)。

注意:

了解代码单元 - 大多数情形下,一个 UTF-16 字符等于一个 UTF-16 代码单元。但是,使用大于 U+10000 的 Unicode 码位的字符等于两个 UTF-16 代码单元。这些字符包括但不限于日语或中文代理项对字符。如果您的路径包括这些字符,则 URL 长度将超出 URL 长度限制(不超过 256 或 260 个字符)。

Internet Explorer URL 长度限制

Internet Explorer 还具有与 SharePoint Foundation 2010 中的限制不同的限制。尽管可使 SharePoint Foundation 2010 URL 路径短于限制长度,但还可能会由于添加参数或编码 URL 而遇到 Internet Explorer URL 长度限制。必须使用最严格的限制作为规划 URL 长度的指南。

Internet Explorer 7 和 Internet Explorer 8 均具有以下限制:URL 最大长度为 2,083 个 UTF-8 字符,路径最大长度为 2,048 个 UTF-8 字符。但是,在 Internet Explorer 7 中,在某些特定情况下,有效的 URL 长度限制为 1024 个 UTF-8 字符,而不是 2083 个 UTF-8 字符。有关 Internet Explorer 中的 URL 长度限制的详细信息,请参阅 Microsoft 知识库文章 208427 Internet Explorer 中的 URL 最大长度为 2,083 个字符 (http://go.microsoft.com/fwlink/?linkid=195568&clcid=0x804)。

重要:

除非环境中的所有浏览器均为 Internet Explorer 8,否则请遵守 1024 个 UTF-8 字符的有效限制。

解决 URL 长度问题

可通过多种方法解决或缓解 SharePoint Foundation 2010 环境中的 URL 长度问题。下面的列表提供了建议:

· 将所有最终用户浏览器升级为 Internet Explorer 8,该版本具有更长的 URL 长度限制。

· 使用更短的网站、文件夹和文档名称,控制网站和文件夹结构的深度,从而缩短 URL 的长度。

· 如果可能或情况允许,请为网站、文件夹和文档使用 ASCII 名称。这样可避免 URL 由于编码而变长的情形。

· 若要降低 SharePoint Foundation 2010 最终用户由于 URL 长度限制而遇到问题的风险,建议在部署中应用以下有效限制:

o 256 Unicode (UTF-16) 代码单元 - 有效的文件路径长度限制,包括域/服务器名称

o 128 Unicode (UTF-16) 代码单元 - 路径部分长度限制

URL 路径长度限制(错误:指定的文件或文件夹名称太长)的更多相关文章

  1. Mac下关于——你不能拷贝项目“”,因为它的名称太长或包括的字符在目的宗卷上无效。文件的删除

    内容是google的,测试有效,因为用revel打包的东西删除以后有这个循环bug Mac下关于——你不能拷贝项目“”,因为它的名称太长或包括的字符在目的宗卷上无效.文件的删除 关于这个问题我找到的一 ...

  2. mysql 1071错误,原因是Mysql的字段设置的太长了

    mysql 1071错误,原因是Mysql的字段设置的太长了 mysql 1071错误经过查询才知道,是Mysql的字段设置的太长了,于是我把这两个字段的长度改了一下就好了. 建立索引时,数据库计算k ...

  3. 无法删除 NTFS 盘上的文件或文件夹(对Windows文件的各种情况有比较详细的描述)

    简介 本文介绍您可能无法删除 NTFS 文件系统卷上的文件或文件夹的原因,以及如何分析造成此问题的不同原因从而解决此问题. 更多信息 注意:在内部,NTFS 将文件夹作为特殊类型的文件进行处理.因此, ...

  4. 爪哇国新游记之二十八----从url指定的地址下载文件到本地

    package download; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; ...

  5. 初识TypeScript:查找指定路径下的文件按类型生成json

    如果开发过node.js的话应该对js(javascript)非常熟悉,TypeScript(以下简称ts)是js的超集. 下面是ts的官网: https://www.tslang.cn/ 1.环境配 ...

  6. 【转】Git如何Check Out出指定文件或者文件夹

    [转]Git如何Check Out出指定文件或者文件夹http://www.handaoliang.com/a/20140506/195406.html 在进行项目开发的时候,有时候会有这样的需求那就 ...

  7. Java递归输出指定路径下所有文件及文件夹

    package a.ab; import java.io.File; import java.io.IOException; public class AE { public static void ...

  8. Git如何Check Out出指定文件或者文件夹

    原文  http://www.handaoliang.com/a/20140506/195406.html 在进行项目开发的时候,有时候会有这样的需求那就是:我们只希望从Git仓库里取指定的文件或者文 ...

  9. 在 Visual Studio 调试器中指定符号 (.pdb) 和源文件

    查找并指定符号文件和源文件:指定符号加载行为.使用符号和源服务器上:加载符号自动或在要求.   内容 查找符号 (.pdb) 文件 查找源文件   查找符号 (.pdb) 文件 说明 在之前的 Vis ...

随机推荐

  1. [OpenCV] Samples 09: image

    根据需求,转化为不同的颜色格式,split后处理各自通道. plImage <==> Mat 格式转换 Mat --> plImage 简单写法: IplImage copy = m ...

  2. Windows Azure Affinity Groups (3) 修改虚拟网络地缘组(Affinity Group)的配置

    <Windows Azure Platform 系列文章目录> 本文介绍的是国内使用世纪互联运维的Azure China 在笔者之前的文章中,我们知道现在微软官方不建议使用Affinity ...

  3. 使用Spark分析拉勾网招聘信息(三): BMR 入门

    简述 本文,意在以最小的篇幅,来帮助对大数据和Spark感兴趣的小伙伴,能尽快搭建一个可用的Spark开发环境.力求言简意赅.文章,不敢自称BMR的最佳实践,但绝对可以帮助初学者,迅速入门,能够专心于 ...

  4. [转]virtualenv建立多个Python独立开发环境

    不同的人喜欢用不同的方式建立各自的开发环境,但在几乎所有的编程社区,总有一个(或一个以上)开发环境让人更容易接受. 使用不同的开发环境虽然没有什么错误,但有些环境设置更容易进行便利的测试,并做一些重复 ...

  5. 如何将CKeditor编辑器的上传和thinkphp结合

    转载:THINKPHP代码中 lxepoo的文章 有时候我们会发现,我们需要对上传文件进行日志记录,这样的记录通常写在LOG文件或数据库中,那么,通过TP本身的上传类,可以实现的,但是只能做到编辑器外 ...

  6. 为什么我不建议你做APP?

    最近迷上了新产品的可行性分析和推演. 有几个朋友也准备跳入创业火坑了,找到我说帮忙做做产品分析和可行性讨论,欣然应允. 我一向厌恶纯凭感觉拍脑袋的方式,所以对于我不了解的行业,都会从行业背景.现状痛点 ...

  7. jquery选择器(综合)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. 删除Android包

    Android删除包有很多种方法,其中一种通过Intent删除,代码如下: public boolean unload (String n){ boolean res = true; try{ // ...

  9. Firemonkey 调整 MainMenu 字型大小 (D10)

    修改 Windows 下的 Style,找到下面二个 Style ,修改其中的 text 内的 font 大小: 将 FMX.Menus.pas 复制到自己的工程目录内,再修改如下内容: constr ...

  10. 修正 ListView 搜寻问题

    问题:如果 SearchEdit 里已输入过搜寻字,再新建 ListView 项目后,会无法显示. 适用:Delphi XE5 源码下载:[原创]修正ListView搜寻问题.zip procedur ...