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服务器 ...
随机推荐
- hive metastore && hiveserver2 . jvm 配置调整优化
hive-env.sh 添加如下,其中踩坑踩了不少. if [ "$SERVICE" = "metastore" ]; then if [ -z "$ ...
- Tomcat记录-tomcat常用配置详解和优化方法(转载)
常用配置详解 1 目录结构 /bin:脚本文件目录. /common/lib:存放所有web项目都可以访问的公共jar包(使用Common类加载器加载). /conf:存放配置文件,最重要的是serv ...
- solr插件导入数据库中的数据
solr插件导入数据库中的数据 1:自定义与数据库对应的域: 1.1. 设置业务系统Field 如果不使用Solr提供的Field可以针对具体的业务需要自定义一套Field. 例如:如下是商品信息Fi ...
- vue-router中query与params区别
query和params两者都是在Vue路由中传参. 用法: query用path来引入,params只能用name来传递,不能使用path 展示效果:query更像ajax中get请求(会在地址栏显 ...
- npm scripts 脚本基础指南
什么是npm脚本? npm 允许在package.json文件里面,使用scripts字段定义脚本命令. 初始化package.json -> npm init -> 经历一系列的问答即可 ...
- Postman 安装及使用入门教程 (谷歌浏览器插件版)
postman 在 谷歌浏览器中插件版 http://www.cnblogs.com/mafly/p/postman.html Postman 4.1.2 下载地址: http://files.cnb ...
- vue 中 使用百度编辑器 UEditor
(单页应用,多编辑器也可行) 新建一个Ueditor.vue组件对象,该组件用来封装ueditor,用来进行复用. <template> <div> <!--下面通过传递 ...
- Linux 用top命令查看CPU和内存使用情况
直接 top 回车 PID:进程的ID USER:进程所有者 PR:进程的优先级别,越小越优先被执行 NInice:值 VIRT:进程占用的虚拟内存 RES:进程占用的物理内存 SHR:进程使用的共享 ...
- Android圆角矩形
1.在drawable中创建shape_round文件 <?xml version="1.0" encoding="utf-8"?> <sha ...
- CC2541设置中断输入模式
//P0.0 /* SW_6 is at P0.1 */#define HAL_KEY_SW_6_PORT P0#define HAL_KEY_SW_6_BIT BV(0)#define HAL_KE ...