JavaWeb(一)

news2024/9/25 19:17:49

前言

首先深入了解之前,先回顾一些基础知识

C/S & B/S

就比如咱们日常生活中,咱们说的CF是cs游戏,这个cs是什么意思(年幼的我也十分痴迷CF游戏,过去式了 hhh)这里的cs可不是咱们说的csgo或者cs游戏。他真正的意思是Client server
C/S :client/server 如微信 QQ CF等枪战游戏
(咱们先思考一下 为什么CF csgo的游戏外挂呢么离谱捏 什么飞天,锁血,锁头,透视,瞬移等等 而LOL这款游戏并没有这种外挂,比如瞬移,而说的LOL外挂只有脚本)
好 思考结束,咱们回归正题
C/S的特点就是有一部分代码写在客户端,一部分代码写在服务器,而在客户端的这部分代码我们称为本地,而CF作为C/S的代表,他的一部分代码就在客户端,外挂研发者可以通过修改本地的数据(通过指针找到具体的位置进行修改,这里不进行过多阐述)就达到了外挂的效果。检测到封号行为是因为CF有TP保护机制,但也有误封不是吗,所以C/S外挂层出不穷,因为没有绝对的封和被封,就看你离谱不离谱 。。。
C/S 用户的体验比较好,缺点是服务器更新,客户端也要更新,占用资源比较大。

B/S的代表就是浏览器了,browser/server 如webQQ,4399小游戏等等
特点是比如咱们浏览器打开4399小游戏,或者访问一些网站。不用更新,占用的资源也小。但是缺点也是十分明显的,用户的体验不佳。

静态资源 & 动态资源

咱们想一下,咱们为什么可以通过浏览器访问各种各样的网站,而假如你买了一个服务器,你去访问你这个服务器的IP地址却是啥也访问不到呢。对吧,这里就说到咱们的Web服务器,所有的web资源放到web服务器上,web服务器有充当web资源容器的功能,这也就是为什么web服务器又被人叫做web容器的原因,比如咱们常见的tomcat服务器。
而我们访问一些网站的目的肯定是为了获取相应的web资源,而这类web资源也分为两类:静态web资源和动态web资源

静态资源:供用户浏览的web页面中的数据始终是写死的,是固定不变的,访问速度快,但是交互性差,想要页面内容发生改变则必须手动修改页面文件,很不方便,比如HTML.CSS.JavaScript。图片等等

动态资源:供用户浏览的web页面中的数据 由程序动态产生,能根据用户输入的不同参数条件,而展现出不同的数据内容。比如JSP/Servlet…动态资源可以根据需求获取不同的内容,但是页面内容数据的更新,却无需修改页面文件。缺点也很明显,访问速度不及静态页面

静态资源一般都是设计好的HTML,CSS,JavaScript页面,而动态资源依靠设计好的程序来实现按照需求的动态响应。静态资源的交互性差,不好更改,而动态资源可以根据需求自由实现来获取内容,在服务器的运行状态不同,静态资源不需要与数据库参与程序设计,动态资源通常设计一个或多个数据库的参与运算。

网络通信

要实现网络通信,必须有一些基本的功能
IP,端口,传输协议,IP是计算机在网络中的唯一标识,端口是应用程序在计算机中的唯一标识,取值0~65530,HTTP传输协议,规定了传输协议的规则,udp,tcp
UDP没有连接的概念,就是包发送都是单次的一锤子买卖,发送的数据包能不能到,我不知道也不管,而包能不能回来也不知道也不管,从哪个IP port发送到哪个IP port完全需要由收发双方自己约定,约定好了可以像一个连接呢样工作,但也只是像。
TCP协议是有三次握手的,TCP是面向连接的,TCP是通过服务端和客户端进行连接的协议,TCP服务端和客户端之间的数据通讯是通过字节流数据传输的,TCP服务端和客户端之间的数据传输是很稳定的,即使网络很差,TCP都可以将数据传输到接受方。
TCP三次握手
在这里插入图片描述
SYN:Synchronize Sequence Numbers,同步序列编号
ACK:Acknowledge Character,确认字符
SEQ:Sequence Number,序列号

