在Web开发世界中,后端/服务器端程序员到底要做什么?我想我不太了解整个概念。
我已经完成了HTML / CSS布局和网站设计以及PHP的一点点SQL(仍在增强我的技能,对我来说这更多是一个附带项目)。我也做了少量的JavaScript / JQuery。
但是我不理解“后端”工作,例如脚本语言(Rails / Python / etc)等。您究竟对他们“做什么”?
在Web开发世界中,后端/服务器端程序员到底要做什么?我想我不太了解整个概念。
我已经完成了HTML / CSS布局和网站设计以及PHP的一点点SQL(仍在增强我的技能,对我来说这更多是一个附带项目)。我也做了少量的JavaScript / JQuery。
但是我不理解“后端”工作,例如脚本语言(Rails / Python / etc)等。您究竟对他们“做什么”?
Answers:
如果您使用过PHP,那么您已经完成了服务器端的工作!
用外行的术语来说,客户端代码在计算机上,Web浏览器中运行,服务器端代码在Internet上的计算机上运行,然后服务器端计算的结果通过Internet发送到您的浏览器。
当您编写运行SQL语句的PHP代码时,SQL调用是在远程计算机(服务器)上进行的,然后通常通过生成的HTML形式将结果通过Internet发送到浏览器。
另一方面,JavaScript在您的浏览器中运行。CSS也是如此。
有关更多信息,请查看客户端编程和服务器端编程之间的区别。
基本前提是:
用户给出他的输入,通过某种网络将其发送,然后服务器根据输入进行操作。
基本上,您希望所有安全性和验证都在服务器端执行。通过运行客户端方面的精美功能,例如不打扰的表单验证(尽管您仍然需要验证服务器端!)。
最大的问题:为什么?
用户可以在其机器上修改信息。例如,请参阅游戏培训师,他们可以修改内存值以使用户“入侵”游戏。如果您在物理场所中的计算机上做核心工作,则可以大大降低有人篡改安全检查的机会。
在设计与系统客户端交互的系统时,可以设计前端的东西。请注意,这里的客户端一词相当大,但基本上意味着您在提供与外界的接口时正在前端上工作。
大多数网站只是前端,也就是说,它们向外界提供信息,大多数时候,这些信息可以很简单地以文本形式存储在HTML文件中。
当您需要提供服务并封装前端将要使用的功能时,可以设计后端。这允许将一些工作负载从客户端(前端)转移到服务器(后端)。在需要协调来自可同时访问系统的不同客户端的信息的情况下,将执行此操作。或者,如果您需要使用中央数据存储库来整理动态数据,或者再次需要一些特定的安全性要求。这份清单绝不是详尽无遗的,只是简单的例子。
简而言之,前端(客户端)将向外界展示信息。通常,这些人是通过某种HTML或其他GUI进行操作的人员。
后端将提供集中服务以供前端使用的方法。使用后端不是强制性的,它增加了系统的复杂性,但是它可以更好地管理您要构建的系统固有的复杂性。
例如,可以仅通过前端提供诸如Wiki之类的服务,但是使用后端存储数据并将其提供给前端将有很多限制,它们将以更自然的方式解决。
任何典型的Web应用程序/网站都有两个方面。
正面-哪个控件是ui / layout / colors / fonts等
背面-处理数据库中的数据或文件操作,会执行很多逻辑,如果这样做,那么执行,如果不这样做,等等。与Web服务器软件(例如Apache / IIS / etc)和数据库服务器集成mySQL / PostreSQL / MS SQL Server等软件。
背面要强大得多,因为它可以做很多事情,包括创建excel文件,生成报告,进行计算,从不同服务器获取数据。
然后准备并显示该数据,以及如何设置正面。
在这两种情况下都要做好工作是要付出努力,要有大量的实践,学习和自律。
如果您想成为最好的人,那就练习,不要停止学习,也不要假设您知道所有答案。