01-Web客户端与服务器详解

1、CS与BS

  软件使用方式上两种划分 

  C/S架构

  Client/ServerPC客户端、服务器架构

  特点:
  在服务器当中就主要是一个数据库,把所有的业务逻辑以及界面都交给客户端完成

  优点:
  较为安全,用户界面丰富,用户体验好

  缺点:
  每次升级都要重新安装,针对于不同的操作系统开发,可移植性差

 

  B/S架构
  Browser/Server
  浏览器/服务器架构

 

  特点:
  基于浏览器访问的应用
  把业务层交给服务器来完成,客户端仅仅做界面的渲染和数据的交换
  优点:
  只开发服务器端,可以跨平台、移植性很强
  缺点:
  安全性比较低,用户体验较差

 

2、Web资源

  什么是Web
  WEB网页,它用于表示网络主机上供外界访问的资源。


  Web资源分类
    静态Web资源
    指web页面中供人们浏览的数据始终是不变。
    动态Web资源
    指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同。


  web资源存放在哪里
    所有的web资源都放在一个web服务器当中
    web服务器就是可以供外界访问web资源的一个软件
    web资源放到指定的目录当中,就可以通过对应的端口在浏览器当中访问到。


  URL地址
    协议://主机地址:端口号/资源地址
    http://www.itlike.com:80/index.html

       

 

3、资源访问流程

  客户端
  浏览器
  Android程序
  iOS程序
  微信小程序


  服务器
  php服务器
  tomcat服务器
  nodeJS服务器...


   当我们在浏览器当中访问一个网址的时候,为什么就能看到一个页面
    一个网址对应的其实是一个IP地址
  一个IP地址对应一台电脑
  通过IP地址找到对应的电脑
  电脑当中安装的有web服务器,通过端口号找到对应服务器
  找到对应服务器,服务器把页面返回给你
  这样的一个过程就是http请求的过程


  BS结构流程图
  

 


  请求与响应
  请求
  把客户端请求发送给服务器
  响应
  服务器把你要的数据发送给客户端

  协议
  请求与响应都要一定的格式
  约定好客户端以什么样的格式把数据给服务器
  约定好服务器以什么样的格式把数据给客户端
  这个约定使用的就是HTTP协议

 


更多专业前端知识,请上 【猿2048】www.mk2048.com

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

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

相关文章

java之Hibenate中监听事件的重写和二级cache缓存

管理缓存和统计缓存 Cache cache sessionFactory.getCache(); //清除指定的News对象 cache.evictEntity(News.class, id); //清除所有的news对象 cache.evictEntityRegion(News.class); //清除指定id的news所关联的参与者集合属性 cache.evictColleciton("News.actors&q…

axi ps读写pl_PL读写DDR:Datamover能干什么

最近发现工程项目中一直在用AXI-DMA。这玩意儿搬数据倒是没问题,就是用axi-lite配置起来非常反人类。。。简单的办法其实是用datamover ip核。这个ip核能干嘛呢。准备写个文章解析一下。由于好多feature没用过,所以仅仅看文档可能理解有误,欢…

在10分钟内在新Mac中设置Java开发环境(更新)

这只是一个小的更新文章,它引用了2个较旧的条目( a , b ),我将它们合并为一个步骤,就像一步操作,并确保所有功能都在最新的MacOSX 10.9 Mavericks下工作 。 我主要针对的是初次尝试设置其环境的…

linux path 与 classpath 区别

linux path 与 classpath 区别 一、OS依据path中的路径信息来寻找可执行指令; 例如: cat /etc/profile 我们就可以在任意目录执行hadoop / hdfs / yarn / java 等相关命令了 export HADOOP_HOME/opt/hadoop/hadoop-2.6.0 export JAVA_HOME/home/jdk1.8.0…

开启9008端口进入深刷模式

除了前文所述,使用深刷线,还可以用命令开启9008端口,进入深刷模式。 adb reboot edl fastboot oem edl 这个在小米4c上测试ok 下面这个可能用于其他手机。 fastboot reboot emergency http://www.znsjw.net/nd.jsp?id19 小米绕BL锁9008工程…

Vue Webpack常见问题(持续更新)

