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

2 篇文章 0 订阅
2 篇文章 0 订阅
 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 头的文本命令后,服务器端代码也就知道该怎样处理这些数据了。

 

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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值