HTTP权威指南阅读笔记五:Web服务器
Web服务器会做些什么:
1、建产连接:接受一个客户端连接,或者如果不希望与这个客户端建立连接,就将其关闭。
1)处理新连接
2)客户端主机名识别
3)通过ident确定客户端用户
ident在组织内部可以很好地工作,主要是因为以下原因导致在公共因特网上并不能很好地工作:
1、很多客户端PC没有运行ident识别协议守护进程软件
2、ident协议会使HTTP事务处理产生严重的时延
3、很多防火墙不允许ident流量进入
4、ident协议不安全,容易被伪伪
5、ident协议也不支持虚拟IP地址
6、暴露客户端的用户名还涉及隐私问题
2、接收请求:从网络中读取一条HTTP请求报文
3、处理请求:对网络报文进行解释,并采取行动
4、访问资源:访问报文中指定的资源
1)docroot:web服务器需对文档根目录进行解析
2)目录列表:web服务器可以接收对目录URL的请求,其路径可以解析为一个目录,而不是文件。
3)动态内容资源的映射:在IIS中配置PHP支持就是用到了这一点
4)服务端包含项:很多web服务器还提供了对服务器端包含项(SSI)的支持。如果某个资源被标识为存在服务器端包含项,服务器就会在将其发送给客户端之前对资源内容进行处理,类型ASP。
5)访问控制:Web服务器还可以为特定资源进行访问控制。有请求到达,要访问受控的资源时,Web服务器可以根据客户端的IP进行访问控制,也可以要求输入密码来访问资源。
5、构建响应:创建带有正确首部的HTTP响应报文
1)响应实体
2)MIME类型:根据文件扩展名、魔法分类(文件内容)、显式分类(强制特定文件或目录内容拥有某个MIME类型)、类型协商(由用户定义)
3)重定向:永久搬离资源(301)、临时搬离资源(302)、URL增强(303/307)、负载均衡(303/307)、服务器关联(303/307)、规范目录名称(给URL加斜线)
6、发送响应:将响应回送给客户端
7、记录事务处理过程:将与已完成事务有关的内容记录在一个日志文件中
HTTP权威指南阅读笔记五:Web服务器的更多相关文章
- Javascript权威指南阅读笔记--第3章类型、值和变量(1)
之前一直有个想法,好好读完JS权威指南,便于自己对于JS有个较为全面的了解.毕竟本人非计算机专业出生,虽然做着相关行业的工作,但总觉得对于基础的掌握并没有相关专业学者扎实,正好因为辞职待业等原因,还是 ...
- HTTP权威指南阅读笔记四:连接管理
HTTP通信是由TCP/IP承载的,HTTP紧挨着TCP,位于其上层,所以HTTP事务的性能很大程度上取决于底层TCP通道的性能. HTTP事务的时延 如图: HTTP事务的时延有以下几种主要原因. ...
- Kafka 权威指南阅读笔记(第三章,第四章)
Kafka 第三章,第四章阅读笔记 Kafka 发送消息有三种方式:不关心结果的,同步方式,异步方式. Kafka 的异常主要有两类:一种是可重试异常,一种是无需重试异常. 生产者的配置: acks ...
- mycat权威指南阅读笔记--序言1
前言 mycat官方地址http://www.mycat.io/,mycat是关系数据库的中间件,也就是说它可以把后端的多个数据库,抽象成一个关系数据库. mycat能干啥 官方文档介绍,主要是用来做 ...
- 图解HTTP权威指南(三)| Web服务器对HTTP请求的处理和响应
作者简介 李先生(Lemon),高级运维工程师(自称),SRE专家(目标),梦想在35岁买一辆保时捷.喜欢钻研底层技术,认为底层基础才是王道.一切新技术都离不开操作系统(CPU.内存.磁盘).网络 ...
- Kafka权威指南阅读笔记(第五章)
Kafka Broker kafka 第一个启动的Broker在ZooKeeper中创建一个临时节点/controller,让自己成为控制器.其他Broker启动后在控制器节点上创建Watch对象,便 ...
- HTML-HTML5+CSS3权威指南阅读(五、设备像素和CSS像素的概念)
在这个迷你系列的文章里边我将会解释viewport,以及许多重要元素的宽度是如何工作的,比如<html>元素,也包括窗口和屏幕 这篇文章是关于桌面浏览器的,其唯一目的就是为移动浏览器中相似 ...
- HTTP权威指南阅读笔记一:HTTP概述
HTTP协议版本: 1.HTTP/0.9:HTTP的1991原型版本称为HTTP/0.9.这个协议有很多严重的缺陷,只应该用与与老客户端的交互.HTTP/0.9只支持GET方法,不支持多媒体内容的MI ...
- HTTP权威指南阅读笔记三:HTTP报文
报文的组成部分 报文由三部分组成:对报文进行描述的起始行(start line).包含属性的首部(header),以及可选的.包含数据的主体(body)部分. 请求报文格式 <method> ...
随机推荐
- html如何绑定radio控件和label控件
只要指定label的"for"属性到radio的id就行,或者用label标签包围住radio. 第一种方式: <input type="radio" i ...
- iOS button文字居中
新建一个UIButton的category .h @interface UIButton (QXTitleInCenter) -(instancetype)init; @end .m @impleme ...
- 集合框架之 List
集合框架就是Java中解决数组长度固定的问题,相当于动态数组,随时用,随时建立,内存释放 这个问题还不知道? 整个集合框架 概括为 List Set Map 这三个接口以及他们的实现类之间的应 ...
- delphi日期格式化免操作系统依赖单元
delphi免操作系统依赖单元 经常在windows里面,我们需要yyyy-mm-dd格式日期,可是用户却没有设置成这个 格式,而用程序去修改用户的日期格式设置,是不明智的,将影响其他程序的运行. 本 ...
- tp 展示页面的后台框架
基于郭河系统的tp后台管理系统 1.navicat的数据库建立: 1.1 新建数据库: 输入数据库名. 字符集 utf8. 排列规则 utf8 generai ci. 1.2新建表: id是个好习惯. ...
- freeCodeCamp:Return Largest Numbers in Arrays
右边大数组中包含了4个小数组,分别找到每个小数组中的最大值,然后把它们串联起来,形成一个新数组. 提示:你可以用for循环来迭代数组,并通过arr[i]的方式来访问数组的每个元素. /*思路 for循 ...
- win10使用Composer-Setup安装Composer以及使用Composer安装Yii2最新版
1:下载 ca-bundle.crt和cacert.pem 将这两个文件放在php目录下 2:php.ini中添加上述两个文件的路径 curl.cainfo=C:/xampp/php/ca-bundl ...
- 【kd-tree】bzoj2716 [Violet 3]天使玩偶
#include<cstdio> #include<cmath> #include<algorithm> using namespace std; #define ...
- 如何制作u盘启动盘
1,下载windows系统 许多人下载windows时会出现各种版本,我推荐在这里下载 你用上面的地址进行下载,一般用迅雷吧.下载结束你就有了镜像文件了. 2,下载安装碟软通 那 ...
- office2003-2007 绿色版 出错 文件丢失(未解决)
- 这个版本是我大学时候(2012)年一直用到现在的版本:目录结构如下: 原来一直在32位系统中使用,没有出错过; - 刚装的两台电脑系统分别为 Win7Pro 和 Win10Pro ,都是64位的: ...