当前位置: 首页 > news >正文

网站建设包含哪些建设阶段/360seo优化

网站建设包含哪些建设阶段,360seo优化,重庆app定制软件开发,2019年新电商法做网站一、 反射/序列化/拷贝 1. 反射 //反射主要是指程序可以访问、检测和修改它本身状态或行为的一种能力 //在Yaml数据驱动自动化框架比较适用,能获取到当前的类名及方法名 import java.lang.reflect.*;public class ReflectionExample {public static void main(Str…

一、 反射/序列化/拷贝

1. 反射

//反射主要是指程序可以访问、检测和修改它本身状态或行为的一种能力
//在Yaml数据驱动自动化框架比较适用,能获取到当前的类名及方法名
import java.lang.reflect.*;public class ReflectionExample {public static void main(String[] args) throws Exception {// 获取当前类的 Class 对象Class<?> currentClass = ReflectionExample.class;// 获取当前方法的 Method 对象Method currentMethod = currentClass.getDeclaredMethod("main", String[].class);// 获取类名和方法名String className = currentClass.getName();String methodName = currentMethod.getName();System.out.println("当前类名:" + className);System.out.println("当前方法名:" + methodName);}
}

2. 序列化

序列化是指将一个对象抓换为字节流在网络上传输到服务器,服务器对其进行反序列化
可以使用 Serializable 接口来标记一个类可以被序列化

3. 动态代理

Java 动态代理是一种在运行时生成代理类的机制,
允许你在不事先知道具体代理类的情况下创建代理对象。
动态代理通常用于在代理模式中,通过代理对象来控制对实际对象的访问,
并可以在代理的前后添加一些额外的逻辑。动态代理的用途包括:日志记录:在方法调用前后添加日志记录。
性能监控:统计方法调用的耗时。
事务管理:在方法调用前后开启、提交或回滚事务。
权限控制:在方法调用前检查用户权限。
缓存控制:在方法调用前从缓存中获取数据,或在方法调用后将结果缓存起来。

4. 深拷贝和浅拷贝

1. 浅拷贝
只复制了对象的引用地址,2个引用指向同一个内存地址,在其中一个变化后,另一个的也会同时变化。
2. 深拷贝
既复制了内存地址,也复制了引用地址;变化不会影响其他

二、Http相关

1. Session与Cookie

1. Session存储在服务端,Cookie存储在用户本地浏览器
2. Session更加安全,cookie可能会存在被篡改的风险
3. Session存储比较大的数据,而Cookie相对比较小,不超过4kb
Session的工作原理:存储在服务器的Session可以理解是一个Map。
Session是key,里面还有其他用户信息是value。
用户请求的时候拿Cookie包装了sessionID换取其他信息

2. 如何避免sql注入

攻击原理:在浏览器通过伪造,注入一段sql达到查询/修改数据库,达到攻击目的
避免:
1. 使用参数化查询
2. 对输入的内容进行(正则/字符串)过滤
3. 使用 Web 应用防火墙(WAF)来检测和阻止恶意 SQL 注入攻击。

3. XSS(跨站脚本攻击)

原理:用户在浏览网页的时候,通过Xss注入HTML代码,当用户浏览或者输入某些内容的时候自动调用,
从而获取当前网页用户的消息
避免:对输入/URL进行过滤,对输出进行编码。

4. CSRF(跨站网站攻击

原理:
给用户提供和目标网站类似的网站/放置恶意链接,用户在登录状态下点击某功能。
导致调用链其他链接,例如:修改密码,转账等避免:
1. 敏感操作短信验证码
2. CSRF  token1). CSRF Token 是一种用于防止 CSRF 攻击的机制。网站会在用户登录后,为用户生成一个随机的 CSRF Token,并将其存储在用户的会话中或者通过 Cookie 返回给用户。2). 在进行敏感操作(如修改密码、更改账户信息)时,网站会要求用户提供这个 CSRF Token。用户在提交请求时,需要将 CSRF Token 随请求一同发送到服务器。3). 服务器会验证提交的 CSRF Token 是否与会话中或者 Cookie 中的 Token 匹配,如果匹配则说明请求是合法的,否则拒绝请求。

三、HTTP状态及传输方式

1. 301与302redirect(重定向)

301 永久重定向
302 暂时重定向

2. forward 和 redirect 的区别

1. forward
直接转发 - 客户端/浏览器发出1次请求,A请求B,B请求C。最后C把信息转发给了A
2. redirect
间接转发 - 客户端/浏览器发出2次请求,A请求B,不通并让请求C,A请求了C

3. tcp和udp

1. TCP面向连接,UDP不面向连接。TCP需要3次握手和4次挥手
2. TCP是稳定传输,适合小流量,UDP是可能存在丢包,用于大文件传输/在线游戏等

