Web 开发本质|学习笔记

本文涉及的产品
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
简介: 快速学习 Web 开发本质

开发者学堂课程【Node.js 入门与实战Web开发本质】学习笔记,与课程紧密联系,让用户快速学习知识

课程地址https://developer.aliyun.com/learning/course/588/detail/8241


Web开发本质

 

目录:

一、Web开发本质

二、客户端处理响应

三、关于C/S 和B/S

 

一、Web开发本质

1、Web 开发牢记以下三点:

(1)请求,客户端发起请求。

(2)处理,服务器处理请求。

(3)响应,服务器将处理结果发送给客户端

首先客户端请求可能是客户端用的浏览器,通过浏览器访问京东或者淘宝,这样客户端浏览器,有可能是安卓手机的 APP,可能是 ios 手机的 APP。

客户端向服务器发起请求,或者说浏览器向服务器发请求,一般情况下用的都是HTTP 协议或者是 HTTPS,所以说HTTP协议这个是不变的

无论是什么客户端向服务器发报文件请求,服务器拿到这个请求以后进行处理解析这个情报文件处理完毕后,服务器把结果响应给客户端如果是浏览器就把结果响应给浏览器,如果是安卓 app,那么就响应的手机 APP上),然后由不同的客户端对这个响应进行再解析,做出不同的展示,这是一个外部开发本质过程。

Web 开发和单机开发应用程序核心区别就是单机程序要执行什么,这个程序就直接执行了,但是 web 开发不一样,要做什么事不是自己去做,是提交给服务器服务器帮做完以后再把结果响应给回来

2、举例:对比一个单机版计算器和 Web 版计算器

一个单机应用程序计算器,也就是桌面用程序,现在要想让它实现一个加法计算非常简单。比如,输入1,输入6,然后点击等号,这个计算器把16算出来以后,就直接把结果显示出来

但是同样的一个计算器的功能,如果要把它做成Web应用程序,那么这个时候运行的是一个什么样效果呢?

假设这是一个网页版的计算器,文本框里面,输一个1另一文本框里面选一个加号,再输一个6,当点等号的时候,这个本地的Web用数据把这个一加六数据发给遥远的服务器,可能服务器在北京,在北京服务器帮计算一下,一加六,结果是七,最后再把这个七响应客户端,然后客户端一看就看到这个七了。

所以说,Web的开发核心就是

要做什么事都不是自己做,都交给服务器来做,Web要做就是向服务器发起不同的请求,服务器就知道要做不同的处理,处理完毕以后把结果再反馈回来。无论是用什么 PHPJSPASP 所有这一切都是web开发。

一个简单的计算器的功能,就像把1加6这个计算发给服务器,服务器算完以后再发给浏览器吗完全没有必要。所以说这个Web应用程序里面,有很多可以写客户端JS脚本,客户端脚本处理一些简单的计算,对于复杂的计算由服务器帮返回结果

 

二、客户端处理响应

服务器响应完毕后,客户端继续处理,其中:

l 浏览器:解析服务器返回的数据

l ios、 Android 客户端解析服务器返回的数据,并且通过 ios 或 Android 的 UI技术实现界面的展示功能

 

三、关于C/S 和B/S

l C/S(Client/Server):客户端服务器

l B/S( Browser/Server ):浏览器服务器 

CS的全称是 client/server 客户端服务器BS的全称是 browser/server 浏览器服务器这是开发软件的两种的架构。

图片1.png

比如QQ或者阿里旺旺等有一个独立的客户端,这样的应用程序架构就把它叫做CS架构它是有独立客户端的,启动QQ,通过QQ客户端连接QQ服务器,然后进行操作,这个叫做有独立客户端的的CS架构。

有些应用程序,它没有客户端,比如打开网页,通过浏览器来打开这个网站的,这个网并没有给开发一个独立的客户端,而通过浏览器来访问他的网页,访问他的邮箱之类的,这种叫做 BS

有独立客户端的,叫做 CS 架构没有独立客户端,通过浏览器来访问的,就叫做BS 架构 CS 也叫客户端服务器,BS也叫浏览器。

那么,要开发一款应用程序的时候,如果你来做这个架构,那么你是会选择BS架构呢,还是会选择 CS 架构

比如说要做12306这个购票网站,或者购票应用程序,你会把它开发成 BS 还是CS思考一下为什么?

BS 的好处就是不需要被每一个用户开发成为客户端,只要把后台网站服务器做好后全世界任何一个角落,只要他有浏览器就能使用。这样开发完毕后部署非常方便。维护也非常方便。当12306需要升级的时候,是要升级服务器,所有用户都能通过浏览器看到该网站的升级。缺点是:用户体验不是很好,可能不是很流畅。

对于普通大众来说,就是使用的BS架构。但对于站点售票大厅里的工作人员来说,使用的就是专门 CS 架构。售票员们和浏览器用户们使用的都是同一套数据库。

但也有可能,售票员们有特殊途径可以留几张票,在浏览器上却看不到的情况。无论怎样,都是使用同一套结构的系统。但售票员的系统是专门用来售票,考虑到方便、快捷、效率等因素,他们的系统有更多的快捷方式,更方便的查询方式,快速出票等,非常稳定和流畅,不会因为使用人数多出现卡顿、崩溃的情况。

