【测试】C/S结构与B/S结构的概念与区别

随心所欲而无愧于心

文章目录

  • 前言
  • 1. B/S
    • 1.1 B/S结构概念
    • 1.2 B/S结构软件的工作过程
    • 1.3 B/S结构软件的环境搭建
  • 2. C/S结构软件
    • 2.1 C/S结构概念
    • 2.2 C/S软件工作过程


前言

一般情况下,软件有两种结构架构,一种是浏览器/服务器即B/S(Browser/Server),一种是客户端/服务器即C/S(Client/Server),其中B/S是当今软件的首选架构。


1. B/S

1.1 B/S结构概念

B/S是使用浏览器访问服务器的模式。比如,用户想使用B站,首先要打开浏览器,输入网址,才能通过浏览器对B站服务器发起请求。常见的可通过浏览器访问的网站都是B/S结构,如网易,淘宝,腾讯网,搜狐网。

1.2 B/S结构软件的工作过程

简单来说是,用户通过浏览器向服务器发起请求,服务器接收请求并处理请求,将处理后的结果返回给浏览器,用户通过浏览器查看返回的信息。
详细来说,这个工作过程分为以下几部分:

  1. 用户通过浏览器向web服务器发起请求
  2. web服务器也是一台计算机,他里面装有web服务器软件Apache和PHP服务软件,如果用户发来的请求,Apache自己可以处理,则由Apache自身处理请求,并返回响应。
  3. 若这个请求Apache自身处理不了,Apache会将请求分配给PHP服务软件来完成。PHP首先会检查这个请求的合法性,若不合法,则向Apache返回错误信息,Apache将错误信息返回给浏览器。若合法,PHP服务软件会处理这个请求。
  4. 如PHP处理请求过程中,发现这个请求涉及到数据库,这个请求则由PHP与MySQL一起来完成,将处理结果返回给Apache,Apache在将处理结果返回给浏览器。

1.3 B/S结构软件的环境搭建

1.前台环境:
多个操作系统(Windows XP、Windows 7、Windows 10等在虚拟机上进行)及多个主流浏览器(火狐,QQ,IE,Chrome 等)
2.后台环境:
依照开发的环境进行搭建,保证与开发环境的一致性,这里不详细展开。

2. C/S结构软件

2.1 C/S结构概念

C/S即客户端/浏览器软件结构,是用户需要安装客户端软件,通过客户端软件来访问服务器,常用的办公软件如WPS,杀毒软件都可称为C/S结构软件。

2.2 C/S软件工作过程

  1. 用户安装客户端软件,在软件上执行操作和请求。
  2. 如这个请求客户端软件本身就能处理,则不需要向数据库服务器发起请求。
  3. 若客户端软件处理不了请求,客户端软件向数据库服务器发起请求操作,数据库服务器接受请求后,执行数据操作,并把执行结果返回给客户端软件。

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

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

相关文章

Unity中Shader编译目标渲染器

文章目录 前言一、Unity在打包时,会把Shader编译成不同平台对应的代码我们在状态栏,可以看见我们目前所处于的目标平台 二、在Unity中,怎么指定目标平台1、#pragma only_renderers2、#pragma exclude_renderers 三、我们测试一下看看效果1、 …

C语言重点突破(六)文件操作

本章重点 1. 为什么使用文件 2. 什么是文件 3. 文件的打开和关闭 4. 文件的顺序读写 5. 文件的随机读写 6. 文本文件和二进制文件 7. 文件读取结束的判定 8. 文件缓冲区 1. 为什么使用文件 我们在前面的文章介绍了通讯录的程序,当通讯录运行起来的时候&#xff0c…

Mysql深入——7

count(*)为什么这么慢??? 在不同的MySQL引擎中,count(*)有不同的实现方式,MyISAM引擎将一个表的总行存在了磁盘上,需要的时候会直接返回,但InnoD…

ubuntu终端代理配置

ubuntu浏览器的无需手动设置,主要解决在终端中的配置问题,按照下面配置后可能会ping不通一些ip,但wget/git都是可以的,具体原因以后再分析 查找端口 首先要找到自己代理对应的HTTP端口,以QV2ray软件作为示例,我为8889 手动配置 # 配置系统proxy export http_proxy=1…

新版本svn使用gpg-agent存储密码

问题 自从开始使用debian11,应该是subversion版本的升级,导致不可以存储明文的密码,导致每次都要输入密码,很恼人。 Debian版本 ➜ .gnupg lsb_release -a No LSB modules are available. Distributor ID: Debian Description…

Java Swing管理系统万能模板 课程设计素材

