码迷,mamicode.com
首页 > 移动开发 > 详细

理解SharePoint Web Application和IIS Web Sites 和 HTTP请求

时间:2015-05-19 19:15:03      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:sharepoint 2013   iis   host header   

 当你创建一个web application的时候,你实际上在IIS里面创建了一个站点。一个IIS站点有bindings,包含单独的IP地址,一个Host Header 和port。IIS通过Bindings来决定HTTP 请求是请求的哪个站点。

技术分享

当一个用户请求一个网页的时候,比如http://intranet.contoso.com/SitePages/Home.aspx

客户端发起了一个HTTP请求。客户端通过查询DNS来获取到Host(比如intranet.contoso.com)的IP地址。客户端把host name加到了HTTP请求的数据包的host header字段里。然后客户端把HTTP请求的数据包,发送到目标IP地址(默认端口80,也可以是其他自定义端口)。IIS接到请求之后,分析数据包,并且发现,这个请求是为了Contoso Intranet 站点。

 

也就是说,可以在SharePoint里面,建多个Web Application, 这些站点可以使用同样的端口(比如80),但是需要有不同的host header。这样这些Web Application之间不会出现端口冲突,IIS会根据host header来判断应该由哪个Web Application来处理客户端发起的请求。

 

当IIS找到客户端请求的是哪个站点之后,它开启了一系列的操作,最终把结果返回给客户端。首先,IIS查找Web Application的物理路径,也叫做根目录。当你创建一个SharePoint Web Application的时候,你指定了这个路径。比如

C:\inetpub\wwwroot\wss\VirtualDirectories\clients.contoso.com80。

 技术分享

对于传统的APS.NET站点,真正的内容就是存储在这个路径的,但是SharePoint存储在了内容数据库里。 IIS这个时候就处理不了了,但是在web.config文件里,指定了这个站点是SharePoint Web Application,因此IIS把这个请求传递给了SharePoint。

 

然后,SharePoint解析这个URL,来决定是哪个Site Collection,哪个内容数据库。SharePoint获取这些数据,并返回给IIS,IIS再返回给用户。

理解SharePoint Web Application和IIS Web Sites 和 HTTP请求

标签:sharepoint 2013   iis   host header   

原文地址:http://blog.csdn.net/spfarm/article/details/45845995

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!