ventajas utilizados usa una sólo son servidor qué que programación programacion permite para lenguajes lenguaje lado datos cuáles cliente caracteristicas aplicación acceso javascript php client-side server-side

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



ventajas de la programación del lado del cliente (5)

Tengo este codigo

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

¿Por qué esto no escribe "barra" en mi archivo de texto, sino alertas "42"?

NB: Las revisiones anteriores de esta pregunta fueron explícitamente acerca de PHP en el servidor y JavaScript en el cliente. La naturaleza esencial del problema y las soluciones es la misma para cualquier par de idiomas cuando uno se ejecuta en el cliente y el otro en el servidor. Por favor, tome esto en cuenta cuando vea respuestas que hablan sobre idiomas específicos.


En la aplicación web cada tarea se ejecuta de forma de solicitud y respuesta.

La programación del lado del cliente es con el código html con el script Java y sus marcos, las bibliotecas se ejecutan en el explorador de Internet, Mozilla, los navegadores chrome. En el servidor de escenarios java, los servlets de programación se ejecutan en Tomcat, web-logic, j boss, WebSphere severs.


Intentaré explicarlo de forma sencilla.

El lado del cliente es lo que el usuario ve / código que es visible en el navegador.

La Programación del lado del cliente incluye HTML (HTML, HTML5, DHTML), CSS (CSS, CSS3) y JavaScript (JavaScript, ES5, ES6, ES7, TypeScript, JQuery, ReactJs, AngularJs, BackboneJs o cualquier otro marco de front-end de JavaScript).

La programación de Client Side se centra en "cómo se verá la página" y su comportamiento en los navegadores.

  1. HTML es lo que vemos.
  2. CSS decide su diseño (colores, imágenes flotantes, relleno, etc.).
  3. JavaScript monitorea la información de la página. Todas las llamadas a la API y el mantenimiento de datos a través de DOM se realiza mediante JavaScript.

La programación del lado del servidor incluye código que proporciona datos al lado del cliente. El usuario nunca puede ver el lado del servidor.

La programación del lado del servidor implica lenguaje de programación (Java, PHP, .Net, C #, C, C ++, NodeJS, etc.), Base de datos (SQL, Oracle, MySql, PostgreySql, No-Sql, MongoDB, etc.), API de terceros (Rest, Soap ), Lógica de negocios.

La Programación del lado del servidor se enfoca en "cómo hacer que los datos estén disponibles para el lado del cliente".

  1. Server-Side Language es responsable de la comunicación entre diferentes fuentes de datos como bases de datos, API de terceros, sistema de archivos, blockchain, etc. Estos lenguajes mantienen cierta API para que el lado del cliente interactúe.
  2. La base de datos es responsable de almacenar la información.
  3. La lógica empresarial define "cómo usar los datos y qué hacer con los datos".

Datos de solicitud del lado del cliente o solicitud para almacenar datos, desde el lado del servidor a través de la API proporcionada por el lado del servidor. Esta solicitud y respuesta de datos se realiza siguiendo el protocolo HTTP / FTP como REST API, SOAP API.


Para determinar por qué el código PHP no funciona en el código JavaScript , debemos comprender qué es el lenguaje del lado del servidor y del cliente y cómo funcionan.

Idiomas del lado del servidor (PHP, etc.) : recuperan registros de las bases de datos, mantienen el estado a través de la conexión HTTP sin estado y hacen muchas cosas que requieren seguridad. Ellos residen en el servidor, estos programas nunca tienen su código fuente expuesto al usuario

imagen attr

Así que puede ver fácilmente que el lenguaje del lado del servidor maneja la solicitud HTTP y procesarla, y como @deceze dijo que PHP se ejecuta en el servidor y genera código HTML y tal vez JavaScript que se envía como respuesta al cliente donde se interpreta el código HTML y el código JavaScript. es ejecutado.

Mientras que, por otro lado, Client Side Language (como JavaScript) reside en el navegador y se ejecuta en el navegador, las secuencias de comandos del lado del cliente generalmente se refieren a la clase de programas de computadora en la web que se ejecutan en el lado del cliente, mediante el navegador web del usuario. del lado del servidor .

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

Entonces, cuando realiza una solicitud HTTP en el servidor, el servidor primero lee el archivo PHP con cuidado para ver si hay tareas que deben ejecutarse y enviar la respuesta al lado del cliente y nuevamente como @deceze dijo * Una vez que PHP haya terminado de emitir la respuesta , el script finaliza y no ocurrirá nada en el servidor hasta que ingrese una nueva solicitud HTTP . *

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 utilizando una llamada AJAX.

  1. Puedes hacerlo recargando la página y enviando una solicitud HTTP.
  2. puedes hacer una llamada AJAX con JavaScript y esto no requiere volver a cargar la página

Buena lectura:

  1. Wikipedia: scripting del lado del servidor
  2. Wikipedia: scripting del lado del cliente
  3. Madara Uchiha: diferencia entre el lado del cliente y la programación 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 manera de pensar acerca de este proceso es como si estuviera generando un archivo de texto dinámicamente. El texto que está generando solo se convierte en código ejecutable una vez que el navegador lo interpreta. Solo se evalúa en el servidor lo que coloca entre las etiquetas <?php .

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


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 algunos códigos HTML y quizás JavaScript que se envían como respuesta al cliente donde se interpreta el HTML y se ejecuta el JavaScript. Una vez que PHP haya terminado de emitir la respuesta, el script finaliza y no ocurrirá nada en el servidor hasta que llegue 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 las etiquetas <?php ?> . El resultado es este:

<script type="text/javascript"> var foo = ''bar''; var baz = 42; alert(baz); </script>

La llamada file_put_contents no produjo nada, solo escribió "+ foo +" en un archivo. El <?php echo 42; ?> <?php echo 42; ?> call resultó en la salida "42", que ahora se encuentra en el lugar donde solía estar ese código.

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

Todo el código PHP se ejecuta en el servidor incluso antes de que el cliente comience a ejecutar cualquiera de los JavaScript. No hay código PHP en la respuesta con la que JavaScript podría interactuar.

Para llamar a algún código PHP, el cliente deberá enviar una nueva solicitud HTTP al servidor. Esto puede suceder usando uno de 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 este método con mayor detalle.

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