现在的位置: 首页 > 综合 > 正文

关于B/S模型的一点总结

2018年05月14日 ⁄ 综合 ⁄ 共 1266字 ⁄ 字号 评论关闭

 B/S 模型基本的骨架,个人感觉是一个最基本的服务器客户端模型(
C/S )进行一系列
send() recv()
TCP 通信,收到的是基于
TCP 的数据流
streams,
在数据流基础上,有了 HTTP 协议,客户端也演变成了浏览器,一个客户端程序的特例,只不过在现在广泛通用化了,每个机器都有
IE
FireFox
,之类。服务端也演变成了一个带有 HTTP 协议及
HTML 解析功能模块的
Web
服务端,浏览器总是可以 send() 一些类似于
get post 的请求,请求一些由
<html></html>
组成的特殊的基于文本的数据,这个过程完成于你在浏览器输入完网址回车之后。当
recv()
收到来自 Web 服务器
<html><body>…</body></html>
这些元素如果直接展现给用户,则是没有什么实际意义,人们关注的只是所见即所得可读文字,所以浏览器要进行一些 解析工作,例如 浏览器看到
<img src=”/border.jpg”>… 就知道在某个位置插入相应的图片。类似的可以扩充到其他的元素例如
<span> <div> ,还有
css
也是通过浏览器解析,然后加载一些显示特性。这是浏览器客户端的一些工作。然后再说说
IIS Apache Tomcat
这类 Web 服务器,最基本的
web 服务器有几个基本动作,
listen()
监听浏览器, recv() 浏览器请求收到,收到请求在本地存储调出对应页面,将页面文件数据反馈给浏览器,但是类似与
JSP
PHP
这类高级动态网页及 Web 服务器又附加了其他一些额外功能,例如
JSP ,当
Jsp Web
服务器收到了一个来自浏览器的请求,通常是带参数的高级请求,类似于这样

http://cwebmail.mail.163.com/js4/main.jsp?sid=SAAQaMJJbWvGQzxQhMJJKtjpWtXWrhvq#module=welcome.WelcomeModule

当服务器收到请求之后,会首先解析一些
HTTP
附加参数,例如也就是将 jsp? 之后的内容解析出来,根据这些参数指定的条件(可能是一些类似数据库查询条件),结合解析
JSP 页面解析,这里
JSP
页面解析即将页面中的例如 <%=><%param> 根据服务器上下文配置调入某些
Java Bean ,创建组件,调用
Java Class
代码,配合传进来的参数执行 .class 文件,并通过某种方式将执行结果按照
JSP 指定格式,
<%=rs.getName()>
插入到基本 HTML 元素中,这样在浏览器端看来,就得到了一种动态的效果,即不单纯获得静态的
HTML 文本,而是经过
JSP Web
服务器深加工的动态数据。这种原理的最基本形式就是文本替换。

再回到浏览器端,我们通过浏览器(
IE
)展现出的空间例如 文本框,单选框,按钮,提交某些数据,归结起来也可以说是将命令文本化,例如文本框的内容可以转化为
URL
? 后的参数,或者是
POST
方式数据提交,以及 Ajax 的异步通信。服务器端在收到这些数据和
HTTP 头的文本命令后,服务器端代码也就知道该怎样处理这些数据了。

 

欢迎大虾及童鞋补充想法,提出建议~

抱歉!评论已关闭.