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协议
01-Web客户端与服务器详解的更多相关文章
- NGINX高性能Web服务器详解(读书笔记)
原文地址:NGINX高性能Web服务器详解(读书笔记) 作者:夏寥寥 第4章 Nginx服务器的高级配置 4.1 针对IPv4的内核7个参数的配置优化 说明:我们可以将这些内核参数的值追加到Linu ...
- Zookeeper客户端Curator使用详解
Zookeeper客户端Curator使用详解 前提 最近刚好用到了zookeeper,做了一个基于SpringBoot.Curator.Bootstrap写了一个可视化的Web应用: zookeep ...
- 转:Zookeeper客户端Curator使用详解
原文:https://www.jianshu.com/p/70151fc0ef5d Zookeeper客户端Curator使用详解 前提 最近刚好用到了zookeeper,做了一个基于SpringBo ...
- JWT(Json web token)认证详解
JWT(Json web token)认证详解 什么是JWT Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该to ...
- 计算机网络: IP地址,子网掩码,默认网关,DNS服务器详解
楔子: 以Windows系统中IP地址设置界面为参考(如图1), IP地址, 子网掩码, 默认网关 和 DNS服务器, 这些都是什么意思呢? 学习IP地址的相关知识时还会遇到网络地址,广播地址,子网等 ...
- 【转载】Hadoop历史服务器详解
免责声明: 本文转自网络文章,转载此文章仅为个人收藏,分享知识,如有侵权,请联系博主进行删除. 原文作者:过往记忆(http://www.iteblog.com/) 原文地址: ...
- 计算机网络: IP地址,子网掩码,网段表示法,默认网关,DNS服务器详解
楔子: 以Windows系统中IP地址设置界面为参考(如图1), IP地址, 子网掩码, 默认网关 和 DNS服务器, 这些都是什么意思呢? 学习IP地址的相关知识时还会遇到网络地址,广播地址,子网等 ...
- 客户端rsyslog配置文件详解
客户端rsyslog配置文件详解 最近再开发一个rsyslog的接收服务端,支持udp,tcp和tls三种协议.所以去仔细研究了一下rsyslog.conf的配置文件,下面来详细说一下. 因为我这儿重 ...
- Java开发之使用websocket实现web客户端与服务器之间的实时通讯
使用websocket实现web客户端与服务器之间的实时通讯.以下是个简单的demo. 前端页面 <%@ page language="java" contentType=& ...
随机推荐
- 洛谷P3676 小清新数据结构题(动态点分治+树链剖分)
传送门 感觉这题做下来心态有点崩……$RMQ$求$LCA$没有树剖快我可以理解为是常数太大……然而我明明用了自以为不会退化的点分然而为什么比会退化的点分跑得反而更慢啊啊啊啊~~~ 先膜一波zsy大佬 ...
- Django 项目拆分配置文件settings.py
使用Django命令生成一个项目的基本结构时, 配置信息默认保存在和项目目录同名的目录下的settings.py文件里, 对于一个项目而言, 这样往往是不合适的, 在实际的开发中,需要将配置文件拆分为 ...
- [CSS3] 各种角度的三角形绘制
#triangle-up { width:; height:; border-left: 50px solid transparent; border-right: 50px solid transp ...
- 总结day04 ---- 列表的切片,增删改查,以及,相关方法, 元祖的使用方法
内容大纲 1 : 列表的索引 : 列表的切片 2 : 列表的增加内容 >1:append(char) >2:insert(index,char) >3:extend('可迭代对象' ...
- 计算机网络课设之TCP通讯录
这篇文章我主要是想对这学期末计算机网络课程设计所做的一个小项目也就是基于tcp协议的通讯录做一个总结梳理.项目的具体的代码实现是基于C语言,当然在此之前网上也有一些基于c++编写的tcp通讯录,原理都 ...
- SVN版本库备份和恢复
1.版本库备份 1.1.svnadmin dump方式备份 此方法借助的是Subversion官网推荐的svnadmin dump备份方式,它的优点是比较灵活,既可以进行全量备份又可以进行增量备份,并 ...
- [HNOI2019]鱼
Luogu5286 \(2019.4.14\),新生第一题,改了\(3\)个小时 题解-租酥雨,和出题人给的正解一模一样 枚举\(AD\),分别考虑鱼身\(BC\)和鱼尾\(EF\) 到\(E\),\ ...
- 【算法笔记】A1047 Student List for Course
https://pintia.cn/problem-sets/994805342720868352/problems/994805433955368960 题意 给出每个学生的选课情况,输出每节课选课 ...
- [转] Akka 使用系列之二: 测试
[From] http://www.algorithmdog.com/akka-test 通过上一篇文章,我们已经大致了解怎么使用 Akka,期待细致用法.这篇文章将介绍如何用 Akka-testki ...
- Jmeter 建立数据库测试计划
建立数据库测试计划(Building a Database Test Plan) 在本节中,将学习如何创建测试数据库服务器一个简单的测试计划.您将创建五十个用户向数据库服务器发送2个SQL请求.并且, ...