1、 首先,服务端和客户端都是处于CLOSED状态的,然后服务端启动,监听端口,状态变为LISTEN(监听)状态
2、客户端为了请求资源,发送连接,发送同步序列号SYN,此时客户端就变成了SYN-SENT状态
3、服务端接收到客户端请求之后,发送SYN和ACK,然后服务端状态就变成SYN-RCVD状态
4、客户端接收到信息之后,再次发送ACK,然后变成ESTABLISHED(已确认)状态,服务端接收到返回信息后,状态也变成ESTABLISHED(已确认)状态
TCP设计成三次握手,是为了避免重复连接,比如网络环境很差,客户端发送了很多请求,如果是两次握手,服务端只能一直接受请求,然后返回请求信息,但是不知道客户端是否请求成功,这样请求会造成网络连接的混乱,所以设计成三次握手的情况,客户端在接收到服务端SEQ+1的返回消息之后,就会知道这个连接是历史连接,所以会发送报文给服务端,告诉服务端。

Tomcat服务器

是目前最广泛的web服务器,Tomcat服务器接受请求并作出回应
在这里插入图片描述
客户端通过浏览器访问Web服务器,发送HTTP/HTTPS请求
web服务器接受到请求后,传递给Servlet容器
Servlet容器加载Servlet,产生Servlet实例后,向其传递表示请求和响应的对象,
Servlet实例使用请求对象得到客户端的请求信息,然后进行响应的处理。
Servlet实例将处理结果通过响应对象发送回客户端,容器负责确保响应正确送出,同时将控制返回给web服务器。
登录tomcat
在这里插入图片描述

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

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

相关文章

Vue 官方文档2.x教程学习笔记 1 基础 1.4 模板语法 1.4.1 插值

Vue 官方文档2.x教程学习笔记 文章目录Vue 官方文档2.x教程学习笔记1 基础1.4 模板语法1.4.1 插值1 基础 1.4 模板语法 【介绍】 Vue.js 使用了基于 HTML 的模板语法,允许开发者声明式地将 DOM 绑定至底层 Vue 实例的数据。 所有 Vue.js 的模板都是合法的 HTML&…

Flink SQL管理平台flink-streaming-platform-web安装搭建-整理

目录 步骤 安装 第二步 下载flink 第三步 安装flink-streaming-patform-web 第四步 配置flink web平台 第五步 运行demo 在Flink学习的入门阶段,非常重要的一个过程就是Flink环境搭建,这是认识FLInk框架的第一步,也是为后续的理论学习和…

全栈性能测试教程之性能测试理论(一) mockserver应用

1、mockServer 1.1什么是mockServer moco替代 Server服务 mocoServer即为测试替身的服务 主要针对于单元测试的应用,主要应用于解除单元测试之间的依赖 1.2mocoServer使用的场景 前端程序员 前端已经写好页面,但是后端的接口没有写好&#xff…

[Android]Mac电脑Android Studio使用真机调试运行

一、Mac电脑连接Android真机 我这里是一台中兴手机 1. 手机打开USB调试 打开“设置”找到“关于手机”进入,连续点击版本号,直到提示“您已经进入开发者模式”。回到“设置”找到“系统与更新”进入,再进入“开发者选项”,打开…

Vue笔记_03组件_mavonEditor组件(基于vue)

目录下载mavonEditor导入并注册mavonEditor组件[1] 全局注册[2]局部注册使用mavonEditor属性修改举例说明1-不展示预览分屏工具栏修改举例说明-根据配置显示工具栏编辑器插槽举例说明-自定义工具栏按钮函数监听下载mavonEditor 使用命令 npm install mavon-editor --s 进行下载…

Koa 6 响应(Response)

Koa Koa 本文仅用于学习记录,不存在任何商业用途,如侵删 6 响应(Response) 文章目录Koa6 响应(Response)6.1 APIStringBufferStreamObjectKoa Response 对象是在 node 的原生响应对象之上的抽象,提供了诸多对 HTTP 服务器开发有用的功能。 6…

Linux系统移植一:移植U-BOOT 添加自己的板子并编译(非petalinux版)

Linux系统移植流程 之前一直用官方给的Linux系统文件,没有自己系统地移植过,故整理一遍 不使用petalinux工具,尽管它提升了开发效率,但是不利于学习移植过程 嵌入式Linux系统移植主要由四大部分组成: 搭建交叉开发环…

【计算机网络】实验四 应用层和传输层协议分析(PacketTracer)

