zoukankan      html  css  js  c++  java
  • WEB 基础知识(一)

    1. 系统架构

    1.1 B/S系统架构

    此处输入图片的描述

    1.2 C/S系统架构

    此处输入图片的描述

    1.3 对比与区别

    1.3.1 概述

    C/S结构,即Client/Server(客户机/服务器)结构,是大家熟知的软件系统体系结构,通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,可以充分利用两端硬件环境的优势。早期的软件系统多以此作为首选设计标准。。
    B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种 结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓3-tier结构。B/S结构,主要是 利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言(VBScript、JavaScript…)和ActiveX技术,用通用浏览器 就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。随着Windows 98/Windows 2000将浏览器技术植入操作系统内部,这种结构更成为当今应用软件的首选体系结构。

    1.3.2 详述

    Client/Server一般是建立在局域网的基础上的.Browser/Server一般是建立在广域网的基础上的.
    1.硬件环境不同:
    C/S 一般建立在专用的网络上, 小范围里的网络环境, 局域网之间再通过专门服务器提供连接和数据交换服务.
    B/S 建立在广域网之上的, 不必是专门的网络硬件环境,例与电话上网, 租用设备. 信息自己管理. 有比C/S更强的适应范围, 一般只要有操作系统和浏览器就行
    2.对安全要求不同
    C/S 一般面向相对固定的用户群, 对信息安全的控制能力很强. 一般高度机密的信息系统采用C/S 结构适宜. 可以通过B/S发布部分可公开信息.
    B/S 建立在广域网之上, 对安全的控制能力相对弱, 面向是不可知的用户群.
    3.对程序架构不同
    C/S 程序可以更加注重流程, 可以对权限多层次校验, 对系统运行速度可以较少考虑.
    B/S 对安全以及访问速度的多重的考虑, 建立在需要更加优化的基础之上. 比C/S有更高的要求 B/S结构的程序架构是发展的趋势, 从MS的.Net系列的asp.net, java的servlet,python的django等.
    4.系统维护不同
    C/S 程序由于整体性, 必须整体考察, 处理出现的问题以及系统升级. 升级难. 可能是再做一个全新的系统。对于用户来说C/S升级维护需要重新安装一个程序.
    B/S 构件组成,方面构件个别的更换,实现系统的无缝升级. 对于用户来说最多是刷新下页面。
    5.操作系统不同
    C/S 程序可以处理用户面固定, 并且在相同区域, 安全要求高需求, 与操作系统相关. 应该都是相同的系统
    B/S 建立在广域网上, 面向不同的用户群, 分散地域, 这是C/S无法作到的. 与操作系统平台关系最小.
    6.对本地接口的调用不同
    C/S 多是建立的Window平台上,需要对本地API接口操作较多.
    B/S 建立在浏览器上,浏览器都会有沙箱,对本地API接口操作必须通过浏览器才可以完成.
    7.通讯协议不同
    C/S一般是自建通讯协议,大部分是基于TCP或者SOCKET之上重新定义业务通讯协议
    B/S 通讯协议是HTTP协议,已经规定好通讯协议,不可改变

    2. 前端

    指的是浏览器端(B端)的技术,相当于C/S中的C,只是C是固定的(浏览器)

    浏览器固定了哪些东西:

    1. UI的技术:HTML+CSS+JS
    1. 通讯的协议:HTTP
    2. 对本地API的操作:上传文件等

    B端存在几种常见的浏览器:Chrome,IE,FireFox等。不同的浏览器基于标准实现的具体细节不一样。因此需要考虑浏览器兼容性问题。

    3. 后端

    需要解决的问题:

    1. 解析HTTP协议----一般由WEB服务器完成,tomcat等各种(也可以自己写socket,接收http请求,自己封装)
    2. 业务处理
      数据的验证
      数据保存
    3. 页面响应

    基本流程是这些,所以抽象出来一些所谓的框架及技术。
    java:
    > Servlet技术(将HTTP的解析、页面响应与业务处理区分开),分为WEB服务器(Tomcat等)和应用程序(各种war包)
    > 页面响应技术: JSP、servlet、freemarker等等
    > 业务处理:各种MVC的后端框架(spring mvc、Struts等)
    > 数据处理:hibernate、spring jdbc等

    python:
    > Python Web服务器网关接口(或者缩写为WSGI,读作“wizgy”),将WEB服务器和应用程序分开
    > django 业务处理各种等

    4. 参考

    http://python.jobbole.com/81523/
    http://baike.baidu.com/link?url=JE-Xpf-h0uBKCl3wPK9GQQ0U3tqtcql2ra_d1368tdQQ6FOGpiCunES9MYmH6gTfn5IJPJfBlkvP5C82QYHqOSFmW3BUhegxCCq0ixk7VJz-M9CT0YznLBnzCWc-5jCD
    http://zhidao.baidu.com/link?url=YK05yEAorh3NkdMX2oA1y6pTwZjCl7qMzCdXPgNCRwbbHYb-V6J7nnF0c_PRpolZbfB-T3cLwrKbO-Aph5f4YXdkFkvm-4SL5AXTdGN-DIy

  • 相关阅读:
    基于PI的Webservice发布实例
    SM30 表格维护生成器
    各种财务凭证的冲销
    SAP后台作业记录操作
    特性,批次特性建立的BAPI函數
    Windows 上 Nginx 路径的陷阱
    BitKeeper 和 Git
    Javascript 正则验证带 + 号的邮箱地址
    FastAdmin 开发第三天:认识目录
    PHP 中的对象传递
  • 原文地址:https://www.cnblogs.com/lzxianren/p/web_base.html
Copyright © 2011-2022 走看看