2015-04-04 248 views
1

我想在客户端和服务器端的层面上理解计算机语言。据我所知,客户端代码(HTML,CSS和Javascript)全部内置在浏览器中,并且可以在没有互联网连接的情况下被理解。我的浏览器能够理解哪些计算机语言?

但是,假设我使用Python或Ruby构建了一个简单的博客应用程序。在将服务器发送回客户端之前,我的服务器是否具有如何分解Python和Ruby代码的唯一知识?如果是这样,那么服务器如何在将代码发送回客户端/浏览器以便理解之前编译/解释代码?

请帮我理解这一点。

+0

您的python或ruby代码必须生成html/css/javascript - 所有浏览器只支持这3种语言 – 2015-04-04 00:39:28

+0

所以基本上我的服务器代码正在以一种让浏览器在幕后理解的方式进行编译? – 2015-04-04 00:40:13

+0

不,你的代码生成/生成/输出HTML作为其在服务器上执行的一部分 – 2015-04-04 00:41:03

回答

2

这是一个非常普遍和广泛响应:

web服务器(服务器)和和浏览器(客户端)如Firefox将通过发送文本以彼此通信。这个'文本'发送的方法是由一组规则或称为超文本传输​​协议(HTTP)的协议来描述的。

HTTP响应包含“body”字段。这个正文包含文本。服务器可以发送任何文本到它想要的客户端。客户端如何呈现文本取决于客户端。该文本可以采用HTML,CSS,JAVASCRIPT,中文,数字的形式..... 所以如果服务器发送给客户端的文本是HTML格式,客户端将渲染它。 CSS和Javascript也是如此。

但是,服务器如何知道要发送给客户端? 简而言之,构建网站并拥有服务器的人员将代码放到服务器上,并说'当您收到请求时用这些东西回应客户。'

等等,那么Python/Ruby/Java等和那些被用来编写服务器的语言有什么关系呢? 服务器是程序,它接受'请求'并处理决定如何响应的逻辑以及响应的内容。然而,响应包含的实际内容与用于处理响应的语言无关。