4. OSI 的七层模型

OSI(Open Systems Interconnection)模型是一个网络协议的参考模型,将网络通信划分为七个层次,每个层次负责不同的功能。以下是 OSI 模型的七层以及通俗易懂的例子:1. 物理层(Physical Layer):负责传输原始比特流,处理物理连接、电压、光信号等。
例子:以太网的电缆、光纤、网卡等。2. 数据链路层(Data Link Layer):提供点对点的可靠数据传输,将比特流分组成帧,并进行错误检测和纠正。
例子:以太网帧、Wi-Fi 数据帧。3. 网络层(Network Layer):负责寻址和路由,将数据包从源主机传输到目标主机。
例子:IP 地址、路由器。4. 传输层(Transport Layer):提供端到端的数据传输,负责分段、重组和流量控制。
例子:TCP、UDP。5. 会话层(Session Layer):管理不同应用之间的会话,建立、维护和终止连接。
例子:会话管理、连接控制。
6. 表示层(Presentation Layer):负责数据的格式转换、加密、解密等,确保应用之间的数据能够正确解释。
例子:数据压缩、加密解密。7. 应用层(Application Layer):最上层,提供用户应用程序的接口,处理用户数据和网络通信。
例子:Web 浏览器、电子邮件客户端、文件传输协议(FTP)。

5. HTTP常见状态码

200 OK: 请求正常
204 No Content:服务器处理了请求,但是木有任何返回
400 Bad Request:用户发送了请求,但是服务器无法处理;不认识看不懂
401 Unauthorized:认证失败,鉴权过期等
403 Forbidden:请求被拒绝
404 Not Found:请求的链接有问题可能,找不到
500 Internal Server Error:服务器异常了
503 Service Unavailable:服务器暂时无法处理请求,可能是维护
504 Service Timeout:服务器从上游接收消息超时

相关文章:

Java基础八 - HTTP相关/Cookie/Session/网络攻击

一、 反射/序列化/拷贝 1. 反射 //反射主要是指程序可以访问、检测和修改它本身状态或行为的一种能力 //在Yaml数据驱动自动化框架比较适用&#xff0c;能获取到当前的类名及方法名 import java.lang.reflect.*;public class ReflectionExample {public static void main(Str…...

【车道线】TwinLiteNet 复现过程全纪录

码字不易&#xff0c;喜欢的请点赞收藏&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 论文全文翻译&#xff1a;【freespace】TwinLiteNet: An Efficient and Lightweight Model for Driveable Area and Lane Segmentation_莫克_Cheney的博客-CSDN博客 目录…...

七牛云获取qn(url、bucket、access-key、secret-key)

1.注册账号 2.access-key和secret-key&#xff1a; 点击“密钥管理” 复制AK和SK即可 域名&#xff1a; bucket&#xff1a; 这个就是对象存储空间名字 先新建一个空间&#xff08;没买需要先购买&#xff09;&#xff0c;步骤如下&#xff1a; 填写存储空间名字&#xff0…...

定时任务实现 - Cron表达式知识

Cron表达式 cron表达式是一个字符串&#xff0c;由6到7个字段组成&#xff0c;用空格分隔。其中前6个字段是必须的&#xff0c;最后一个是可选的。每个字段的含义为&#xff1a;秒 分 时 日 月 周 年 字符解释: 枚举&#xff1a;, (cron“7,9,23****?”)&#xff1a;任意时刻…...

【java】抽象

java抽象 抽象类抽象方法抽象类和抽象方法 抽象类 在面向对象的概念中&#xff0c;所有的对象都是通过类来描绘的&#xff0c;但是反过来&#xff0c;并不是所有的类都是用来描绘对象的&#xff0c;如果一个类中没有包含足够的信息来描绘一个具体的对象&#xff0c;这样的类就…...

Qt应用开发(基础篇)——时间微调输入框 QDateTimeEdit、QDateEdit、QTimeEdit

一、前言 QAbstractSpinBox是全部微调输入框的父类&#xff0c;这是一种允许用户通过点击上下箭头按钮或输入数字来调整数值的图形用户界面控件&#xff0c;父类提供了当前值text、对齐方式align、只读readOnly等通用属性和方法。在上一篇数值微调输入框中有详细介绍。 QDateTi…...

日撸代码300行:第63天(集成学习之 AdaBoosting-1)

代码来自闵老师”日撸 Java 三百行&#xff08;61-70天&#xff09; 日撸 Java 三百行&#xff08;61-70天&#xff0c;决策树与集成学习&#xff09;_闵帆的博客-CSDN博客 学习过程中理解算法参考了&#xff1a;&#xff08;十三&#xff09;通俗易懂理解——Adaboost算法原…...

