本节讨论 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. 【web前端面试题整理03】来看一点CSS相关的吧

    前言 昨天我们整理了14到js的题,今天我们再来整理14到CSS相关的题目,昨天整理时候时间有点晚了我便有点心浮气躁,里面的一些题需要再次解答,好了看看今天有些什么吧. PS:我这里挑一点来做就好了, ...

  2. 百度地图JavaScript API自定义覆盖物、自定义信息窗口增删时的显示问题

    项目中,需求:在百度地图上实时画出车辆,并能点击车辆弹出信息框查看实时信息. 实现:通过不停的画覆盖物并删除掉.点击覆盖物时弹出信息窗口. 问题:删除掉覆盖物后信息窗也删除掉了.因为信息窗是建立在覆盖 ...

  3. 使用 CSS3 制作一组超时尚的动画按钮效果

    通过 CSS3 的新特性,我们创作出好的交互和效果的可能性大大增加.这篇文章中,我想与大家分享一些 CSS3 动画按钮效果.我们的想法是创建一个具有不同风格的一些动画链接元素,鼠标悬停时有动画效果和活 ...

  4. 10个实用的 CSS3 按钮效果制作教程

    人们往往喜欢那些有更多互动元素的网站,因此现在很多设计师专注于他们的 CSS3 技能.这是因为 CSS3 技能可以帮助他们在很大的程度上实现所需的吸引力.这里分享的10个优秀的 CSS3 按钮效果制作 ...

  5. QT学习笔记3

    对话框 新建了一个对话框,在新建项目选择类型时是Dialog即可. 添加的代码如下,注意QCheckBox 并没有添加头文件定义,只是加了类的前向声明.因为我们仅仅使用的是指针,并不涉及到这些类的函数 ...

  6. 安装thrift

    要求 thrift至少需要支持三种语言: Java PHP Go 预安装 基本教程: http://thrift.apache.org/docs/install/centos 使用最新的thrift, ...

  7. 歌词文件解析(二):LRC格式文件的绘制

    通过对LRC文件的解析,可以轻松实现歌词可视化. 代码实现 函数名: paintLyrics(ByVal pBox As PictureBox, ByVal CurrentPosition As In ...

  8. 局部页面传值Model

    1:新建个局部页面,将这里页面的Model数据传递过去,在局部页面进行和一般页面一样的操作就行. 这里和HTML.Action不一样,对于HTML.action来说,它是新建了一个action来进行传 ...

  9. MVC上传文件

    ASP.NET MVC上传文件是必段撑握的知识.加强训练才是.以前Insus.NET曾使用第三方MyAjaxForm.js :http://www.cnblogs.com/insus/p/378548 ...

  10. Mybatis添加返回主键ID

    1.对应xml文件<insert id="insert" parameterType="DetectStandard"useGeneratedKeys=& ...