任何应用程序如何工作?

时间:2013-08-08 21:39:53

标签: web-applications interface frontend backend

这似乎是一个非常愚蠢的问题。我知道如何对前端和后端进行编程,但之前从未构建过完整的应用程序。所以问题是,完整的应用程序如何工作?即,当两者都用不同的语言编写时,前端和后端如何连接/链接?当我构建一个Objective-C应用程序时,我看到了用户界面,但是我如何连接UI,让我们说一个后端分析程序。

感谢。

2 个答案:

答案 0 :(得分:3)

首先,您需要了解客户端服务器模型,客户端向服务器发送请求,服务器响应请求。现在这个客户端可以是任何东西,比如网络浏览器,应用程序(android,IOS,物联网等等,可以提出网络请求)。

大多数应用程序仅需要HTTP请求。

当服务器收到HTTP请求时,它会根据传递的路径和参数找到相应的文档,并将其作为响应返回。 HTTP响应需要具有特定格式,它必须如下所示:

HTTP/[VER] [CODE] [TEXT]
Field1: Value1
Field2: Value2
...Document content here...

第一行显示使用的HTTP版本,后跟一个三位数字(HTTP状态代码)和一个适用于人类的原因短语。通常代码是200(这基本上意味着一切都很好)和短语“OK”。第一行后面是一些称为标题的行(以键和值的形式),其中包含有关文档的信息。标题以空行结束,后跟文档内容。这是一个典型的标题:

HTTP/1.0 200 OK
Server: Netscape-Communications/1.1
Date: Tuesday, 25-Nov-97 01:22:04 GMT
Last-modified: Thursday, 20-Nov-97 10:44:53 GMT
Content-length: 6372
Content-type: text/html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>

...followed by document content...

我们从第一行看到请求成功。第二行是可选的,告诉我们服务器运行Netscape Communications Web服务器1.1版。然后,我们得到服务器认为当前日期以及最后修改文档的时间,然后是文档大小(以字节为单位)和最重要的字段:“Content-type”。

浏览器使用内容类型字段来判断它接收的文档的格式.HTML用“text / html”标识,普通文本用“text / plain”标识,GIF是“image / gif” “ 等等。这样做的好处是URL可以有任何结尾,浏览器仍然会正确。

这里的一个重要概念是,对于浏览器,服务器作为黑盒子工作。即:浏览器请求特定文档,并返回文档或返回错误消息。服务器如何生成文档仍然是浏览器所不知道的。这意味着服务器可以从文件中读取它,运行生成它的程序,通过解析某种命令文件来编译它,或者(非常不可能,但在原则上可能)由服务器管理员通过语音识别软件来指示它。这使服务器管理员可以很自由地尝试不同类型的服务,因为用户不关心(甚至不知道)页面的生成方式。

最后你的问题:你使用哪种编程语言并不重要,唯一重要的是请求和响应的格式。在您的情况下,您可以使用基于JSON的API以JSON格式将数据发送到您的应用程序。

我写得太少了。我想这会有所帮助。

答案 1 :(得分:0)

您可以使用许多技术,但主要用于通过HTTP协议进行通信的Web应用程序。只使用http,您就可以使用常见格式(如json或XML)发送少量数据。

还有更多基于这些概念的方法,如websockets,Ajax,rest和RPC(远程过程调用)。

这是一个很大的话题,但你必须让自己暴露于许多这些技术中,成为一个全面的开发人员。而且我的意思并不在于腰围。