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服务器 ...
随机推荐
- Http接口开发(自测服务端客户端)
一. Http与Https的区别 1.概念 HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从www服务器传 ...
- Flink HA 搭建坑
目前网上能找到的做HA的教程基本都无法真正做到多机高可用,包括官方文档,经过很久的折腾,终于做到了多机高可用,希望其它人不再被坑. 集群模式安装 前提条件: 机器已经安装好Java环境 jobMana ...
- NGUI使用图集的精灵换图片
创建了一个sprite,选择的是某一个图集下的sprite,现在我想点击它来换图片.前提是你的sprite已经加了UIButton 代码如下: public void OnClick() { if ( ...
- Nginx记录-Nginx基础(转载)
1.Nginx常用功能 1.Http代理,反向代理:作为web服务器最常用的功能之一,尤其是反向代理. Nginx在做反向代理时,提供性能稳定,并且能够提供配置灵活的转发功能.Nginx可以根据不同的 ...
- mysql导入导出sql文件,source导入速度慢的解决办法
1.导出整个数据库mysqldump -u 用户名 -p 数据库名 > 导出的文件名mysqldump -u dbuser -p dbname > dbname.sql2.导出一个表mys ...
- HDU 1038(速度里程计算 **)
题意是已知车轮的直径,圈数和时间,求所行驶的里程和速度. 单位换算,代码如下: #include <bits/stdc++.h> using namespace std; const do ...
- Web 学习笔记(一)百度统计
一.百度统计是什么? 百度统计是百度推出的一款免费的专业网站流量分析工具,能够告诉用户访客是如何找到并浏览用户的网站,在网站上做了些什么,有了这些信息,可以帮助用户改善访客在用户的网站上的使用体验,不 ...
- 虚拟机 the image's hash and certificate are not allowed 解决方案
根据计划,需要在虚拟机上安装一个linux系统,用作web架构学习的服务器. 公司项目的服务器用的是linux系统,具体版本未知.虽然我们开发不用关注最后的部署,但多少也接触了一些,算是有一定的了解, ...
- 064、Weave网络结构分析(2019-04-04 周四)
参考https://www.cnblogs.com/CloudMan6/p/7482035.html Weave网络使用之前需要执行 eval $(weave env) ,其作用是将后续的doc ...
- DataReader分页性能测试
参考程序地址:http://www.cnblogs.com/eaglet/archive/2008/10/09/1306806.html 最近遇见程序慢的问题,使用的DataReader,猜想是分页导 ...