我很难理解后端如何与前端一起工作

时间:2017-05-13 20:14:45

标签: javascript node.js database backend

因此,Web开发的前端是HTML CSS和JavaScript,html是浏览器呈现给您的,因此它对人类来说是可读的。 CSS是为网站设置样式,javascript用于前端的行为/交互部分。

现在我似乎有一个问题,理解是后端部分。

我正在上课,他们正在使用的程序是nodeJS和数据库mongodb。这两个是我唯一需要学习的东西吗? nodeJS究竟做了什么?

抱歉我的语法

1 个答案:

答案 0 :(得分:0)

前端显示在浏览器中并控制与用户的互动。

后端提供HTML,CSS,图像和其他资源,供前端显示。

在最简单的实现中,浏览器从Web服务器(后端)请求页面URL,Web服务器将HTML文件发送回浏览器然后显示的浏览器。如果该HTML文件包含其他资源引用(例如样式表,脚本,图像等等),则浏览器在分析HTML页面时将在HTML页面中找到它们,然后它将从Web请求这些资源服务器。 Web服务器将通过发送每个请求的资源进行响应。

现在,大多数网站不仅仅是静态HTML,后端只能从服务器上读取文件并发送到浏览器。在大多数情况下,必须将数据合并到某种HTML模板中,并将合并后的合并HTML发送回浏览器。这是可以使用数据库的地方。例如,如果您要进行Google搜索,则输入要搜索的内容并按Enter键。浏览器向后端服务器发送请求以搜索该特定字符序列。后端分析发送的内容,查询其索引以查找匹配的网页URL,然后构建所有搜索结果的HTML表示并将其发送回浏览器。

或者,在堆栈溢出时,您单击一个问题以查看问题的详细信息。浏览器将URL发送到Web服务器(后端)。 Web服务器解析该URL,发现它是一个问题,在其数据库中查找该问题,获取问题,所有当前答案以及所有当前评论并将所有数据格式化为HTML页面,然后将其发送回浏览器。浏览器显示该HTML并让用户与网页交互(点击链接,按钮等...)。最终,用户点击了重新开始整个过程​​的内容。

在更高级的页面中,用户单击网页中的按钮,例如"添加评论"这里。网页中的Javascript不是加载一个全新的网页,而是向服务器发送Ajax请求,指示它将此文本作为注释添加到问题XXXX。 Ajax请求只是用于从浏览器端Javascript向服务器发送HTTP请求的特定API。当服务器收到它时,它只是一个HTTP请求,就像一个页面请求或它获得的任何其他请求。后端构造适当的数据库请求并将该数据添加到后端数据库,以便注释成为永久性的,并且将被查看该页面的其他用户看到。

有许多不同的后端技术可用于编写Web服务器以及可用于每种后端技术的许多不同框架。例如,您可以使用PHP,Java,Javascript,C ++,C#等编写Web服务器... node.js是一个用Javascript编写Web服务器的环境。 mongodb是许多网站使用的流行后端数据库。