常识 1.computed计算属性,使用的属性必需在data里面声明。 computed: {canLogin: function(){//注意这里的依赖的属性必需在data里面声明return this.name && this.password;} } Webpack问题 1.模块里面使用JSON.stringify和 typeof,报&#x…

hashmap为什么用红黑树_要看HashMap源码,先来看看它的设计思想

HashMap 是日常开发中,用的最多的集合类之一,也是面试中经常被问到的 Java 类之一。同时,HashMap 在实现方式上面又有十分典型的范例。不管是从哪一方面来看,学习 HashMap 都可以说是有利无害的。分析 HashMap 的源码的文章在网上…

Hibernate 4.2.8,javassist 3.18.1和ClassCastExceptions –注意您的类路径

我写这篇文章是作为提示和警告,而不是绝对的解决方案。 我将尝试针对我的案例(WebSphere 8.5.5)返回一种解决方法,但是我确信其他开发人员和应用程序也会受到影响。 我已经花了一些时间来找出问题的原因,所以暂时&…

实现CA和证书申请

文字说明 1 在CA上执行,建立CA cd /etc/pki/CA touch index.txt echo 0F > serial (umask 077;openssl genrsa -out private/cakey.pem 2048) openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3650 填写多项内容:国家&#xff…

Sx05RE-S905.arm-2.2.1

Sx05re-S905-2.2.1版本安装记录 1、系统Sx05re-2.21 2、盒子型号S905m 3、使用dtb为gxbb_p200_1G_100M.dtb,更名为dtb.img以后,替换到内存卡中 4、打上Sx05re Upgrade 2&3&5&6补丁转载于:https://www.cnblogs.com/Gantz/p/10354826.html

端口如何支持非localhost访问_新特性解读 | MySQL 8.0.19 支持 DNS SRV

转载自公众号:玩转MySQL作者:洪斌MySQL Router 是 InnoDB Cluster 架构的访问入口,在架构部署上,官方给出的建议是 router 与应用端绑定部署,避免 router 单点问题。之前还有客户咨询,能否 router 不与应用…

记录奥运-当今五大Java记录框架之间的竞赛

开发人员:Takipi会告诉您何时新代码在生产中中断– Log4J vs SLF4J简单vs Logback vs Java Util日志记录vs LOG4J2 日志记录实际上是每个服务器端应用程序中古老而固有的部分。 这是应用程序以持久且可读的方式输出实时状态的主要方法。 某些应用程序每天可能仅记录…

移动端实现元素拖拽效果插件_基于自然流布局的可视化拖拽搭建平台设计方案...

LowCode 是高效、高性能的拖拽式低代码开发平台. 也是笔者最近一直在研究的方向, 对于可视化搭建平台的实现方案笔者之前写过很多文章, 这里带大家探索一个新方向——基于自然流布局的可视化搭建平台.在我们之前实现的 h5-dooring 搭建平台中, 我们采用了网格布局的方式来实现拖…

Python数据分析前提-----pandas

pandas:知识脑图 https://bigquant.com/community/t/topic/129755 1、read_csv(url):读取数据 2、help(read_csv):打印函数相关用法 3、数据名.dtypes:读取数据的类型(int、float……) 4、type(数据名&…

07-数据类型

【转】07-数据类型 介绍 存储引擎决定了表的类型,而表内存放的数据也要有不同的类型,每种数据类型都有自己的宽度,但宽度是可选的 详细参考链接:http://www.runoob.com/mysql/mysql-data-types.html mysql常用数据类型概括&#x…

小谈React、React Native、React Web

React有三个东西,React JS 前端Web框架,React Native 移动终端Hybrid框架,React Web是一个源码转换工具(React Native 转 Web,并之所以特别提出,是觉得还有些用处)。 React、React Native共同…

yii::$app-mongodb 查询纪录数_老詹总决赛有多强?12项数据领先乔丹科比,已握10项数据纪录...

勒布朗詹姆贡献了38分16个篮板和10个助攻的狂暴三双数据,并率领湖人淘汰了掘金,这使得他迈进了职业生涯第10次总决赛舞台。我们都知道,詹姆斯几乎统治着NBA季后赛大部分数据纪录,事实上,他在总决赛同样如此。根据《sta…

摆脱困境:从计划作业中调用安全方法

假设我们已经实现了一个Spring支持的应用程序,并使用Spring Security的方法安全性表达式对其进行了保护 。 我们的下一个任务是使用安全方法实施计划作业。 更具体地说,我们必须实现一个计划的作业,该作业从我们的服务类中获取一条消息&…

前端共享桌面_2020 前端学习路线总结,哎呦,不错哦!

2020 前端学习路线总结在 GitHub 看到一个很不错的前端学习路线图(roadmap),从前端基础到前端工程化,再到跨端,都有知识点的覆盖,非常推荐阅读。图下面是我翻译的一个文字版,可以先看图再看文字…

每日一题题目16:简单的python练习题(1-10)

#1.python程序中__name__的作用是什么?__name__这个系统变量用来表示程序的运行方式. 如果程序在当前膜快运行,__name__的名称就是__main__, 如果不在(被调用),则显示为导入模块的名称.扩展:常常这样写if __name__ "__main__":来表名这是整个工程开始运行的入口.效…