我们每天打开手机和网页,淘宝、百度、微信以及很多APP和网站,都能看到精彩的用户界面。但很少有人知道,在他们的背后,有一种叫做后端的技术在支撑着他们,包括网络、数据库、响应等诸多方面。如果有一天你听到API、数据库、Json等一堆词汇,已经是云里雾里了……那就跟着我们一起了解一下服务器端的相关知识,看看手机背后隐藏着什么吧。..走到屏幕后面当你用手机打开一个应用程序时,每次使用该应用程序的感觉都很好吗?事实上,我们称应用程序为前端,其主要功能之一是提供流畅舒适的用户体验,但要实现真正的功能,仅靠应用程序是不够的。让我们一起做一个实验。以即时通讯应用程序为例。你给我的手机发了一条消息,但我把它关机了。这不仅仅是app能做的,一定还有别的东西在你我的手机之间默默奉献。这是后台,服务器!简单地说,服务器就是一台连接到互联网并运行服务程序(支持各种应用程序、网页和API)的计算机。服务端有两大功能:存储数据,方便(方便)沟通所以刚才的例子,你的app其实是向服务端发送了信息,服务端发现我的手机没有开机(不在线),暂时存储信息(也许是***)下来了。当服务器检测到我的手机打开app上线后,会把这段时间的所有信息都发送到我的app中,这样信息就不会遗漏了。可以说服务器是APP温暖的港湾。当需要数据或信息时,应用会通过互联网向服务器发起请求;当一个用户想通过app联系另一个用户时,服务器充当中间的桥梁,方便沟通。所以你觉得圈出来的server、backend和API其实可以理解成类似的东西。存储服务器的主要职责是存储数据。没有数据,它所支持的几乎所有功能和服务都将不存在。存储的数据包括音视频、照片、文档等文件,以及用户信息和使用数据。服务器通常以结构化方式存储数据,以便应用程序可以轻松读取和写入数据;我们来看看上面的两张图。服务器的数据存储非常类似于一系列电子表格。例如,为了运行登录和授权,需要存储用户信息和登录认证信息。想象一下我们的外卖APP,服务器需要存储每个美食商家的相关信息,如上图,用户可以在前端根据不同的分类策略(按价格、距离等排序)浏览到想要的商家。.同时,服务器还需要存储信息之间的关联性,比如用户是否喜欢某个餐厅的某道菜,或者某个用户喜欢的所有餐厅,以及同类型的餐厅或美食.这样就可以有针对性地向用户推荐相似的食物。有了这些信息,应用程序可以回答很多用户的问题,让公司更好地了解用户,更好地服务客户:有多少人喜欢这家餐厅?这个用户喜欢什么样的餐厅?用户A和用户B喜欢哪家餐厅?数据库所有这些都存储在数据库中。数据库虽然种类繁多,但都具有以下共同特点:存储信息存储信息之间的关系可以响应不同的信息查询(方便客户对每个不同的信息请求提交响应)每种数据库类型都有其各有优缺点,但如果有人跟你说“SQL”、“MongoDB”、“CouchDB”、“Redis”这几个词,那么他说的就是数据,只要掌握了以上三个,就不会有尴尬的聊天了.Stackoverflow的各种数据库使用统计https://www.eversql.com/most-popular-databases-in-2017-according-to-stackoverflow-survey/https://insights.stackoverflow.com/survey/2017communication另一个重要的服务器的作用是与应用程序和其他服务器进行有效通信。应用程序在运行时,需要经常与服务器进行通信。比如你想搜索附近的好吃的餐厅,你的搜索信息会由APP提交给服务器。服务器在数据库中检索到相关信息后,会响应app的请求,将相关信息返回给app,这样你就可以看到搜索结果了。到了餐厅。如果有其他用户发消息,你的app会将消息提交给服务器,服务器会根据用户id判断需要分发消息的地址,然后将消息发送给你好友的app,app会弹出消息提醒用户(当然,如果你不在线,服务器会保存信息,然后发送)各种应用程序所需的功能和服务。通信的本质是数据的传输。在服务器领域,主要使用两种格式,XML和JSON,如下图所示:“<>”和“{}[]”符号引导计算机有效读取。的符号。虽然看起来这种格式有点混乱,但是对于电脑来说还是很方便的。需要记住的是,服务器和手机都是电脑。手机上的APP对用户输入的文字、声音、图像进行处理,然后输出图像、声音等信息。手机端的app主要用于用户交互,输入输出都非常人性化,所以我们不需要自己阅读上面那些难懂的格式。但是计算机并不知道人类在谈论什么,所以需要将信息转换成特定的格式,这样计算机才能相互理解并进行高效的交流。这就是上面格式的作用。服务器应用程序与移动应用程序相同,服务器也需要应用程序才能运行。不同的是,服务器端采用服务器端框架,主要包括RubyonRails、PHP、ASP.NET、Java、Node.js等流行框架,为服务器端构建响应程序和应用程序。应用程序构建之后,一般会有一个接口来调用这些应用程序,这个接口就是API(ApplicationProgramInterface)。手机APP在运行过程中会不断调用各种AP??I来完成任务。让我们全面了解该应用程序的工作原理。我们首先要明白,API是应用程序调用程序的接口,数据库存储所有的信息,服务器应用程序是调度和处理所有请求、信息和响应的枢纽。服务端应用程序通过API监听应用程序的请求并做出响应,同时返回数据库中搜索信息的处理结果。当你登录时,应用会将你的登录信息通过API传递给服务器,服务器应用会将其与数据库中的信息进行比对。然后根据比对结果,通过API返回相应的信息给APP(登录成功、登录失败:用户错误、用户不存在等),你会在手机上看到相应的变化。硬件我们刚刚说了服务器也是一台电脑,那么你需要一台什么样的电脑呢?很多人一提到服务器就会想到千机房、暗柜、热风、荧光灯。光。许多大公司都有自己的服务器机房,Facebook和谷歌已经(并且仍在)在世界各地建造许多自己的机房来放置服务器。由于需要为全球数亿人提供服务,因此需要功能强大的数据中心中的服务器。构建自己的服务器成本更低,并提供更好的用户体验。但现在开发人员有了新的选择,云服务也越来越好,越来越便宜。例如,亚马逊AWS、微软Azure、DigitalOcean和许多其他云服务提供商都提供所谓的虚拟服务器。开发者无需购买任何硬件,即可通过这些服务商提供的服务器运行自己的应用程序。您只需要提交自己的服务器申请并设置相应的参数即可(当然,您需要付费)。最近出现了一些后端即服务(BaaS)提供商,开发人员可以轻松部署自己的后端,而无需编写复杂的服务器应用程序。所有应用程序都需要后端吗?大多数应用程序都可以。需要服务器存储数据,为用户提供更好的服务(企业也会收集用户数据等)。但是有些应用程序不需要后端。有一个简单的判断方法:在断开所有网络连接后,如果应用的功能还能正常使用,说明可以脱离后台使用(如手机中的相机、记事本等)。看到这里,应该对事情的来龙去脉有了更清晰的认识。下次遇到搞后端的朋友,可以愉快的聊一聊~~***附上服务器(后端)的简单图片,回忆一下。
