【发布时间】:2021-04-22 05:47:47
【问题描述】:
我是一名自学网络开发的学生。 我正在开发一个购物中心网站作为我的个人项目,当我尝试制作登录页面时遇到了一些基本问题。
首先,我将在开始时向您介绍我的项目的主要概念,以便您更容易理解我的问题。
我最初的概念和想法如下:
-
数据库(MySQL)
我需要一些数据显示在网站上。所以我决定在 Kaggle 上使用“时尚产品图像数据集”。注册的用户也将被存储。 我只是假设有我需要的一切来制作网站。 -
Web 应用服务器(API 服务器)
我认为这是一种桥梁,可以使浏览器上的javascript在第一次加载页面或需要用户更改资源时获得一些资源,一种产品图像和价格,或者代码。 -
Web 服务器(内置 React)
我使用“create-react-app”制作了 React 应用程序,所以我实际上不需要考虑 Web 服务器。我所做的唯一一件事就是构建一些使用 React 库显示 UI 的组件。
FRONT-END BACK-END
---------- ----------------------------------------------------------------
| CLIENT | < --- > | REACT | < --- > | API-SERVER | < --- > | DATABASE |
| REACT | |(WEB-SERVER)|
当用户请求我的页面时,React(内置服务器)会回复它。 然后,用户将获得 SPA(客户端)。
SPA 没有任何数据,它将从 API 服务器获取数据(因为 .js 文件中插入了获取代码)。 然后,api服务器内部的查询将从数据库中获取数据。 然后,API 服务器将数据提供给 SPA。
在我开始考虑安全性之前,一切都很顺利。如您所见,当我们访问其他网站时,他们使用的是 https 而不是 http。所以我想使用 https,因为保护个人数据免受坏人的侵害非常重要。当我考虑我的想法时,没有任何地方可以放置将 http 更改为 https 的代码。
另外,我理解 React 只是一个库,就像 reactjs.org 所说的那样。所以我认为我能够使用内置 Web 服务器的原因是因为该应用程序是由 'create-react-app' 制作的。
最后,这里是主要问题。 据我所知,https 逻辑应该在网络服务器中。我的意思是处理客户端请求的服务器。
-
如果 react is a library 是真的,我是否必须构建一个 Web 服务器? (我认为用 Node.js 或其他语言构建 Web 服务器是正确的方法,因为库只是一个库..!)
-
如果我不需要搭建网络服务器,我应该把逻辑放在哪里?
-
假设我已经完全准备好使用 https(我通过 Node.js 制作了一个 Web 服务器,并获得了一个使用 TLS 的 CA),然后,客户端和 Web 服务器能够安全地通信。但是,所有调用 API 的代码都写在 .js 文件中。 这些文件现在是客户端的浏览器。这意味着客户端和API服务器没有安全连接,因为API服务器和Web服务器有不同的域或端口。
也许是问题3的总结:
3.1。当我在 google 上搜索时,我了解到 Web 应用程序服务器是处理 Web 服务器无法服务的请求。但是,在 SPA 中,请求来自客户端。是这样吗?
3.1.1。如果来自客户端的问题,如何证明客户端和 Web 应用服务器之间的通信是安全的?因为 Web 服务器和 Web 应用程序服务器的域或端口不同!
【问题讨论】:
-
嗨金鱼。您的问题吸引了很多反对票,这通常表明存在质量问题。当前的问题包含太多的背景和推测,然后引发了许多问题——其中大多数已经有了高质量的答案。我相信你的思路其实很值得称道,但意识流在问答形式中是行不通的。这个问题很可能最终会被审核删除,所以我建议你在前面,自己删除它,并在转发之前阅读How do I ask a good question?。
-
很抱歉,这是我第一次发帖,我的英语不太好。这就是为什么有很多问题,再次抱歉。保存昆汀的答案后,我会立即删除它
-
我自己无法删除它,所以我标记了这是太多基于选项的问题。请删除它...
-
很可能被接受的答案阻止了。您的替代方法是将其重写为简洁明了的问题:)
标签: reactjs web https frontend was