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定义》

 

posted @ 2018-09-15 09:24  daw1213  阅读(444)  评论(0编辑  收藏  举报