抽象父类获取子类的泛型 或接口泛型

jie通过getClass().getGenericSuperclass()或者子类的泛型 getClass().getGenericInterfaces();获取多个接口的泛型 GenericTypeResolver.resolveTypeArgument(GenericityService.class, GenericitySuper.class) 抽象父类 public abstract class GenericitySuper<T> …...

题目:2341.数组能形成多少数对

​​题目来源&#xff1a; leetcode题目&#xff0c;网址&#xff1a;2341. 数组能形成多少数对 - 力扣&#xff08;LeetCode&#xff09; 解题思路&#xff1a; 使用哈希表对数组中元素及其出现次数计数后对其进行统计即可。 解题代码&#xff1a; class Solution {public …...

NB-IOT 和蜂窝通信(2/3/4/5G)的区别和特点是什么?

NB-IOT 和蜂窝通信(2/3/4/5G)的区别和特点是什么? 参考链接:https://www.sohu.com/a/221664826_472880 NB IOT是窄带物联网技术,主要解决的是低速率数据传输,可使用GSM900或DCS1800频段,在频段使用上比较灵活,可以和GSM,UMTS或LTE共存,具备优异的MCL(最小耦合损耗…...

vue3 动态导入src/page目录下的所有子文件,并自动注册所有页面组件

main.js添加一下代码&#xff1a; const importAll (modules) > {Object.keys(modules).forEach((key) > {const component key.replace(/src/, /).replace(.vue, );const componentName key.split(/).slice(-2, -1)[0] -page;app.component(componentName, modules…...

python优雅地爬虫

申明&#xff1a;仅用作学习用途&#xff0c;不提供任何的商业价值。 背景 我需要获得新闻&#xff0c;然后tts&#xff0c;在每天上班的路上可以听一下。具体的方案后期我也会做一次分享。先看我喜欢的万能的老路&#xff1a;获得html内容-> python的工具库解析&#xff0…...

mysql8查看执行sql历史日志、慢sql历史日志,配置开启sql历史日志general_log、慢sql历史日志slow_query_log

0.本博客sql总结 -- 1.查看参数 -- 1.1.sql日志和慢sql日志输出方式(TABLE/FILE)。global参数 SHOW GLOBAL VARIABLES LIKE log_output; -- 1.2.sql日志开关。global参数 SHOW GLOBAL VARIABLES LIKE general_log%; -- 1.3.慢sql日志开关。global参数 SHOW GLOBAL VARIABLE…...

vscode关闭绑定元素“xxx”隐式具有“any”类型这类错误

在ts的项目里面&#xff0c;真的经常看到any类型的报错&#xff0c;真的很烦的 所以为了眼不见心不乱&#xff0c;我决定消除这个错误提示 在tsconfig.json里面配置 "noImplicitAny": false 就可以了 {"compilerOptions": {"target": "E…...

View绘制流程-Window创建

前言&#xff1a; View绘制流程中&#xff0c;主要流程是这样的&#xff1a; 1.用户进入页面&#xff0c;首先创建和绑定Window&#xff1b; 2.首次创建以及后续vsync信号来临时&#xff0c;会请求执行刷新流程&#xff1b; 3.刷新流程完成后&#xff0c;会通知SurfaceFlin…...

Jenkins build包时虽然单元测试失败了,但是仍然可以成功build包(最终结束时build success)

1.尝试方案1&#xff1a; 尽管单元测试失败&#xff0c;Jenkins Maven仍然可以获得成功-Java 学习之路 将 -Dmaven.test.failure.ignorefalse 添加到 MAVEN_OPTS artifactoryMaven {goals "-U clean install -Dmaven.test.skipfalse -DallowSnapshotstrue -Dmaven.te…...

【vue3】基础知识点-setup语法糖

学习vue3&#xff0c;都会从基础知识点学起。了解setup函数&#xff0c;ref&#xff0c;recative&#xff0c;watch、comptued、pinia等如何使用 今天说vue3组合式api&#xff0c;setup函数 在学习过程中一开始接触到的是这样的&#xff0c;定义数据且都要通过return返回 <…...

idol!! 2023牛客暑期多校训练营6 C

登录—专业IT笔试面试备考平台_牛客网 题目大意&#xff1a;定义n!!等于与n的奇偶性相同的所有小于等于n的数的阶乘之和&#xff0c;问n!!的末尾有多少0 1<n<1e18 思路&#xff1a;因为末尾0的来源是2*5&#xff0c;而2的个数明显比5的个数多得多&#xff0c;所以末尾…...

深入理解Jdk5引入的Java泛型:类型安全与灵活性并存

