HTTP协议05-Web服务器
1)用单台虚拟主机实现多个域名
HTTP/1.1规范允许一台HTTP服务器搭建多个Web站点。比如,提供Web托管服务的供应商,可以用一台服务器为多位客户服务,也可以以每位客户持有的域名运行各自不同的网站,这是因为使用了虚拟主机(又称虚拟服务器)的功能。
客户端使用HTTP协议访问服务器时,会经常采用类似www.baidu.com这样的主机域名。
在互联网上,域名通过DNF服务映射到IP地址之后访问目标网站。请求发到服务器时,已经是以IP地址形式访问了。
所以如果一台服务器托管了两个域名。当收到请求时候要如何分清是访问哪个域名的?
相同的IP地址下,发送HTTP请求时,比如在Host首部内完整指定主机名或域名URI。
2)通信数据的转发程序
HTTP通信时,除了客户端和服务器以外,还有一些用于通信数据转发的应用程序
2.1 代理 代理是一种由转发功能的应用程序
代理服务器的基本行为就是接收客户端的请求后转发给其他服务器。不改变请求URI,会直接发送给前方持有资源的目标服务器。收到响应后把响应传给客户端。
在HTTP通信中可能通过多台代理服务器,转发时,需要附件Via首部字段以标记处经过的主机信息。
使用代理服务器的理由:利用缓存技术减少网络带宽的流量,组织内部针对特定网站的访问控制,获取访问日志为主要目的等
缓存代理:代理转发响应时,会把资源副本(缓存)到代理服务器上,遇见相同的资源请求时,就可以不用从源服务器获取资源,直接将之前的缓存作为响应返回。
透明代理:转发请求或响应时,不对报文做任何加工的代理类型被称为透明代理。反之被称为非透明代理。
2.2 网关 网关是转发其他服务器通信数据的服务器
接收从客户端发送来的请求时,它就像自己用来资源的服务器一样对请求进行处理。
网关的工作机制和代理十分相似。而网关能使通信路线上的服务器提供非HTTP协议服务。
利用网关能提高通信的安全性,因为可以在客户端和网关之间通信线路上加密以确保连接的安全
2.3 隧道 隧道在相隔很远的客户端和服务器之间进行中转,并保持双方通信连接的应用程序
隧道本身不会解析HTTP请求,请求会保持原样中转给之后的服务器
使用SSl等加密手段进行通信,隧道的目的是确保客户端能与服务器进行安全的通信。
3)保存资源的缓存
缓存是指代理服务器或客户端本地磁盘内保存的资源副本。
利用缓存可减少对源服务器的方位,节省通信流量和通信时间。
3.1 缓存的有效期
当源服务器的资源更新后,或因为客户端的要求、缓存的有效期等因素,向源服务器确认资源的有效性。如判断缓存失效,缓存服务器讲会再次从源服务器上获取新版本的资源
3.2 客户端的缓存
缓存不仅可以放在缓存服务器内,还可以存在客户端浏览器中。如果缓存有效,就不必想服务器请求相同的资源了,可以直接从本地磁盘内读取。如果缓存无效,会再次请求新资源
HTTP协议05-Web服务器的更多相关文章
- 认识JavaWeb,servlet, JSP, Tomcat, http协议,Web服务器
JavaWeb通常指服务器端的Java应用开发. 一般来说,服务器是在网络通信条件下工作的,这就离不开http协议. HTTP协议,是为服务器和客户端通信提供的规范,其中规定了信息的格式,符合规范格式 ...
- http协议、web服务器、并发服务器(上)
目录 1. HTTP格式 1.1 HTTP GET请求的格式: 1.2 HTTP POST请求的格式: 1.3 HTTP响应的格式: 2. Web静态服务器-显示固定的页面 3. Web静态服务器-显 ...
- http协议、web服务器、并发服务器(下)
Web静态服务器-5-非堵塞模式 单进程非堵塞模型 import socket import time def main(): tcp_socket_server = socket.socket(so ...
- C#中使用Socket实现简单Web服务器
上一篇博客中介绍了怎样使用socket访问web服务器.关键有两个: 熟悉Socket编程: 熟悉HTTP协议. 上一篇主要是通过socket来模拟浏览器向(任何)Web服务器发送(HTTP)请求,重 ...
- WEB服务器、应用程序服务器、HTTP服务器区别
很清晰的解释了WEB服务器.应用程序服务器.HTTP服务器区别 转载自 http://www.cnblogs.com/zhaoyl/archive/2012/10/10/2718575.html WE ...
- web服务器与应用服务器
WEB服务器与应用服务器的区别: 1.WEB服务器: 理解WEB服务器,首先你要理解什么是WEB?WEB你可以简单理解为你所看到的HTML页面就是WEB的数据元素,处理这些数据元素的应用软件就叫WEB ...
- web服务器 应用 服务器
WEB服务器.应用程序服务器.HTTP服务器有何区别?IIS.Apache.Tomcat.Weblogic.WebSphere都各属于哪种服务器,这些问题困惑了很久,今天终于梳理清楚了: Web服务器 ...
- web服务器、应用服务器、http服务器区别
引用 WEB服务器.应用程序服务器.HTTP服务器有何区别?IIS.Apache.Tomcat.Weblogic.WebSphere都各属于哪种服务器 Web服务器的基本功能就是提供Web信息 ...
- WEB服务器、应用程序服务器、HTTP服务器区别(转)
WEB服务器.应用程序服务器.HTTP服务器有何区别?IIS.Apache.Tomcat.Weblogic.WebSphere都各属于哪种服务器,这些问题困惑了很久,今天终于梳理清楚了: Web服务器 ...
- WEB服务器、应用程序服务器区别
WEB服务器.应用程序服务器.HTTP服务器有何区别?IIS.Apache.Tomcat.Weblogic.WebSphere都各属于哪种服务器,这些问题困惑了很久,今天终于梳理清楚了: Web服务器 ...
随机推荐
- sql关联更新
/****** Script for SelectTopNRows command from SSMS ******/SELECT * FROM [LFBMP.Operating].[dbo].[Sh ...
- 使用rvm安装与切换Ruby
列出已知的 Ruby 版本 rvm list known安装一个 Ruby 版本 rvm install 2.3.1 --disable-binary这里安装了最新的 2.2.0, rvm list ...
- html body 100%
html body 100% html <div class="header"> </div> <div class="main" ...
- 分布式配置 SSH 免密登陆
原地址忘记了,暂且记下 一.准备工作 1) 用客户端工具(ssh client或者putty)连接到linux服务器.在root用户下输入命令 vi /etc/hosts,用vi编辑hosts文件,如 ...
- poj2559/hdu1506 单调栈经典题
我实在是太菜了啊啊啊啊啊 到现在连个单调栈都不会啊啊啊 写个经典题 #include<cstdio> #include<algorithm> #include<cstri ...
- java-solr solrj的使用
新建一个maven项目,引入依赖: <dependencies> <dependency> <groupId>org.apache.solr</groupId ...
- c语言 贪食蛇小游戏
---恢复内容开始--- #include <stdio.h>#include <windows.h>#include <stdlib.h>#include < ...
- 【译】第九篇 SQL Server安全透明数据加密
本篇文章是SQL Server安全系列的第九篇,详细内容请参考原文. Relational databases are used in an amazing variety of applicatio ...
- 小程序开发-Step1
先申请一个小程序 https://mp.weixin.qq.com/wxopen/waregister?action=step1 根据以上链接步骤一步一步来,认识字就可以完成,没什么特殊的 申请成功之 ...
- telnet能通但是ping不通
以前本人以为Telnet通 ping一定也是通的, telnet能通,表示两台计算机之间建立了连接通道.理论上是能ping通的.如果不能ping通,可能的原因是对方主机关闭了ping回显,或者是对方的 ...