和我一起学《HTTP权威指南》——Web服务器
Web服务器
Web服务器会做些什么

- 1.建立连接(接受或关闭一个客户端连接)
- 2.接收请求(读取HTTP报文)
- 3.处理请求(解释请求报文并采取行动)
- 4.访问资源
- 5.构建响应(创建带有正确首部的HTTP响应报文)
- 6.发送响应
- 7.记录事务处理过程(将已完成事务有关的内容记录在日志文件中)
1.接受客户端连接
处理新连接
客户端请求TCP连接---->Web服务器建立连接--->服务器判断是哪一个客户端,从TCP连接中解析出IP地址--->服务器将新连接添加到Web服务器连接列表中,监视连接上的数据传输
客户端主机名识别
用反向DNS配置Web服务器:将客户端IP地址转换为客户端主机名
2.接收请求报文
读取数据并解析请求报文
3.处理请求
收到请求,可根据方法资源首部和可选的主体部分对请求进行处理
4.对资源的映射及访问
Web服务器是资源服务器。(发送预先创建好的内容或运行在服务器上的资源生成程序所产生的动态内容)
发送之前,将请求报文中的URI映射为Web服务器上适当的内容或内容生成器
4.1docroot
Web服务器的文件系统中会有一个特殊的文件夹专门存放Web内容,叫文档的根目录(document root,docroot)

4.2动态内容资源的映射
服务器将URI映射为动态资源,映射到按需动态生成内容的程序上去。
5.构建响应
服务器识别出资源,执行请求方法中的描述的动作,返回响应报文。

5.1重定向
服务器返回重定向响应,服务器将浏览器重定向到其他地方执行请求。
重定向响应由返回码3XX说明
例如,很多网站都有多个域名,如锤子的官网就有
t.tt和www.smartisan.com两个,t.tt会重定向到smartisan.com这个域名。

6.发送响应
服务器有很多条到各个客户端的连接,有些空闲,有些在向服务器发送数据,有些在向客户端回送响应数据。服务器要记录连接的状态。
7.记录日志
事务结束后,服务器在日志文件中添加一个条目描述已执行的事务。
和我一起学《HTTP权威指南》——Web服务器的更多相关文章
- JavaScript权威指南--WEB浏览器中的javascript
知识要点 1.客户端javascript window对象是所有客户端javascript特性和API的主要接入点.它表示web浏览器的一个窗口或窗体,并且可以用window表示来引用它.window ...
- Http权威指南(服务器、缓存)
对于web服务器(软件)大家应该不会陌生,常见的web服务器有Apache.IIS.Tomcat.Nginx.Jetty等等. 1.基本功能 几乎所有的web服务器都会执行以下几项同样的任务: 1.建 ...
- HTML5权威指南--Web Storage,本地数据库,本地缓存API,Web Sockets API,Geolocation API(简要学习笔记二)
1.Web Storage HTML5除了Canvas元素之外,还有一个非常重要的功能那就是客户端本地保存数据的Web Storage功能. 以前都是用cookies保存用户名等简单信息. 但是c ...
- 如何用PHP/MySQL为 iOS App 写一个简单的web服务器(译) PART1
原文:http://www.raywenderlich.com/2941/how-to-write-a-simple-phpmysql-web-service-for-an-ios-app 作为一个i ...
- HTTP权威指南阅读笔记五:Web服务器
Web服务器会做些什么: 1.建产连接:接受一个客户端连接,或者如果不希望与这个客户端建立连接,就将其关闭. 1)处理新连接 2)客户端主机名识别 3)通过ident确定客户端用户 ident在组织内 ...
- 和我一起学《HTTP权威指南》——连接管理
连接管理 1.TCP连接 几乎所有的HTTP通信都是由TCP/IP承载的. 浏览网页时客户端执行的操作: 如浏览http://www.joes-hardware.com:80/power-tools. ...
- 图解HTTP权威指南(三)| Web服务器对HTTP请求的处理和响应
作者简介 李先生(Lemon),高级运维工程师(自称),SRE专家(目标),梦想在35岁买一辆保时捷.喜欢钻研底层技术,认为底层基础才是王道.一切新技术都离不开操作系统(CPU.内存.磁盘).网络 ...
- 《Web性能权威指南》
<Web性能权威指南> 基本信息 原书名:High performance browser networking 原出版社: O'Reilly Media 作者: (加)Ilya Grig ...
- web性能权威指南(High Performance Browser Networking)
web性能权威指南(High Performance Browser Networking) https://www.cnblogs.com/qcloud1001/p/9663524.html HTT ...
随机推荐
- mysql-connector-java-5.1.22下载
java连接mysql时,需要安装驱动.如果未安装,会出现找不到“com.mysql.jdbc.Driver”的错误. 最新版驱动是:mysql-connector-java-5.1.22 下载地址: ...
- struts工作原理不错的解释___
Struts 使用 Model 2 架构.Struts 的ActionServlet 控制导航流.其他Struts 类,比如Action, 用来访问业务逻辑类.当 ActionServlet 从容器接 ...
- jquery chosen api
title prev Chosen 选项列表 demo.html Chosen 选项列表 通过参数传递的选项 以下参数在实例化的时候通过参数设置. $('.my_select_box').chosen ...
- python Anaconda 安装管理包,开发环境
在自己的电脑上安装Anaconda,用conda create创建一个python 2.7版本的environment.今后我们的程序都在这个环境下执行 0.download anaconda and ...
- spring boot模仿reponseBody注解,自定义注解,返回值加上元数据
简介 ResponseBody是通过RequestResponseBodyMethodProcessor起作用的. 我们的做法是写一个包装类,替换掉他 问题:怎么替换呢? 取出 Spring的List ...
- JS获取电脑或手机屏幕的分辨率
s = " 屏幕分辨率的高:"+ window.screen.height+"\n"; s += " 屏幕分辨率的宽:"+ window.s ...
- Aspose.Cells Smart markers 基于模板导出Excel
Aspose.Cells可以预先定义Excel模板,然后填充数据(官方文档:http://www.aspose.com/docs/display/cellsjava/Smart+Markers). 设 ...
- Hbase 学习(五) 调优
1.垃圾回收器调优 当我们往hbase写入数据,它首先写入memstore当中,当menstore的值大于hbase.hregion.memstore.flush.size参数中设置的值后,就会写入硬 ...
- PCL点云特征描述与提取(2)
点特征直方图(PFH)描述子 正如点特征表示法所示,表面法线和曲率估计是某个点周围的几何特征基本表示法.虽然计算非常快速容易,但是无法获得太多信息,因为它们只使用很少的几个参数值来近似表示一个点的k邻 ...
- node学习笔记6——自定义模块
自定义模块三大关键词: require——引入模块: exports——单个输出: module——批量输出. 从例子下手: 1.创建module.js: exports.a=22; exports. ...