和我一起学《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 ...
随机推荐
- 基于jQuery8款超赞的评分插件
基于jquery8款超赞的评分插件.这是一款基于jquery.barrating插件实现的,该评级小部件可灵活设置CSS样式.具体效果请查看演示.效果图如下: 在线预览 源码下载 实现的代码. h ...
- One-hot 编码/TF-IDF 值来提取特征,LAD/梯度下降法(Gradient Descent),Sigmoid
1. 多值无序类数据的特征提取: 多值无序类问题(One-hot 编码)把“耐克”编码为[0,1,0],其中“1”代表了“耐克”的中 间位置,而且是唯一标识.同理我们可以把“中国”标识为[1,0],把 ...
- [转]MySQL实现分页查询
原文地址:https://blog.csdn.net/starleejay/article/details/78802610 limit 基本实现方式 一般情况下,客户端通过传递 pageNo(页码) ...
- centos7 安装oracle jdk 与openjdk 实现切换
1. 分别安装oraclejdk 与openjdk #下载安装oraclejdk rpm -ivh --prefix=/usr.java/java1.8 ***.rpm #安装openjdk su - ...
- Android——黑名单管理(二)
说明:多加一点完善 1.在操作类 DAO 将连接数据库也放到了构造方法中(错误),加删除全部的方法 2.主界面增加了姓名一栏,用layout文件将对话框分离出来 3.删除加确认提示 4.加删除全部按钮 ...
- TCP/IP协议栈
TCP/IP协议栈包含TCP层.IP层.链路层.NIC驱动等. 参考: 1. 全面了解linux TCP/IP协议栈 2. 跟我学TCP/IP系列
- Hive Tuning(五) 标准调优清单
Hive的标准调优清单,我们可以对照着来做我们的查询优化!
- Hbase 学习(四) hbase客户端设置缓存优化查询
我们在用hbase的api对hbase进行scan操作的时候,可以设置caching和batch来提交查询效率,那它们之间的关系是啥样的呢,我们又应该如何去设置? 首先是我们的客户端代码. 当cach ...
- WebUpload formdata 上传参数
https://www.cnblogs.com/wisdo/p/6159761.html webUploader 是款很好用的优秀的开源上传组件,由百度公司开发,详细的介绍可参见webUploader ...
- 微信小程序——文本的展开与收起
动态效果如下: 就是默认只显示4行,点击展开的按钮显示全部,再点击隐藏. 主要通过css来控制 主要的css: .flex-text{ margin-top: 10px; display: -webk ...