深入理解Jdk5引入的Java泛型&#xff1a;类型安全与灵活性并存 ​ 在Java的中&#xff0c;有一个强大的工具&#xff0c;它可以让你在编写代码时既保持类型安全&#xff0c;又享受灵活性。**这个工具就是——泛型&#xff08;Generics&#xff09;。**本文将引导你深入了解Java…...

idea在控制台中输出文字显示乱码

VM options中加入下面这行 -Dfile.encodingutf-8...

hacksudo3 通关详解

环境配置 一开始桥接错网卡了 搞了半天 改回来就行了 信息收集 漏洞发现 扫个目录 大概看了一眼没什么有用的信息 然后对着login.php跑了一下弱口令 sqlmap 都没跑出来 那么利用点应该不在这 考虑到之前有过dirsearch字典太小扫不到东西的经历 换个gobuster扫一下 先看看g…...

CentOS 虚拟机磁盘扩容(非常实用)

新手村的选手在刚开始安装使用 CentOS 虚拟机时&#xff0c;很多选项都会按照推荐操作来&#xff0c;比如&#xff1a;磁盘推荐大小为 20 GB&#xff1b;但随着后面的使用&#xff0c;总会因为“磁盘根目录不足”原因&#xff0c;而导致软件无法安装、虚拟机无法正常运行等&…...

docker案例复现

$uri导致的CRLF注入漏洞 前期准备dockerdocker compose 漏洞配置 前期准备 docker 要完成这样的测试&#xff0c;需要我们有一定的环境&#xff0c;也就是需要大家去安装docker 更新系统软件包&#xff1a; sudo yum update 安装 Docker 的依赖软件包&#xff1a; sudo yum …...

淘宝资源采集(从零开始学习淘宝数据爬取)

1. 为什么要进行淘宝数据爬取&#xff1f; 淘宝数据爬取是指通过自动化程序从淘宝网站上获取数据的过程。这些数据可以包括商品信息、销售数据、评论等等。淘宝数据爬取可以帮助您了解市场趋势、优化您的产品选择以及提高销售额。 淘宝作为全球的电商平台&#xff0c;每天都有…...

【C语言】预处理详解

本文目录 1 预定义符号 2 #define 2.1 #define 定义标识符 2.2 #define 定义宏 2.3 #define 替换规则 2.4 #和## 2.5 带副作用的宏参数 2.6 宏和函数对比 2.7 命名约定 3 #undef 4 命令行定义 5 条件编译 6 文件包含 6.1 头文件被包含的方式 6.2 嵌套文件包含 1 预定义符号 __…...

2023中国(合肥)场景创新峰会成功举办,全息网御被纳入《合肥市第二批场景能力清单》

场景作为重要的城市资源&#xff0c;在驱动科技创新、产业发展、城市治理方面发挥着重要作用。近年来&#xff0c;为促进数字技术与实体经济深度融合&#xff0c;加速前沿科技转化落地、吸引全球创新资源集聚&#xff0c;合肥市聚焦“双找”&#xff1a;为产品找场景&#xff0…...

QT QLCDNumber 使用详解

本文详细的介绍了QLCDNumber控件的各种操作&#xff0c;例如&#xff1a;新建界面、源文件、设置显示位数、设置进制、设置外观、设置小数点、设置溢出、显示事件、其它文章等等操作。 实际开发中&#xff0c;一个界面上可能包含十几个控件&#xff0c;手动调整它们的位置既费时…...

明年,HarmonyOS不再兼容Android应用!

2023年华为开发者大会&#xff0c;不知道各位老铁们是否观看了&#xff0c;一个震撼的消息就是&#xff0c;首次公开了HarmonyOS NEXT的概念&#xff0c;简而言之就是&#xff0c;这是一款专为开发者打造的预览版操作系统&#xff0c;旨在提供"纯正鸿蒙操作系统"的体…...

华为OD机试 - 人气最高的店铺(Java JS Python)

题目描述 某购物城有m个商铺,现决定举办一场活动选出人气最高店铺。 活动共有n位市民参与,每位市民只能投一票,但1号店铺如果给该市民发放 q 元的购物补贴,该市民会改为投1号店铺。 请计算1号店铺需要最少发放多少元购物补贴才能成为人气最高店铺(即获得的票数要大于其…...

mysql sql 语句sum求和嵌套数学表达式

今天有个需求, 已减高度 高度 x 单双开(单开1 双开2) x 2,要直接写在sql语句中。 表字段 包含 高度 和 单双开字段 值是字符串 (双开 左单开 右单开) -- 已减高度 2 * 单双开 * 高度 sum( -- 求和 表达式 已减高度 2 * 单双开 * 高度 t_cloth.hegiht * 2 * (case WHEN l…...