博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
服务器如何处理http请求
阅读量:6931 次
发布时间:2019-06-27

本文共 662 字,大约阅读时间需要 2 分钟。

1.需求

了解服务端如何处理http请求,了解基本的处理流程

2.实战

处理http请求分为7个步骤

2.1 Tcp连接

建立一条tcp链接,(若之前不存在持久链接keep-alive),把客户端的ip和port,服务端的ip和port数据放到web服务器连接表中。服务器随时监听链接表中的链接,看有没有数据变化

2.2 接收http请求

一旦我们发送http请求了,这条tcp链接就开始工作了。因为web服务器链接表中有许多链接需要被处理,处理的方式有单线程,多线程这些(这些涉及操作系统的知识)。

2.3 处理http请求

处理的过程大致是把请求的信息解析出来,如下图

 

2.4 访问资源

访问资源可以是访问静态资源,这个就直接根据url地址去服务器里找就好了。

访问动态资源的话要经过一个叫cgi的东西,再用服务端脚本处理,再返回给前端。如下图所示

2.5 构建响应

要是找到资源,则构建响应信息,包括响应的对象类型,长度,状态码。

另一个情况是重定向响应,就是直接返回一个重定向,客户端看到之后,立刻再向重定向的地址发起请求。重定向的响应的状态码一般是3xx。

2.6 发送响应

把构建的响应发送给客户端

2.7 记录日志

服务端对这个请求响应过程进行记录。(另外专门再讲)

 

3.总结

以上是服务端处理http请求的大致过程。能让大家有个大致轮廓,当然里面有很多细节的知识没讲到,要另外查询资料并学习。

 

参考资料:http权威指南

 

https://www.cnblogs.com/norm/p/6189596.html

你可能感兴趣的文章
Eclipse对printf()不能输出到控制台的解决方法
查看>>
【转】Open Live Writer 插件更新
查看>>
Spring Security验证流程剖析及自定义验证方法
查看>>
单链表的创建,查找,删除,插入。
查看>>
Java知识积累——Properties类的使用示例
查看>>
转:分布式ID生成方法
查看>>
python学习---装饰器
查看>>
Facial Feature Detection
查看>>
例题6-17 UVa10562 Undraw the Trees(树)
查看>>
jq屏蔽鼠标右键复制,粘贴,选中功能
查看>>
常见常数优化以及代码风格
查看>>
音频特征提取——pyAudioAnalysis工具包
查看>>
mysql 查询优化 ~ select count 知多少
查看>>
P1005 矩阵取数游戏
查看>>
.NET 海量数据并发处理
查看>>
WCF关于VS2010的配置
查看>>
oracle ORA-01840:输入值对于日期格式不够长
查看>>
20161101学习笔记
查看>>
20161115学习笔记
查看>>
深度解析Struts2中ValueStack
查看>>