Web服务器配合HTTP一台Web服务器可以搭建多个具有独立域名的网站,也可以作为通信路径上的中转服务器,提高传输效率。1.使用单个虚拟主机实现多个域名HTTP/1.1规范允许一个HTTP服务器建立多个网站。例如,提供虚拟主机服务(WebHostingService)的提供商可以使用一台服务器为多个客户提供服务,或者在每个客户持有的域名下运行不同的网站。这是因为利用了虚拟主机(VirtualHost,又称虚拟服务器)的功能。即使物理层面只有一台服务器,只要使用虚拟主机的功能,可以想象已经有多台服务器了。2、说明:客户端在使用HTTP协议访问服务器时,往往会使用到像www.hackr.jp这样的主机名和域名。3、在互联网上,通过DNS服务将域名映射到IP地址(域名解析)来访问目标网站。可以看出,当请求发送到服务器时,已经以IP地址的形式访问了。因此,如果服务器托管两个域名,www.tricorder.jp和www.hackr.jp,当收到请求时,它需要确定访问哪个域名。解决方法:在同一个IP地址下,由于虚拟主机可以托管多个主机名和域名不同的网站,所以在发送HTTP请求时,必须在Host头中完整指定主机名或域名的URI。2、通信数据转发程序:Proxy、网关、隧道HTTP通信,除了客户端和服务端,还有一些应用程序进行通信数据转发,如代理、网关、隧道。他们可以与服务器一起工作。这些应用程序和服务器可以将请求转发到通信线路上的下一个服务器,并可以从该服务器接收响应并将它们转发给客户端。1.ProxyProxy是一款具有转发功能的应用。它充当服务器和客户端之间的“中间人”,接收客户端发送的请求并转发给服务器,同时也接收服务器返回的响应并转发给服务器。客户。代理服务器的基本行为是接收客户端发送的请求,并转发给其他服务器。代理不会改变请求的URI,它会直接发送到持有前面资源的目标服务器。持有资源实体的服务器称为源服务器。从源服务器返回的响应通过代理服务器传递给客户端。每次通过代理服务器转发请求或响应时,都会添加Via头信息(在HTTP通信过程中,可以级联多个代理服务器。请求和响应的转发会经过若干个链状连接的代理服务器转发时需要添加Via头域来标记传递的主机信息。)其他用途:使用代理服务器的原因是:利用缓存技术减少网络带宽流量,内部组织对特定网站访问控制获取访问日志的主要目的等等。代理可以以多种方式使用,分为两类。一是是否使用缓存,二是是否修改消息。*缓存代理代理转发响应时,缓存代理(CachingProxy)会预先在代理服务器上保存一份(缓存)资源。当代理再次收到对同一资源的请求时,它可以返回之前缓存的资源作为响应,而不是从源服务器获取资源。*透明代理在转发请求或响应时,不对消息进行任何处理的那种代理称为透明代理(TransparentProxy)。反之,处理消息内容的代理称为非透明代理。2、网关使用网关将HTTP请求转换为其他协议通信。网关的工作机制与代理非常相似。网关使通信线路上的服务器能够提供非HTTP协议的服务。使用网关可以提高通信的安全性,因为可以在客户端和网关之间的通信线路上进行加密以确保连接安全。例如,网关可以连接到数据库并使用SQL语句查询数据。此外,当在网络购物网站上进行信用卡结算时,网关可以与信用卡结算系统链接。3.TunnelTunnel可以根据需要与其他服务器建立通信线路,然后使用SSL等加密方式进行通信。隧道的目的是确保客户端可以安全地与服务器通信。隧道本身不解析HTTP请求。换句话说,请求保持不变并转发给后续服务器。当通信双方断开连接时隧道结束。通过隧道的传输,可以安全地与远程服务器通信。隧道本身是透明的,客户端不需要关心隧道的存在。4.用于保存资源的缓存缓存是指存储在代理服务器或客户端本地磁盘上的资源副本。利用缓存减少对原始服务器的访问,从而节省通信流量和通信时间。缓存服务器是代理服务器的一种,属于缓存代理类型。也就是说,当代理转发服务器返回的响应时,代理服务器会保存一份资源副本。缓存服务器的好处是使用缓存可以避免多次从源服务器转发资源。因此,客户端可以就近从缓存服务器获取资源,源服务器不必多次处理同一个请求。缓存的有效期即使缓存服务器中有缓存,也不能保证每次都返回对同一个资源的请求。因为它关系到缓存资源的有效性。当源服务器上的资源更新时,如果你仍然使用相同的缓存,它会进化为返回更新前的“旧”资源。即使有缓存,也会因为客户端的请求和缓存的有效期等因素,向源服务器确认资源的有效性。如果判断缓存无效,缓存服务器会重新从源服务器获取“新”资源。客户端缓存缓存不仅可以存在于缓存服务器中,也可以存在于客户端浏览器中。以InternetExplorer程序为例,客户端缓存称为TemporaryInternetFile。如果浏览器缓存有效,则无需向服务器请求相同的资源,直接从本地磁盘读取即可。另外,和缓存服务器相同的一点是,当判断缓存过期时,会向源服务器确认资源的有效性。如果判断浏览器缓存失效,浏览器会重新请求新的资源。以下是以往学习的总结,有需要的朋友可以去看看~~TCP/IP基础总结学习(一):了解web和网络基础链接描述TCP/IP基础总结学习(二):简单HTTP协议链接描述TCP/IP基础总结学习(三):HTTP报文中的HTTP信息链接描述TCP/IP基础总结学习(四):HTTP状态码返回结果链接描述
