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服务器的更多相关文章

  1. Javascript权威指南阅读笔记--第3章类型、值和变量(1)

    之前一直有个想法,好好读完JS权威指南,便于自己对于JS有个较为全面的了解.毕竟本人非计算机专业出生,虽然做着相关行业的工作,但总觉得对于基础的掌握并没有相关专业学者扎实,正好因为辞职待业等原因,还是 ...

  2. HTTP权威指南阅读笔记四:连接管理

    HTTP通信是由TCP/IP承载的,HTTP紧挨着TCP,位于其上层,所以HTTP事务的性能很大程度上取决于底层TCP通道的性能. HTTP事务的时延 如图: HTTP事务的时延有以下几种主要原因. ...

  3. Kafka 权威指南阅读笔记(第三章,第四章)

    Kafka 第三章,第四章阅读笔记 Kafka 发送消息有三种方式:不关心结果的,同步方式,异步方式. Kafka 的异常主要有两类:一种是可重试异常,一种是无需重试异常. 生产者的配置: acks ...

  4. mycat权威指南阅读笔记--序言1

    前言 mycat官方地址http://www.mycat.io/,mycat是关系数据库的中间件,也就是说它可以把后端的多个数据库,抽象成一个关系数据库. mycat能干啥 官方文档介绍,主要是用来做 ...

  5. 图解HTTP权威指南(三)| Web服务器对HTTP请求的处理和响应

    作者简介   李先生(Lemon),高级运维工程师(自称),SRE专家(目标),梦想在35岁买一辆保时捷.喜欢钻研底层技术,认为底层基础才是王道.一切新技术都离不开操作系统(CPU.内存.磁盘).网络 ...

  6. Kafka权威指南阅读笔记(第五章)

    Kafka Broker kafka 第一个启动的Broker在ZooKeeper中创建一个临时节点/controller,让自己成为控制器.其他Broker启动后在控制器节点上创建Watch对象,便 ...

  7. HTML-HTML5+CSS3权威指南阅读(五、设备像素和CSS像素的概念)

    在这个迷你系列的文章里边我将会解释viewport,以及许多重要元素的宽度是如何工作的,比如<html>元素,也包括窗口和屏幕 这篇文章是关于桌面浏览器的,其唯一目的就是为移动浏览器中相似 ...

  8. HTTP权威指南阅读笔记一:HTTP概述

    HTTP协议版本: 1.HTTP/0.9:HTTP的1991原型版本称为HTTP/0.9.这个协议有很多严重的缺陷,只应该用与与老客户端的交互.HTTP/0.9只支持GET方法,不支持多媒体内容的MI ...

  9. HTTP权威指南阅读笔记三:HTTP报文

    报文的组成部分 报文由三部分组成:对报文进行描述的起始行(start line).包含属性的首部(header),以及可选的.包含数据的主体(body)部分. 请求报文格式 <method> ...

随机推荐

  1. 第19章 queue队列容器

    /* 第19章 queue队列容器 19.1 queue技术原理 19.2 queue应用基础 19.3 本章小结 */ // 第19章 queue队列容器 // 19.1 queue技术原理 // ...

  2. Ajax readystate 5种状态

    Status 说明 0(Uninitialized) XMLHttpRequest 对象已经创建,但没调用 open 方法. 1(Loading) 调用 open 方法,但没调用 send 方法.(尚 ...

  3. eclipse颜色 字体

    字体 之前也想过搜个字体,但是看了别人的推荐也没什么太大感觉.今天我自己选择了一款字体,发现看着单词中的i等瘦型的字母会比较费力,现在我知道自己想要什么样的字体了.网上推荐Inconsolata.pf ...

  4. win7的svchost.exe占用内存过高如何解决

    方法/步骤 1 在我的电脑上点击鼠标右键,选择[管理] 步骤阅读 2 选择右侧[服务和应用程序]下的[服务]选项 步骤阅读 3 找到名称我Superfetch的服务,双击鼠标左键. 步骤阅读 4 选择 ...

  5. 关于form验证的处理片断

    public virtual void SignIn(s_User user, bool createPersistentCookie) { var now = DateTime.UtcNow.ToL ...

  6. html制作,点击文字超链接显示文本框,再点击文字超链接隐藏文本框

    </head><body> <script> window.onload=function(){ document.getElementById('click'). ...

  7. web前端开发工具HBuilder使用技巧之快捷键

    /*注:本教程针对HBuilder5.0.0,制作日期2014-12-31*/ 创建HTML结构: h 8 (敲h激活代码块列表,按8选择第8个项目,即HTML代码块,或者敲h t Enter) 中途 ...

  8. js关闭浏览器的tab页(兼容)

    由于在脚本中使用了 window.close(), 当前非弹出窗口在最新版本的chrome和firefox里总是不能关闭,而在 IE中是可以关闭的 . 在console中弹出提示"Scrip ...

  9. 【随笔】ssh登录时如何直接在参数中加入登录密码

    如同apt-get安装程序时会有-y参数来避免交互输入一样,我也希望在ssh登录时能够直接附加登录密码以避免交互式输入密码这一步,网上找了找,方法很多. 比如直接通过密钥免密码登录,不过需要改动很多, ...

  10. jQuery阻止默认行为和阻止冒泡

    1.阻止默认行为:通常是值一个标签的默认行为,如button的提交表单,a标签的跳转等. 那如何阻止标签的默认行为? 1)return false 2) e.preventDefault(); < ...