所以说,同一套系统,既有BS架构模式,也有CS架构模式,基于用户需求是什么。

手机上的12306客户端,这个也是CS架构。

总结:要开发一款应用程序的时候,到底选择 CS 架构还是 BS 架构,就看用户的需求。BS 的好处是部署、维护方便,缺点是用户体验稍差。

CS 的好处是用户体验好,和服务器连接稳定,缺点是需要为客户独立开发终端,升级也得连客户端一起升级,部署工作量大。

相关文章
|
1月前
|
设计模式 前端开发 数据库
Python Web开发:Django框架下的全栈开发实战
【10月更文挑战第27天】本文介绍了Django框架在Python Web开发中的应用,涵盖了Django与Flask等框架的比较、项目结构、模型、视图、模板和URL配置等内容,并展示了实际代码示例,帮助读者快速掌握Django全栈开发的核心技术。
155 45
|
7天前
|
前端开发 安全 JavaScript
2025年,Web3开发学习路线全指南
本文提供了一条针对Dapp应用开发的学习路线,涵盖了Web3领域的重要技术栈,如区块链基础、以太坊技术、Solidity编程、智能合约开发及安全、web3.js和ethers.js库的使用、Truffle框架等。文章首先分析了国内区块链企业的技术需求,随后详细介绍了每个技术点的学习资源和方法,旨在帮助初学者系统地掌握Dapp开发所需的知识和技能。
2025年,Web3开发学习路线全指南
|
14天前
|
存储 前端开发 JavaScript
如何在项目中高效地进行 Web 组件化开发
高效地进行 Web 组件化开发需要从多个方面入手,通过明确目标、合理规划、规范开发、加强测试等一系列措施,实现组件的高效管理和利用,从而提高项目的整体开发效率和质量,为用户提供更好的体验。
24 7
|
18天前
|
开发框架 搜索推荐 数据可视化
Django框架适合开发哪种类型的Web应用程序?
Django 框架凭借其强大的功能、稳定性和可扩展性,几乎可以适应各种类型的 Web 应用程序开发需求。无论是简单的网站还是复杂的企业级系统,Django 都能提供可靠的支持,帮助开发者快速构建高质量的应用。同时,其活跃的社区和丰富的资源也为开发者在项目实施过程中提供了有力的保障。
|
18天前
|
开发框架 JavaScript 前端开发
TypeScript 是一种静态类型的编程语言,它扩展了 JavaScript,为 Web 开发带来了强大的类型系统、组件化开发支持、与主流框架的无缝集成、大型项目管理能力和提升开发体验等多方面优势
TypeScript 是一种静态类型的编程语言,它扩展了 JavaScript,为 Web 开发带来了强大的类型系统、组件化开发支持、与主流框架的无缝集成、大型项目管理能力和提升开发体验等多方面优势。通过明确的类型定义,TypeScript 能够在编码阶段发现潜在错误,提高代码质量;支持组件的清晰定义与复用,增强代码的可维护性;与 React、Vue 等框架结合,提供更佳的开发体验;适用于大型项目,优化代码结构和性能。随着 Web 技术的发展,TypeScript 的应用前景广阔,将继续引领 Web 开发的新趋势。
33 2
|
1月前
|
前端开发 API 开发者
Python Web开发者必看!AJAX、Fetch API实战技巧,让前后端交互如丝般顺滑!
在Web开发中,前后端的高效交互是提升用户体验的关键。本文通过一个基于Flask框架的博客系统实战案例,详细介绍了如何使用AJAX和Fetch API实现不刷新页面查看评论的功能。从后端路由设置到前端请求处理,全面展示了这两种技术的应用技巧,帮助Python Web开发者提升项目质量和开发效率。
44 1
|
1月前
|
XML 安全 PHP
PHP与SOAP Web服务开发:基础与进阶教程
本文介绍了PHP与SOAP Web服务的基础和进阶知识,涵盖SOAP的基本概念、PHP中的SoapServer和SoapClient类的使用方法,以及服务端和客户端的开发示例。此外,还探讨了安全性、性能优化等高级主题,帮助开发者掌握更高效的Web服务开发技巧。
|
1月前
|
安全 数据库 开发者
Python Web开发:Django框架下的全栈开发实战
【10月更文挑战第26天】本文详细介绍了如何在Django框架下进行全栈开发,包括环境安装与配置、创建项目和应用、定义模型类、运行数据库迁移、创建视图和URL映射、编写模板以及启动开发服务器等步骤,并通过示例代码展示了具体实现过程。
51 2
WK
|
1月前
|
安全 Java 编译器
C++和Java哪个更适合开发web网站
在Web开发领域,C++和Java各具优势。C++以其高性能、低级控制和跨平台性著称,适用于需要高吞吐量和低延迟的场景,如实时交易系统和在线游戏服务器。Java则凭借其跨平台性、丰富的生态系统和强大的安全性,广泛应用于企业级Web开发,如企业管理系统和电子商务平台。选择时需根据项目需求和技术储备综合考虑。
WK
67 0
|
1月前
|
JavaScript 前端开发 Java
SpringBoot_web开发-webjars&静态资源映射规则
https://www.91chuli.com/ 举例:jquery前端框架
20 0