读《图解HTTP》有感-(与HTTP协作的WEB服务器)
- 写在前面
Web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以向浏览器等Web客户端提供文档;
一台web服务器可以搭建多个独立域名的web网站,也可以作为通信路径(路由)上的中转服务器。
- 正文
1、用单台虚拟主机实现多个域名
1.1、HTTP/1.1规范允许在一台HTTP上搭建多个web站点
1.2、在相同的IP地址下,虚拟主机可以寄存多个不同主机名和域名的web网站
1.3、在HTTP请求报文中的HOST首部指定完整的主机名或页域名的URI
2、通信数据转发程序:代理、网关、隧道
这些应用程序和服务器的作用是:转发请求给链路层的其他服务器,并接收目的服务器的响应,再转发给请求端
2.1、代理:
代理是一种具有转发功能的应用程序。接收客户端的请求再转发给服务端,同时也接收服务端的响应再转发给客户端;
代理服务器:

通过代理服务器实现代理。
为什么使用代理服务器?
- 利用缓存技术减少网络带宽
- 实现网络访问权限控制
2.2、网关
网关是转发其他服务器的通信数据的服务器(网关就像源服务器一样做源服务器的处理工作)。

网关的工作机制和代理十分相似,但网关能是通信线路上的服务器提供非HTTP协议的服务。(如:SSL安全套接层协议)
2.3、隧道
隧道是在距离遥远的客户端和服务端之间做中转,并保证双方安全的通信协议

隧道不会解析HTTP请求,也就是说隧道不会向报文首部追写信息
3、保存资源的缓存
缓存是指代理服务器或者是客户端本地磁盘内保存的资源副本。
利用缓存可以减少对源服务器的访问,从而节省网络带宽、减少通信时间

当再次请求源服务器的数据时,如果缓存服务器的资源未失效,则缓存服务器会把缓存的资源直接响应给客户端,而不会再次去访问源服务器,从而节省了网络通信流量和通信时间
4、补充说明
4.1、基于DNS解析协议,由于不同域名地址的web站点部署在同一台主机上,所以他们的IP地址是相同的
4.2、在网络通信过程中,请求或者响应报文每经过一个代理服务器都会附加Via首部字段以标记经过的主机信息
- 交流学习
笔者能力有限。如有纰漏,望斧正
2017-10-12
于长沙
读《图解HTTP》有感-(与HTTP协作的WEB服务器)的更多相关文章
- 与http协作的web服务器、http首部(第五章、第六章)
第五章 与http协作的web服务器 1.用单台虚拟主机实现多个域名 通过域名访问主机,经过DNS解析成ip地址,反向代理,可以代理多台服务器,正向代理则相反,代理客户端 2.通信数据转化程序:代理. ...
- 第五章 与HTTP协作的Web服务器
第五章 与HTTP协作的Web服务器 一台Web服务器可搭建多个独立域名的Web网站,也可以作为通信路径上的中转服务器提升传输效率. 1.用单台虚拟机实现多个域名 HTTP/1.1规范允许一台HTT ...
- 图解HTTP总结(5)——与HTTP协作的Web服务器
一台 Web 服务器可搭建多个独立域名的 Web 网站, 也可作为通信路径上的中转服务器提升传输效率. 用单台虚拟主机实现多个域名 HTTP/1.1 规范允许一台 HTTP 服务器搭建多个 Web 站 ...
- 与http协作的web服务器--代理、网关、隧道
一台服务器可以搭建多个web站点 代理: 接受客户端发送的请求,转发给其他服务器,然后接受服务器的返回结果(响应)再返回给客户端.每次经过代理服务器,就会追加写入via首部信息. 按两种基准分类.一种 ...
- HTTP协议图--与 HTTP 协作的 Web 服务器
HTTP 通信时,除客户端和服务器外,还有一些用于协助通信的应用程序.如下列出比较重要的几个:代理.缓存.网关.隧道.Agent 代理. 1.代理 代理 HTTP 代理服务器是 Web 安全.应用 ...
- 与HTTP协作的Web服务器——代理、网关、隧道
1.虚拟主机 (1)HTTP/1.1规范允许一台HTTP服务器搭建多个Web站点: (2)在互联网上,域名通过DNS服务映射到IP地址(域名解析)之后访问目标网站,即当请求发送到服务器时,已经是以IP ...
- 与http协作的web服务器
1.虚拟主机 一台web服务器可以搭建多个独立域名的web网站,也可以作为通信线路上的中转服务器提升传输效率.比如web托管服务供应商可以用一台服务器为多个不同域名的客户提供服务,这是利用了虚拟主机( ...
- 图解HTTP权威指南(三)| Web服务器对HTTP请求的处理和响应
作者简介 李先生(Lemon),高级运维工程师(自称),SRE专家(目标),梦想在35岁买一辆保时捷.喜欢钻研底层技术,认为底层基础才是王道.一切新技术都离不开操作系统(CPU.内存.磁盘).网络 ...
- 图解 HTTP 笔记(五)——Web 服务器
该章的主要内容是讲解与 HTTP 协作的 Web 服务器 一.用单台虚拟主机实现多个域名 基于虚拟主机的功能,可以只使用一台物理机实现多个域名的网站部署. 在互联网上,域名通过 DNS 域名解析系统可 ...
随机推荐
- jquery sortable的拖动方法内容说明和示例详解(转载http://www.jb51.net/article/45803.htm)
所有的事件回调函数都有两个参数:event和ui,浏览器自有event对象,和经过封装的ui对象 ui.helper - 表示sortable元素的JQuery对象,通常是当前元素的克隆对象 u ...
- Java集合之Stack
Stack是栈,特性是先进后出(FILO,First In Last Out).Stack是继承于Vector(矢量队列),由于Vector是同数组实现的,Stack也是通过数组而非链表. Stack ...
- ffdshow 源代码分析 7: libavcodec视频解码器类(TvideoCodecLibavcodec)
===================================================== ffdshow源代码分析系列文章列表: ffdshow 源代码分析 1: 整体结构 ffds ...
- Gradle 1.12用户指南翻译——第三十一章. FindBugs 插件
其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Github上的地址: https://g ...
- C/C++语言中NULL、'\0’和0的区别
注:本文参考了http://blog.csdn.net/mylinx/article/details/6873253及书籍<征服C指针>([日]前桥和弥著). NULL.'\0'和0的值是 ...
- 是我out了,c11标准出炉鸟
gcc -std=c11 -Wall -O3 -g0 -s -o x.c x 或者 clang -std=c11 -Wall -O3 -g0 -s -o x.c x 来吧! 我是有多无聊啊 测试代码: ...
- iOS视频播放Demo VideoPlayerDemo
VideoPlayerDemo https://github.com/CaliosD/VideoPlayerDemo 一个视频播放的例子,使用了pod.
- [Other]在 Docker 当中搭建 Docfx 站点
一.简介 Docfx 是微软开发的一款开源的文档生成工具,其默认支持 C# 与 VB.Net 这两种项目的文档生成,支持 DotNetCore 项目,并且还可以打包成一个静态的 Web 站点,而且还支 ...
- 3sum(从数组中找出三个数的和为0)
Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find all un ...
- leetcode刷题指南
转载自:http://blog.csdn.net/lnho2015/article/details/50962989 以下是我个人做题过程中的一些体会: 1. LeetCode的题库越来越大,截止到目 ...