Web概述

1.1 程序开发架构

1.1.1C/S体系结构介绍

  • C/S是Client/Server的缩写,即客户端/服务器结构。
  • 在这种结构中,服务器 通常采用高性能的机或工作站,并采用大型数据库系统(如Oracle或SQLServer)
  • 客户端 则需要安装专用的客户端软件,如图下所示。
  • 这种结构可以充分利用两端硬件环境的优势,将任务合理分配到客户端和服务器,从而降低了系统的通信开销。在2000年以前,C/S结构占据网络程序开发领域的主流。

image.png

1.1.2 B/S体系结构介绍

  • B/S是Brower/Server的缩写。即浏览器/服务器结构。
  • 在这种结构中,客户端不需要开发任何用户界面,而统一采用如IE和Firefox等浏览器,向服务器发送请求,由Web服务器进行处理。并将处理结果逐级传回客户端.如下图所示。
  • 这种结构利用不断成熟和普及的浏览器技术实现原来需要复杂专用软件才能实现的强大功能,从而节约了开发成本,是一种全新的软件体系结构。
  • 这种体系结构已经成为当今应用软件的首选体系结构。

image.png

1.1.3 两种体系结构的比较

C/S结构和B/S结构是当今世界网绍程序开发体系结构的两大主流.目前,这两种结构都有自己的市 场份和客户群。但是,这两种体系结构又各有各的优点和缺点,下面将从以下3个方面进仃比较说明。

1.分发和堆护成本方面
  • C/S构的开发和维护成本都比B/S高。
  • 采用C/S结构时,对于不同客户端要开发不同的程序,而且软件的安装、调试和升均需要在所有的客户机上进行。例如,如果一个企业共有10个客户站点使用一套C/S结构的软件,则这10个客户站点都需要安装客户端程序·当这套软件进行了哪怕很微小的改动后,系统维护员都必须将客户端原有的软件卸载,再安装新的版本并进行配置,最可怕的是客户端的维护工作必须不折不扣地进行10次。若某个客户端忘记进行这样的更新,则该客户端将会因软件版本不一致而无法工作。
  • 而B/S结构软件,则不必在客户端进行安装及维护。如果将前面企业的C/S结构的软件换成B/S结构。这样在软件升级后。系统维护员 只需要将服务器的软件升级到最新版本,对于其他客户端,只要重新登录系统即可使用最新版本的软件。
2.客户负载
  • C/S结构的客户端不仅负责与用户的交互,收集用户信息,而且还需要完成通过网络向服务器请求 对数据库、电子表格或文档等信息的处理工作。由此可见。应用程序的功能越复杂,客户斕程序也就 越庞大,这也给软件的维护工作带来了很大的困难
  • 而B/S结构的客户端把事务处理逻辑部分交给了服务器,由服务器进仃处理,客户端只需要进行显示,这样,将使应用程帛服务器的运行数据负荷较重一旦发生服务器“崩溃”等问题,后果不堪设想。因此,许多单位都备有数据库存储服务器,以防万一。
3.安全性
  • C/S结构适用于专人使用的系统,可以通过严格的管理派发软件.达到保证系统安全的目的,这样的软件相对来说安全性比较高
  • 而对于B/S结构的软件,由于使用的人数较多,且不固定。相对来说安全性就会低些。 由此可见,B/S相对于C/S来说具有更多的优势,今大量的应用程序开始转移到应用B/S结构, 许多软件公司也争相开发B/S版的件,也就是Web应用程序。随着Internet的发展,基于HTTP协 议和HTML标准的Web应用呈几何数量级的增长,而这些Web应用又是由各种Web技术所开发的。

1.2 Web应用程序的工作原理

Web应用程序大体上可以分为两种,即静态网站和动态网站。早期的web应用主要是静态页面的 浏览,即静态网站。这些网站使用HTML语言来编写,放在Web服务器上,用户使用浏览器通过HTTP协议请求服务器上的Web页面,服务器上的Web服务器将接收到的用户请求处理后,再发送给客户端浏览器,显示给用户。整个过程如图1.3所示

随着网络的发展,很多线下业务开始向网上发展,基于Internet的web应用也变得越来越复杂,用户所访问的资源已不能只是局限于服务器上保存的静态网页,更多的内容需要根据用户的请求动态生成页面信息,即动态网站。这些网站通常使用HTML语言和动态脚本语言(如JSP、ASP或是PHP等)编写,并将编写后的程序部署到Web服务器上,由Web服务器对动态脚本代码进行处理,并转化浏览器可解析的HTML代码,返回给客户端浏览器,显示给用户。整个过程如图1.4所示。

image.png

1.3 Web应用技术

在开发Web应用程序时通常需要应用 客户端服务区 两方面的技术。 客户端 应用的技术主要用于 展现信息内容 ,而 服务器 应用的技术则主要用于进行 业务逻辑的处理数据库的交互 等。

1.3.1 客户端应用的技术
  • HTML语言
  • CSS
  • Flash
  • 客户端脚本技术 HTML语言不区分大小写,这一点与Java不同,例如HTML标记<body></body>也可以写为<BODY></BODY>。 在网中用CSS样式不仅可以 美化页面,而且可以 优化网页速度 。因为CSS样式表文件只是简单的文本格式,不需要安装额外的第三方软件。另外,由于CSS提供了很多还效果从而 避免使用大量的图片 ,这样将 大大缩小文件的体积,提高下载速度。
