1. IIS中的“主机头”是什么意思
主机头就写localhost 在IIS中有一个叫主机头的概念,我们基本都已经掌握,还有一个叫HTTP头的概念,有的同学已经问我这个问题,其实HTTP头更多的涉及到软件上的东东。
最直观的HTTP头就是当我们在FROTPAGE或DREAMWEAVER中每次新建一个HTML页面后,在这个页面的代码都会有这样一行代码: 其实这就是一个HTTP头信息,HTML页面开头都会有类似的这样一行代码。 那么到底是么是HTTP头呢?HTTP头分为HTTP请求头和HTTP应答头。
HTTP请求头为HTTP客户在浏览服务器上的主页时,向服务器发送请求的时候必须指明请求类型。请求类型是指HTTP-GET或HTTP-POST,每个HTTP-GET和HTTP-POST都由一系列HTTP请求头组成,这些请求头定义了客户端从服务器请求了什么,而响应则是由一系列HTTP应答头和应答数据组成,如果请求成功则返回应答。
我的理解:每次客户端通过IE向服务器请求访问一个页面时总是使用HTTP的请求头发送GET类型或POST类型的HTTP请求头.服务器在发送应答时,发送的是HTTP应答请求。 请求头和应答具体有哪些标识,我们不详细讲了,自己看以下内容: HTTP请求头概述 (HttpServletRequest) HTTP客户程序(例如浏览器),向服务器发送请求的时候必须指明请求类型(一般是GET或者POST)。
如有必要,客户程序还可以选择发送其他的请求头。大多数请求头并不是必需的,但Content-Length除外。
对于POST请求来说Content-Length必须出现。 下面是一些最常见的请求头 Accept:浏览器可接受的MIME类型。
Accept-Charset:浏览器可接受的字符集。 Accept-Encoding:浏览器能够进行解码的数据编码方式,比如gzip。
Servlet能够向支持gzip的浏览器返回经gzip编码的HTML页面。许多情形下这可以减少5到10倍的下载时间。
Accept-Language:浏览器所希望的语言种类,当服务器能够提供一种以上的语言版本时要用到。 Authorization:授权信息,通常出现在对服务器发送的WWW-Authenticate头的应答中。
Connection:表示是否需要持久连接。如果Servlet看到这里的值为“Keep-Alive”,或者看到请求使用的是HTTP 1.1(HTTP 1.1默认进行持久连接),它就可以利用持久连接的优点,当页面包含多个元素时(例如Applet,图片),显著地减少下载所需要的时间。
要实现这一点,Servlet需要在应答中发送一个Content-Length头,最简单的实现方法是:先把内容写入ByteArrayOutputStream,然后在正式写出内容之前计算它的大小。 Content-Length:表示请求消息正文的长度。
Cookie:这是最重要的请求头信息之一 From:请求发送者的email地址,由一些特殊的Web客户程序使用,浏览器不会用到它。 Host:初始URL中的主机和端口。
If-Modified-Since:只有当所请求的内容在指定的日期之后又经过修改才返回它,否则返回304“Not Modified”应答。 Pragma:指定“no-cache”值表示服务器必须返回一个刷新后的文档,即使它是代理服务器而且已经有了页面的本地拷贝。
Referer:包含一个URL,用户从该URL代表的页面出发访问当前请求的页面。 User-Agent:浏览器类型,如果Servlet返回的内容与浏览器类型有关则该值非常有用。
UA-Pixels,UA-Color,UA-OS,UA-CPU:由某些版本的IE浏览器所发送的非标准的请求头,表示屏幕大小、颜色深度、操作系统和CPU类型。 有关HTTP头完整、详细的说明,请参见,01.abc.com属于abc.com,他们是共同的网站,只不过网站程序里面对01.abc.com这个域名做了处理,获取了这个01然后显示出01这个商铺。 那么对于这种实际上是共用一个程序网站的情况。只有两种情况 1在主站里面加上主机头bcd.com,在程序里面加对该域名bcd.com进行处理,如果访问地址是bcd.com 那么返回01.abc.com的访问内容。 2做域名跳转,新建一个空站 主机头为bcd.com,iis里面选择域名跳转资源重订向到01.abc.com
这样访问bcd.com就会跳到01.abc.com。但是跳转后现实的地址是01.abc.com。 如果想显示的是bcd.com,因为你实际上就同一个网站和程序,所以一定要在程序上改代码,光设置 无解
5. 主机头的绑定功能
如果只是简单的将两个域名A和B的域名记录解析到这个ip地址,那么web服务器在收到任何请求时反馈的都会是同一个网站的信息,这显然达不到要求。接下来我们使用主机头绑定域名A和B到他们对应的空间文件夹C和D。当含有域名A的web请求信息到达192.168.1.10时,web服务器将执行它对应的空间C中的首页文件,并返回给客户端,含有域名B的web请求信息同理,只不过解释的是空间D的文件。所以在使用主机头绑定功能后就不能使用ip地址访问其他的任何网站了,因为请求信息中不存在域名信息,所以会出错。
并非使用了主机头绑定功能后就不能使用ip地址访问其上的任何网站。同个端口可以绑定多个主机头,只需要再添加一个绑定,将主机头那栏留空不写即可用IP访问.