首页 » 建站教程 » 为什么不能在前端连接数据库呢「web前端与数据库连接方式」

为什么不能在前端连接数据库呢「web前端与数据库连接方式」

访客 2024-11-30 0

扫一扫用手机浏览

文章目录 [+]

为什么不能在前端连接数据库呢

技术上可以,但是一般都不会这样做,原因如下:

  1. 前端信息都是公开的,从前端访问数据库,就需要将数据库的地址,密码写在前端的代码中,这样就相当于公开了数据库的访问;
  2. 数据库公开访问的话,用户就可以随意访问数据库,操作数据库,这是很严重的问题,比如随便修改账户金额,删除数据,盗取其他用户敏感信息等;
  3. 无法扩容,流量控制等,比如数据库现在要迁移到另一台设备上,可以地址已经写死到了客户端,数据库地址变了,前端就无法访问了;
  4. 限制了数据库表的修改,比如数据库表中某个字段名变了,前端就访问数据库的代码就挂掉了;
  5. 性能差,放在前端的话,限流,异步队列,熔断,兜底,缓存等服务端的一些高可用服务都没有用武之地了。

因此,基本上数据库访问的业务代码都是放在服务端的,客户端通过访问服务端来了解访问数据库。

为什么不能在前端连接数据库呢「web前端与数据库连接方式」 为什么不能在前端连接数据库呢「web前端与数据库连接方式」 建站教程

非专业人士,简单回答一下:

为什么不能在前端连接数据库呢「web前端与数据库连接方式」 为什么不能在前端连接数据库呢「web前端与数据库连接方式」 建站教程
(图片来自网络侵删)

前端连接数据库,一个是安全问题,第二是并发性能问题,第三是系统的可维护性问题。

当然第三个问题如果真想解决,通过一些设计还是可以解决的,第一第二问题那就关系到互联网的一些基础性东西,基础决定上层建筑,目前的这些设计都是建立在这些基础上形成的相对最优的方案。

你可以将现在的的“状态”理解为就是前端直接链接了数据库,并给他起个特殊的名字,比如“萌某数据连接”。“萌某数据连接”,“使用了多种协议”,为了“穿越多种”网关;使用了多种保护策略,用以保护链接的有效性;……。

你的诉求是,如果后端只干了增删改查,是不是可以干掉。

答案是当然可以,而且这个思路符合逻辑。

但是干掉的方式有>许多/p>

1,浏览器直接和数据库打交道。

这个思路早就有之,甚至在富浏览器之前。微软在他的IE浏览器中提供了ActiveX的扩展,允许你安装插件。此时你如果安装同样是微软的Access数据库插件。就可以直接在浏览器操作数据库了。

2,使用轻量数据库嵌到前端。

富客户端概念兴起后,在前端存数据也不新鲜了。只是前端不认为这是数据库,更多认为是缓存。因为最终避免数据丢失,安全,一致性,还是需要后端的。此外,将sqlite类似的数据库嵌到app是非常常见了,但是app可能不被认为是“前端”。

3,打不过就加入,前端实现轻服务端。

正儿八经说一下这一条。这个无疑是未来去除讨厌的服务端的发展方向。借助nodejs,graphQL等框架,面向前端编程已经非常流行了。这里也推荐题主看一下Prisma。坚定自己想法,前端走遍天下是可行的。

也不是完全>不可/p>

我以前做程序的时候也是在前端直接连接数据,那时候我刚入行一年,我们公司的项目属于内网项目,不需要考虑什么安全问题,当时我负责的一个模块是基于applet的,使用java程序嵌入网页。

我在applet里面写了jdbc连接,然后使用js拼接sql,调用applet操作数据库,完全不经过后台,开发起来非常方便,网页刷新一下就能调试了,不需要重启后台。

不过那个项目也就客户那边几个人在用,不存在安全性问题,也没有并发问题,所以那样做其实一点问题都没有。

但是,如果是其他web项目甚至是互联网项目,这样弄纯粹就是不想混了,在js里面写sql,连接数据库,别人稍微会点技术的,直接运行一句delete,或者drop table,这时候你怎么办,特别是你数据库数据高达百万或者十几亿的数据,足够让你公司破产了。

其实现在也是有一些基于web端的存储,比如sqlite,websql,sessionstorage,localStorage,session,cookie,或者基于js自己实现个简易数据库,我曾经就尝试实现过js版数据库,然后服务器上开着一个浏览器,后台用websocket交互这个浏览器上的数据库。

浏览器内部提供的存储一般是为了提升交互体验而使用,而不是直接存储账号密码,特别是明文密码或者其他重要数据,所以,不能为了完全的性能而忽略安全性问题。

但是如果是小型项目又是个内网项目,本来就没什么钱挣的项目,如果你觉得在前端存数据方便那就在前端存就行了,这种情况当然是怎么开发快怎么来了。

web前端怎么连接sql

前端技术是没法直接连接或者说用sql操作数据库的,这是出于安全的考虑。一般前端和数据库发生关系,要么通过服务端提供的api进行操作,要么就是自己写一个服务端程序,对于前端程序员而言,一般都是用nodejs写一套操作数据库的程序。

web怎么利用access创建的数据库

第一步,你需要搭建一个开发环境,我以b/s中的asp为例, web server:netbox,使用方便 语言:asp,入手容易 数据库:access,界面操作,无需密码,操作简单。第二步,新建一个用户表,username char(20)password char(20)添加数据,admin mypassword第三步,新建登录界面,文件名 login.asp

新建loginaction.asp

<%dim sql,userName,userPwd userName=trim(request("userName")) userPwd=trim(request("userPwd")) if userName="maintain" then sql="select userPwd from user_info where userId=2"

rs.Open

sql,cn,1,1 asd=t...

Web前端页面怎么和后端的脚本与数据库对接

谢谢邀请,web前端与后端脚本的交互方式比较多样,主要还是通过http的方式来传递数据的。http的方法比较多,主要有get,post,delete,put等,

这些方法对应了增删改查的基本操作。这些在编写rest风格的接口时有帮助,通常使用比较多的还是get和post

第一,get提交方式:

get提交方式主要的特点是参数显式的放在url地址后面参数与地址之间用?隔开,多个参数之间用&隔开,这种提交方式参数明文显示,容易被截获,url长度有做限制,

主要用于读取数据接口时使用。

第二,post提交方式:

post提交方式最常见的是用于表单提交,数据大小没有做限制,参数不会在url后面显示出来,一般用作修改,添加数据的接口使用。

现在通常使用这些方法的地方主要在以下几个方面:

1. ajax提交,ajax可以异步传递数据,不会造成页面阻塞,用户交互比较良好。

2. form表单提交数据。form表单提交是一种比较传统的提交数据的方式。

web前端与后端脚本的交互主要有以上提到的几点。

相关文章

北京大数据热线智慧城市建设的得力助手

大数据已成为推动社会进步的重要力量。在我国,大数据产业得到了国家的高度重视,各地纷纷出台政策,推动大数据产业发展。北京作为我国首都...

建站教程 2025-02-13 阅读0 评论0

北京大数据驱动城市智慧发展的引擎

大数据已经成为推动社会进步的重要力量。北京作为我国首都,大数据产业在近年来取得了显著成果,为城市智慧化发展提供了有力支撑。本文将从...

建站教程 2025-02-13 阅读0 评论0

北京大数据驱动智慧城市的引擎

大数据已经成为当今世界最重要的战略资源之一。北京,作为我国首都,在大数据领域具有得天独厚的优势。本文将探讨北京大数据的发展现状、应...

建站教程 2025-02-13 阅读0 评论0