Saltar al contenido

¿Cuál es la diferencia entre la programación del lado del cliente y del lado del servidor?

Solución:

Su código se divide en dos partes completamente separadas, el lado del servidor y el lado del cliente.

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

Las dos partes se comunican a través de solicitudes y respuestas HTTP. PHP se ejecuta en el servidor y genera algo de HTML y tal vez código JavaScript que se envía como respuesta al cliente donde se interpreta el HTML y se ejecuta JavaScript. Una vez que PHP haya terminado de generar la respuesta, el script finaliza y no sucederá nada en el servidor hasta que ingrese una nueva solicitud HTTP.

El código de ejemplo se ejecuta así:

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

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

Paso 1, PHP ejecuta todo el código entre <?php ?> etiquetas. El resultado es este:

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

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

los file_put_contents la llamada no dio como resultado nada, simplemente escribió “+ foo +” en un archivo. los <?php echo 42; ?> La llamada resultó en la salida “42”, que ahora está en el lugar donde solía estar ese código.

Este código HTML / JavaScript resultante se envía ahora al cliente, donde se evalúa. los alert la llamada funciona, mientras que el foo La variable no se usa en ninguna parte.

Todo el código PHP se ejecuta en el servidor antes de que el cliente comience a ejecutar JavaScript. No queda código PHP en la respuesta con el que JavaScript pueda interactuar.

Para llamar a algún código PHP, el cliente deberá enviar una nueva solicitud HTTP al servidor. Esto puede suceder utilizando uno de los tres métodos posibles:

  1. Un enlace, que hace que el navegador cargue una nueva página.
  2. Un envío de formulario, que envía datos al servidor y carga una nueva página.
  3. Una solicitud AJAX, que es una técnica de Javascript para realizar una solicitud HTTP regular al servidor (como 1. y 2. will), pero sin salir de la página actual.

Aquí hay una pregunta que describe estos métodos con mayor detalle.

También puede usar JavaScript para hacer que el navegador abra una nueva página usando window.location o enviar un formulario, emulando las posibilidades 1. y 2.

Para determinar por qué PHP el código no funciona en JavaScript código que necesitamos para entender qué lado del cliente y lado del servidor son los idiomas y cómo funcionan.

Lenguajes del lado del servidor (PHP, etc.): Recuperan registros de bases de datos, mantienen el estado sobre los apátridas HTTP conexión y hacer muchas cosas que requieren seguridad. Residen en el servidor, estos programas nunca tienen su código fuente expuesto al usuario.

Imagen de wikipedia_http: //en.wikipedia.org/wiki/File: Scheme_dynamic_page_en.svg


attr de imagen

Por lo tanto, puede ver fácilmente que los lenguajes del lado del servidor manejan las solicitudes HTTP y las procesan y, como dijo @deceze, PHP se ejecuta en el servidor y genera algo de HTML, y tal vez código JavaScript, que se envía como respuesta al cliente, donde se interpreta el HTML y se ejecuta JavaScript.

Por otra parte, Idiomas del lado del cliente (como JavaScript) residen en el navegador y se ejecutan en el navegador. Secuencias de comandos del lado del cliente generalmente se refiere a la clase de programas de computadora en la web que se ejecutan en el lado del cliente, por el navegador web del usuario, en lugar de lado del servidor.

JavaScript es visible para el usuario y se puede modificar fácilmente, por lo que por cuestiones de seguridad no debemos confiar en JavaScript.

Entonces cuando haces un HTTP solicitud en el servidor, el servidor primero lee el archivo PHP cuidadosamente para ver si hay tareas que deben ejecutarse y envía una respuesta al lado del cliente. Nuevamente, como dijo @deceze, * Una vez que PHP haya terminado de generar la respuesta, el script finaliza y no sucederá nada en el servidor hasta que una nueva HTTP entra la solicitud. *

Representación grafica

Fuente de imagen

Entonces, ¿qué puedo hacer si necesito llamar a PHP? Depende de cómo necesite hacerlo: ya sea recargando la página o usando una llamada AJAX.

  1. Puede hacerlo volviendo a cargar la página y enviando un HTTP solicitud
  2. Puede realizar una llamada AJAX con JavaScript; esto no requiere recargar la página

Buena lectura:

  1. Wikipedia: secuencias de comandos del lado del servidor
  2. Wikipedia: secuencias de comandos del lado del cliente
  3. Madara Uchiha: diferencia entre la programación del lado del cliente y del lado del servidor

Su Javascript se ejecutará en el cliente, no en el servidor. Esto significa que foo no se evalúa en el lado del servidor y, por lo tanto, su valor no se puede escribir en un archivo en el servidor.

La mejor forma de pensar en este proceso es como si estuviera generando un archivo de texto de forma dinámica. El texto que está generando solo se convierte en código ejecutable una vez que el navegador lo interpreta. Solo lo que pones entre <?php Las etiquetas se evalúan en el servidor.

Por cierto, hacer un hábito de incrustar piezas aleatorias de lógica PHP en HTML o Javascript puede conducir a un código seriamente complicado. Hablo por experiencia dolorosa.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *