服务器如何处理http请求
2017-12-15 10:33
155 查看
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
相关文章推荐
- 服务器如何处理http请求
- 如何处理服务器SSL收到了一个弱临时Diffie-Hellman 密钥?
- 如何处理服务器SSL收到了一个弱临时Diffie-Hellman 密钥?
- Meter 上传apk文件后,何时,如何调用服务器的解析方法 与结果处理
- 如何提高服务器并发处理能力
- 如果客户机器无法从DHCP服务器中获取IP地址那么Windows Server 2003客户机器将会如何处理自己的TCP/IP设置
- Post形式Http请求,处理对方服务器重定向情况(303,302)
- 如何处理服务器SSL收到了一个弱临时Diffie-Hellman 密钥?
- 一次典型的网络浏览过程(浏览器和服务器如何处理cookie)
- 如何处理服务器SSL收到了一个弱临时Diffie-Hellman 密钥?
- 如何处理服务器磁盘沾满
- 如何处理服务器load高问题
- 如何处理服务器SSL收到了一个弱临时Diffie-Hellman 密钥?
- Spring源码分析之SpringMVC的DispatcherServlet是如何处理Http请求的
- 如何提高服务器并发处理能力
- express:webpack dev-server中如何将对后端的http请求转到https的后端服务器中?
- 浅谈如何提高服务器并发处理能力(来自某位大牛的博客)
- 如何干净的在服务中实现socket长链接与服务器通信并处理相应的线程问题(有更新)
- IIS服务器是如何处理ASP.NET请求的?
- 浅谈如何提高服务器并发处理能力(转自某位大牛博客)