HttpServer - Web服务器模型

Posted brt3

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HttpServer - Web服务器模型相关的知识,希望对你有一定的参考价值。

架构模型

所谓的B/S指browser/server,C/S指Client/Server,B/S架构其实就是应用于浏览器的程序,只要最后在浏览器上展现的都是 B/S架构,而非在浏览器上展现的都是C/S架构,如常见的英雄联盟游戏。但是本质上只有C/S架构,因为浏览器是一种特殊的客户端。

浏览器的特殊之处是有一下三大引擎:

  • DOM解析引擎:即浏览器可以解析html
  • 样式解析引擎:即浏览器可以解析CSS
  • 脚本解析引擎:即浏览器可以解析javascript

HTTP协议,请求与响应

HTTP是一个基于请求与响应,无状态的,应用层的协议,常基于TCP/IP协议传输数据:

  • 请求与响应:客户端发送请求,服务器端响应数据;
  • 无状态的:协议对于事务处理没有记忆能力,客户端第一次与服务器建立连接发送请求时需要进行一系列的安全认证匹配等,因此增加页面等待时间,当客户端向服务器端发送请求,服务器端响应完毕后,两者断开连接,也不保存连接状态。下一次客户端向同样的服务器发送请求时,由于他们之前已经遗忘了彼此,需要重新建立连接
  • 应用层:Http是属于应用层的协议,配合TCP/IP使用。
  • TCP/IP:Http使用TCP作为它的支撑运输协议。HTTP客户机发起一个与服务器的TCP连接,一旦连接建立,浏览器(客户机)和服务器进程就可以通过套接字接口访问TCP。

image from: 《理解Http请求与响应》

 

相关内容:

《HTTP报文详解》

《也谈GET和POST的区别》

《HTTP的无状态以及常用的状态保持方式》

《菜鸟教程:HTTP消息结构、请求方法、状态码、content-type》

《Wiki: HTTP》   《Wiki: HTTP/2.0》  《RFC 7540: HTTP协议内容》  《状态码RFC定义》

 

以上是关于HttpServer - Web服务器模型的主要内容,如果未能解决你的问题,请参考以下文章

一只会铲史的猫:我开发的软件一览

Web服务器HttpServer(嵌入式设备)

python使用web.py开发httpserver,解决post请求跨域问题

Web API源码剖析之HttpServer

Nginx web服务优化

web请求:servlet处理请求