从一个简单的编程脚本来认识客户端和服务器端的区别

标签: 客户端服务器端   时间:2017-09-23
本文章通过一个简单的js代码片段和php代码片段向大家介绍客户端和服务器端的区别,以及他们的工作原理,需要的朋友可以参考一下。

首先来看一下代码:

<script type="text/javascript">
    var foo = 'bar';
    <?php
        file_put_contents('foo.txt', ' + foo + ');
    ?>

    var baz = <?php echo 42; ?>;
    alert(baz);
</script>

以上代码可以分为两个完全独立的部分,即服务器端和客户端。js代码是在客户端执行,而php代码是在服务器端执行。

其执行流程图如下:

             |
               ---------->
              HTTP request
                    |
+--------------+    |    +--------------+
|              |    |    |              |
|    browser   |    |    |  web  server |
| (JavaScript) |    |    |  (PHP etc.)  |
|              |    |    |              |
+--------------+    |    +--------------+
                    |
  client side       |      server side
                    |
               <----------
          HTML, CSS, JavaScript
                    |

双方通过HTTP请求和响应进行通信。PHP在服务器上执行,并输出一些HTML和JavaScript代码,作为对客户端的响应,HTML被解释并执行JavaScript。一旦PHP完成输出响应,脚本就会结束,并且在新的HTTP请求进入之前,服务器上不会发生任何事情。

下面我们来分析以上脚本的执行流程:

第1步,PHP执行<?php ?>之间的所有代码。结果是这样的:

<script type="text/javascript">
    var foo = 'bar';

    var baz = 42;
    alert(baz);
</script>

该file_put_contents函数在这里没有影响到任何结果,它只是将“+ foo +”字符串写入foo.txt文本中。该<?php echo 42; ?>调用产生了输出“42”。

此时的HTML / JavaScript代码被发送到客户端,并执行。alert方法弹出变量baz的值,即42,而foo变量没有做任何处理。

所有PHP代码都在服务器上执行并且比JavaScript代码先执行。JavaScript脚本在执行的时候,是不会有任何php代码的。

要调用一些PHP代码,客户端将不得不向服务器发送一个新的HTTP请求。这里有三种方法:

  1. 链接,重新加载新页面。
  2. 表单提交,将数据提交到服务器并加载新页面。
  3. 一个AJAX请求,它是一种向服务器发送定期HTTP请求的Javascript技术,但不离开当前页面。 

原文地址:http://www.manongjc.com/article/2154.html

上一篇:分享php多文件上传实现源码

下一篇:已是最后一篇