对于Web开发,我不太了解“后端/服务器端”吗?


18

在Web开发世界中,后端/服务器端程序员到底要做什么?我想我不太了解整个概念。

我已经完成了HTML / CSS布局和网站设计以及PHP的一点点SQL(仍在增强我的技能,对我来说这更多是一个附带项目)。我也做了少量的JavaScript / JQuery。

但是我不理解“后端”工作,例如脚本语言(Rails / Python / etc)等。您究竟对他们“做什么”?


8
您认为本网站的“问题”和“截至”的去向如何?
Mayank

Answers:


17

如果您使用过PHP,那么您已经完成了服务器端的工作!

用外行的术语来说,客户端代码在计算机上,Web浏览器中运行,服务器端代码在Internet上的计算机上运行,​​然后服务器端计算的结果通过Internet发送到您的浏览器。

当您编写运行SQL语句的PHP代码时,SQL调用是在远程计算机(服务器)上进行的,然后通常通过生成的HTML形式将结果通过Internet发送到浏览器。

另一方面,JavaScript在您的浏览器中运行。CSS也是如此。

有关更多信息,请查看客户端编程和服务器端编程之间的区别


13

基本前提是:

在此处输入图片说明

用户给出他的输入,通过某种网络将其发送,然后服务器根据输入进行操作。

基本上,您希望所有安全性和验证都在服务器端执行。通过运行客户端方面的精美功能,例如不打扰的表单验证(尽管您仍然需要验证服务器端!)。

最大的问题:为什么?

用户可以在其机器上修改信息。例如,请参阅游戏培训师,他们可以修改内存值以使用户“入侵”游戏。如果您在物理场所中的计算机上做核心工作,则可以大大降低有人篡改安全检查的机会。


6
您没有使用手绘圈子。:(
glasnt 2011年

好的,那么Web应用程序框架到底有什么意义呢?

3
@Mercfh:为简化。它们为您提供建立愿景的基础。您是否构建身份验证框架?如何处理日期和视图以及控制器和路由。除非是学术活动,否则我不会。您需要一个框架,因为您最初要解决一个问题,而处理日期不是。:)

0

在设计与系统客户端交互的系统时,可以设计前端的东西。请注意,这里的客户端一词相当大,但基本上意味着您在提供与外界的接口时正在前端上工作。

大多数网站只是前端,也就是说,它们向外界提供信息,大多数时候,这些信息可以很简单地以文本形式存储在HTML文件中。

当您需要提供服务并封装前端将要使用的功能时,可以设计后端。这允许将一些工作负载从客户端(前端)转移到服务器(后端)。在需要协调来自可同时访问系统的不同客户端的信息的情况下,将执行此操作。或者,如果您需要使用中央数据存储库来整理动态数据,或者再次需要一些特定的安全性要求。这份清单绝不是详尽无遗的,只是简单的例子。

简而言之,前端(客户端)将向外界展示信息。通常,这些人是通过某种HTML或其他GUI进行操作的人员。

后端将提供集中服务以供前端使用的方法。使用后端不是强制性的,它增加了系统的复杂性,但是它可以更好地管理您要构建的系统固有的复杂性。

例如,可以仅通过前端提供诸如Wiki之类的服务,但是使用后端存储数据并将其提供给前端将有很多限制,它们将以更自然的方式解决。


您的解释很好,只不过您说大多数网站都只是前端。也许是在2003年,但是今天我被告知,“大多数”(与大多数人一样)具有某些后端/数据库交互。
凯尔(Kyle)2012年

从SO的角度来看,Facebook和整个世界都将静态网站委托给博物馆,但是仍然有大量的网站,公司的首页等等。就是说,这是正确的,因为它趋向于减少很多,因为仅安装wordpress并稍微调整CSS就能以更容易维护的形式实现相同的结果。请注意,尽管前端也指定了您网站公开的RESTfull API,而后端是实现该API的方式。
Newtopian 2012年

0

前端是在浏览器中运行的内容,后端(例如PHP)在服务器上运行,并将数据存储在数据库中,并执行此类操作。


0

在我看来,服务器端的工作(已经提到的是在要访问该网站的服务器上运行的任何内容)才是使网站真实存在的原因。仍然可以使用客户端技术来实现许多功能,但是我认为这是一种更为复杂的方法,并且安全性要差得多,因为客户端可以访问客户端代码中的所有内容。PHP和ASP是一种混合编程语言,几乎是专门用于在执行一些计算活动之后将网页内容提供给浏览器的。当您开始使用python,ruby,java或其他编程语言时,您将拥有更多的功能,但在过程结束时需要做更多的工作才能将结果信息发送给客户端。


0

任何典型的Web应用程序/网站都有两个方面。

  1. 正面-哪个控件是ui / layout / colors / fonts等

  2. 背面-处理数据库中的数据或文件操作,会执行很多逻辑,如果这样做,那么执行,如果不这样做,等等。与Web服务器软件(例如Apache / IIS / etc)和数据库服务器集成mySQL / PostreSQL / MS SQL Server等软件。

背面要强大得多,因为它可以做很多事情,包括创建excel文件,生成报告,进行计算,从不同服务器获取数据。

然后准备并显示该数据,以及如何设置正面。

在这两种情况下都要做好工作是要付出努力,要有大量的实践,学习和自律。

如果您想成为最好的人,那就练习,不要停止学习,也不要假设您知道所有答案。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.