JavaWeb(一)

前言

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

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
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值