JavaSwing管理系统万能模板 视频教程: 【课程设计】2小时学会JavaSwing课程设计-万能模板-图书管理系统-[你的课程我设计] 万能模板是用Java Swing开发的,包含管理系统常用的多角色登录、数据查询、添加、修改、删除。常用的管理系统都可以使用万能模板…

MySQL与其他数据库产品的比较,优势在哪里?

作为数据库管理领域的博主作家,我深知数据库在软件开发和数据管理中的重要性。在当今众多的数据库产品中,MySQL作为一种流行的开源关系型数据库管理系统,具有许多优势和特点。下面,我将通过对与其他数据库产品的比较以及MySQL的优…

原来字节跳动这么容易就能进····

“字节是大企业,是不是很难进去啊?” “在字节做软件测试,能得到很好的发展吗? 一进去就有12.5K,其实也没有想的那么难” 直到现在,心情都还是无比激动! 本人211非科班,之前在字节…

Redis 如何批量删除指定前缀的Key

批量删除指定前缀的Key有两中方法,一种是借助 redis-cli,另一种是通过 SCAN 命令来遍历所有匹配前缀的 key,并使用 DEL 命令逐个删除它们。 redis-cli 使用 Redis 自带的 redis-cli 命令行工具,你可以通过以下方式批量删除指定前…

CHEM 14 not know

Goals of this lab: • Create and use a calibration curve for the absorbance/concentration relationship for crystal violet • Evaluate absorbance versus time measurements to determine the order of a reaction • Analyze graphs of data to determine best linea…

TiDB专题---1、TiDB简介和特性

什么是TiDB TiDB 是一个分布式 NewSQL 数据库,它支持水平弹性扩展、ACID 事务、标准 SQL、MySQL 语法和 MySQL 协议,具有数据强一致的高可用特性,是一个不仅适合 OLTP 场景还适合 OLAP 场景的混合数据库。 TiDB 是 PingCAP 公司自主设计、研发…

一些sql记录

1.日期加减/只保留数字 select * from HDDA_J207_WS_3_FILE a inner join( select id, (ADD_MONTHS(formatrq, formatbmqx1))as gqrq, formatrq, formatbmqx1 from ( select id, (case when formatbmqx like %年% then REGEXP_REPLACE(formatbmqx, [^0-9], )* 12 else REGEXP_…

土壤养分分析仪:精准农业,从“土”开始

在农业生产中,土壤的质量是决定农作物产量和品质的关键因素。然而,传统的土壤检测方法耗时费力,且结果往往不够准确。随着科技的发展,土壤养分分析仪为现代农业带来了新的可能。 土壤养分分析仪是一种专门用于测量土壤中各种养分含…

C++和Python混合编程在数据采集程序中的应用

目录 一、引言 二、C和Python的特性及其在数据采集程序中的应用 1、C的特性及其在数据采集程序中的应用 2、Python的特性及其在数据采集程序中的应用 三、C和Python混合编程在数据采集程序中的实现方法 四、混合编程的优缺点以及未来发展趋势 五、代码示例 六、结论 一…

c语言通过前序遍历构建二叉树

前言: 在链式二叉树中,我们一般都是通过一个建立好的二叉树从而算出他的前序遍历,那么如何通过一个前序遍历来创建一个二叉树呢,本文将详细解读前序遍历每一个步骤是如何创建二叉树的。 1、分析前序遍历,构建出二叉树…

智慧垃圾分拣站:科技改变城市环境,创造更美好的未来

随着城市化进程的不断加快,垃圾处理问题日益凸显。为了更好地解决垃圾分类问题,越来越多的城市开始推广智慧垃圾分拣站,利用创新科技实现高效垃圾分类处理。 山海鲸使用三维建模技术,建立了一个智慧垃圾分拣站数字孪生模型&#x…

外包干了5个月,技术退步明显.......

先说一下自己的情况,大专生,18年通过校招进入武汉某软件公司,干了接近4年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落! 而我已经在一个企业干了四年的功能测…

pip安装、更新、卸载

目录 一、安装pip1. ensurepip2. get-pip.py2.1 下载get-pip.py2.2 pip安装2.3 检查pip版本 二、更新pip三、卸载pip 参考https://pip.pypa.io/en/stable/installation/ 一、安装pip 1. ensurepip python -m ensurepip --upgrade2. get-pip.py 2.1 下载get-pip.py 终端执行…

【算法题解】LeetCode169.多数元素——摩尔投票算法

169. 多数元素 题干 给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示例 1: 输入: nums [3,2,3] 输…

每天一点python——day81

#每天一点Python——81 #递归函数: 递归函数: 一个函数在该函数体内调用了该函数本身,这个函数称为递归函数 【释:我自己调用自己的函数】 递归函数的组成部分: 递归调用与递归终止条件。 【一定有一个跳出循环的终止条…