一.实验目的 通过本实验,熟悉PacketTracer的使用,学习在PacketTracer中仿真分析应用层和传输层协议,进一步加深对协议工作过程的理解。 二.实验内容 研究应用层和传输层协议 从 PC 使用 URL 捕获 Web 请求,运行模拟并捕获通信…

健身用什么耳机比较好、五款适合健身房运动的耳机推荐

大家都运动本身是一件特别枯燥无味的事情,尤其是一个人在健身房沉浸式撸铁的时候,而听音乐是大多数人缓解枯燥的首选,不过在健身的过程中拥有一款既要音质好、又要适合运动佩戴防水防汗的耳机可就不那么容易了。今天给大家推荐几款最佳的运动…

如何在lnmp中实现PHP多版本共存

背景:one框架需要swool扩展,同时php版本需要7.3,目前服务器安装的是lnmp1.6其中php5.6. 所以觉得安装一个php7.3作为切换版本 ,以下是安装步骤 1.查找lnmp的install.sh文件,一般在/root/lnmp1.5/install.sh 下执行命令…

【Docker】Compose容器编排:微服务实战

Docker-Compose是Docker官方的开源项目, 负责实现对Docker容器集群的快速编排。是一个工具软件,可以 管理多个 Docker 容器 组成一个应用。你需要 定义一个 YAML 格式的配置文件docker-compose.yml ,写好多个容器之间的调用关系。然后&#x…

GeoTools快速入门

本文将帮助读者获取GeoTools的源代码并进行编译。下载源代码并进行编译有助于读者对GeoTools建立整体性的理解,帮助读者厘清GeoTools的模块划分。同时因为GeoTools是一个开源类库,读者在实际使用中遇到的一些问题可以通过直接阅读GeoTools源代码来进行解…

vue3+ts项目中封装3d单柱柱状图

vue3ts项目中封装单柱的柱状图 成品图 下载echarts npm i echarts 封装组件为Barchart.vue文件 <template> </template><script setup lang"ts"> import { nextTick, watch } from vue import echarts from /assets/ts/echarts; import useRes…

[附源码]计算机毕业设计在线项目管理Springboot程序

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

十三、Vue CLI(2)

本章概要 项目结构编写一个 Hello 组件package.json 13.4 项目结构 通过 Vue CLI 生成的项目的目录结构及各文件夹和文件的用途说明如下&#xff1a; |--node_modules //项目依赖的模块 |--public //该目录下的文件不会被 Webpack 编译压缩处理&…

Springboot社区疫情防控系统毕业设计,社区疫情防控管理系统设计与实现,毕设作品参考

功能清单 【后台管理员功能】 关于我们设置&#xff1a;设置学校简介、联系我们、加入我们、法律声明、学校详情 广告管理&#xff1a;设置小程序首页轮播图广告和链接 留言列表&#xff1a;所有用户留言信息列表&#xff0c;支持删除 会员列表&#xff1a;查看所有注册会员信…

【树莓派开发日记2 】树莓派安装Ubuntu22系统及启动黑屏等问题的踩坑记录

树莓派安装Ubuntu22系统及启动黑屏等问题的踩坑记录 在成功进行了组装后&#xff0c;就到了最为关键的部分了&#xff0c;进行树莓派的系统烧录。虽然树莓派有自己对应的系统&#xff0c;raspbian&#xff0c;但是绝大部分的开发者还是会选择Ubuntu系统作为主要的开发系统 Ub…

软件架构模式

如果有兴趣了解更多相关内容&#xff0c;欢迎来我的个人网站看看&#xff1a;瞳孔空间 创建软件系统基本结构的原则称为软件体系结构。软件结构由软件元素及其相互关系组成&#xff0c;这些元素起着蓝图的作用&#xff0c;规划了要执行的任务的模式。软件设计团队极大地依赖于…

【java】2-串行与并发分别将计数器从1累加到10亿

串行、并行、并发 串行是100个人的队伍从一条通道里顺序通行 并行是100个人从n(n>1)条通道分别通行 并发是只有一条通道&#xff0c;100个人排成n个队伍&#xff0c;每队依次派一个人从通道通行&#xff1b;或是有m条通道&#xff0c;100个人排成n个队伍&#xff0c;各个队…

[附源码]计算机毕业设计SpringBoot心理健康系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…