1.3.2 服务器端应用的技术
  • CGI
  • ASP
  • PHP
  • ASP.NET
  • JSP

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/3303.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【SQL应知应会】分析函数的点点滴滴(一)

欢迎来到爱书不爱输的程序猿的博客, 本博客致力于知识分享&#xff0c;与更多的人进行学习交流 本文收录于SQL应知应会专栏,本专栏主要用于记录对于数据库的一些学习&#xff0c;有基础也有进阶&#xff0c;有MySQL也有Oracle 分析函数的点点滴滴 1.什么是分析函数&#xff1a;…

【系统开发】尚硅谷 - 谷粒商城项目笔记(七):消息队列

文章目录 消息队列概述两大种类RabbitMQ安装及基操Docker中安装添加用户创建Virtual Hosts设置权限添加交换机创建队列交换机绑定队列 五种消息模型SpringBoot整合MQ引入依赖properties配置开启RabbitMQ API使用创建交换机创建队列交换机绑定队列发送消息接收消息 消息确认机制…

【Spring Cloud Alibaba Seata 处理分布式事务】——每天一点小知识

&#x1f4a7; S p r i n g C l o u d A l i b a b a S e a t a 处理分布式事务 \color{#FF1493}{Spring Cloud Alibaba Seata 处理分布式事务} SpringCloudAlibabaSeata处理分布式事务&#x1f4a7; &#x1f337; 仰望天空&#xff0c;妳我亦是行人.✨ &#x1f98…

基于Elasticsearch + Fluentd + Kibana(EFK)搭建日志收集管理系统

目录 1、EFK简介 2、EFK框架 2.1、Fluentd系统架构 2.2、Elasticsearch系统架构 2.3、Kibana系统架构 3、Elasticsearch接口 4、EFK在虚拟机中安装步骤 4.1、安装elasticsearch 4.2、安装kibana 4.3、安装fluentd 4.4、进入kibana创建索引 5、Fluentd配置介绍 Elas…

WWDC 23 之后的 SwiftUI 有哪些新功能

文章目录 前言数据流动画ScrollView搜索新手势新增的小功能总结 前言 WWDC 23 已经到来&#xff0c;SwiftUI 框架中有很多改变和新增的功能。在本文中将主要介绍 SwiftUI 中数据流、动画、ScrollView、搜索、新手势等功能的新变化。 数据流 Swift 5.9 引入了宏功能&#xff…

【FPGA】Verilog:时序电路 | 触发器电路 | 上升沿触发 | 同步置位 | 异步置位

前言&#xff1a;本章内容主要是演示Vivado下利用Verilog语言进行电路设计、仿真、综合和下载 示例&#xff1a;触发器电路 ​ 功能特性&#xff1a; 采用 Xilinx Artix-7 XC7A35T芯片 配置方式&#xff1a;USB-JTAG/SPI Flash 高达100MHz 的内部时钟速度 存储器&#xff1a;…

VS2022 And QtCreator10 调试 Qt 源码教程

文章目录 背景IDE 调试 Qt 源码Visual Studio 2022Qt Creator 10.0.1 排查思路姊妹篇系列 简 述&#xff1a; 记录使用 Visual Studo 2022 和 QtCreator10 调试 Qt 5.15 源码和 加载 .pdb 的方法。 本文初发于 “偕臧的小站”&#xff0c;同步转载于此。 背景 源码&#xff1a;…

软考A计划-系统集成项目管理工程师-项目范围管理(一)

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列 &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff…

C# Excel 表列序号

171 Excel 表列序号 给你一个字符串 columnTitle &#xff0c;表示 Excel 表格中的列名称。返回 该列名称对应的列序号 。 例如&#xff1a; A -> 1 B -> 2 C -> 3 … Z -> 26 AA -> 27 AB -> 28 … 示例 1: 输入: columnTitle “A” 输出: 1 示例 2: …

数据库原理之数据库事物

文章目录 一、事物介绍1.1 事物的目的是保证数据的一致性1.2 事物的ACID A、I、D是为了实现 C1.3 什么是本地事物(Local Transactions) 二、数据库系统如何实现ACID2.1 影响深远的ARIES理论2.2 本地事物如何实现原子性和持久性 A、D2.2.1 实现原子性和持久性的Commit Logging方…

基于物联网、区块链技术的质量管控防伪溯源系统源码

一物一码防伪溯源系统能准确获取产品生产经营各个环节的真实信息&#xff0c;利用物联网、云计算 、区块链、人工智能、5G等先进技术&#xff0c;结合特有的码码关联和RSA加密验证技术&#xff0c;建立区块链的“身份证”&#xff0c;针对产品生长到销售各环节的质量安全数据进…

结构体和数据结构--结构体数组的定义和初始化

目录 一、结构体数组的定义 二、结构体数组的初始化 一、结构体数组的定义 一个结构体变量只能表示学生成绩管理表中的一个学生的记录信息&#xff0c;代表其中的一个实例&#xff0c;而实际数据库中有多个学生的记录&#xff0c;每个记录对应一个学生的信息&#xff0c;如何…