El servidor web 4D dispone de una caché que permite cargar en memoria las páginas estáticas, las imágenes GIF, las imágenes JPEG (<100 kb) y las hojas de estilos (archivos .css), a medida en que son solicitadas.
La utilización de un caché permite aumentar de manera significativa el rendimiento del servidor web al enviar páginas estáticas.
La caché es común para todos los procesos web. Puede definir el tamaño de la caché en las Propiedades. Por defecto (a partir de 4D v14 R5), la caché de las páginas estáticas está activa para las nuevas bases de datos. Para desactivarla, simplemente deseleccione la opción Usar la caché Web de 4D.
Puede modificar el tamaño de la caché en el área Tamaño caché de páginas. El valor a definir depende del número y tamaño de las páginas estáticas de su sitio web, como también de los recursos de que dispone el equipo local.
Nota: durante la utilización de su base web, puede controlar el desempeño de la caché utilizando la rutina WEB GET STATISTICS. Si por ejemplo, nota que la tasa de utilización de la caché es cercana al 100%, puede considerar aumentar el tamaño que se le ha adjudicado.
Los URLs /4DSTATS y /4DHTMLSTATS también le permiten obtener información sobre el estado de la caché. Consulte la sección Información sobre el sitio web.
Cuando la caché se activa, el servidor web 4D busca toda página estática solicitada por un navegador primero en la caché. Si encuentra la página, la envía de inmediato. De lo contrario, 4D carga la página del disco y la ubica en la caché.
Cuando la caché está llena y se necesita espacio adicional, 4D “descarga” las páginas menos utilizadas, por orden de antigüedad.
En cualquier momento, puede vaciar la caché de las páginas y de las imágenes que contiene (por ejemplo, si modifica una página estática y quiere cargarla en la caché). Para hacer esto, tiene que hacer clic en el botón Vaciar caché. La caché se vacía inmediatamente.
Esta área permite configurar cómo el servidor web manejará las sesiones de usuario y sus procesos asociados. Tenga en cuenta que la opción Sesiones heredadas sólo está disponible por compatibilidad en bases de datos/proyectos creados con versiones 4D anteriores a 4D v18 R6.
Cuando se selecciona esta opción, el servidor web no ofrece ningún soporte específico para las sesiones de usuario. Las sucesivas solicitudes de los clientes web son siempre independientes y no se mantiene ningún contexto en el servidor.
En este modo, se pueden configurar configuraciones adicionales del servidor web:
Nota de compatibilidad: esta opción solo está disponible en bases de datos/proyectos creados con una versión 4D anterior a 4D v18 R6.
Esta opción habilita el manejo de sesiones de usuario heredadas por el servidor HTTP 4D. Este mecanismo se describe en la sección Gestión de las sesiones web (heredado).
En este modo, puede configurar ajustes adicionales del servidor web:
Esta opción indica el límite estrictamente superior de procesos web concurrentes de todo tipo (procesos web estándar o pertenecientes al "grupo de procesos") que se pueden abrir simultáneamente en el servidor. Este parámetro permite la prevención de la saturación del servidor 4D como resultado de un número masivo de peticiones.
Por defecto, este valor es 100. Puede definir el número entre 10 y 32 000.
Cuando se alcanza el número máximo de procesos web concurrentes (menos uno), 4D no crea más nuevos procesos y envía el siguiente mensaje “Servidor no disponible” (estado HTTP 503 – Servicio no disponible) a cada nueva petición.
Nota: también puede definir el número máximo de procesos web utilizando el comando WEB SET OPTION.
En teoría, el número máximo de procesos web es el resultado de la división Memoria disponible/Tamaño de la pila de un proceso web. Otra solución es visualizar la información de los procesos web mostrada en el Explorador de ejecución: se indican el número actual de procesos web y el número máximo alcanzado desde el inicio del servidor web.
(*) El tamaño de la pila asignado por 4D para un proceso Web es alrededor de 512 KB (valores indicativos que pueden variar en función del contexto).
Permite optimizar el funcionamiento del servidor web de 4D en modo remoto reutilizando procesos web creados para el procesamiento de peticiones web anteriores. De hecho, el servidor web de un 4D Client necesita un proceso web especifico para la administración de cada petición web; cuando es necesario, este proceso se conecta al equipo 4D Server para acceder a los datos y al motor de la base de datos. Luego genera un contexto temporal utilizando sus propias variables, selecciones, etc. Una vez procesada la petición, el proceso se aborta.
Cuando la opción Reutilización de los contextos temporales está seleccionada, 4D mantiene los procesos web específicos creados en 4D Client y los reutiliza para las peticiones posteriores. Al eliminar la etapa de creación del proceso, mejora el rendimiento del servidor web.
En contraparte, debe asegurarse en este caso de inicializar sistemáticamente las variables utilizadas en métodos 4D para evitar obtener resultados incorrectos. Igualmente, es necesario borrar las selecciones o registros actuales definidos durante la petición anterior.
Activa los procesos web apropiativos en sus aplicaciones compiladas. Cuando se selecciona Usar procesos apropiativos, la eligibilidad de su código relacionado con la web (incluidos las etiquetas 4D y los métodos de base web), para la ejecución apropiativa se ejecutará durante la compilación. Para más información, consulte Utilizar procesos web apropiativos.
Nota: esta opción no aplica a los procesos de servicio web (servidor o cliente). El modo apropiativo es soportado por los procesos de servicio Web a nivel de método: solo tiene que seleccionar la propiedad "Se puede ejecutar en procesos apropiativos" para los métodos del servidor SOAP publicados (ver Publicar un servicio web con 4D) o métodos cliente proxy (ver Suscripción a un servicio web en 4D) y asegúrese de que el compilador confirme que son hilo seguro.
Defina el sistema de autenticación que desea aplicar a su servidor Web. La autenticación se refiere a la forma en que se recoge y procesa la información relativa al nombre de usuario y la contraseña. Para el usuario, el modo de autenticación es transparente.
Notas:
Debe reiniciar el servidor web para que se tengan en cuenta los cambios realizados en estos parámetros.
El servidor web no ofrece autenticación, la autenticación debe realizarse con su código. Cuando se selecciona esta opción:
Si existe Método base On Web Authentication, se ejecuta y, además de $1 y $2, solo se ofrecen las direcciones IP del navegador y el servidor ($3 y $4), el nombre de usuario y la contraseña ($5 y $6) están vacíos. En este caso, puede filtrar las conexiones según la dirección IP del navegador y / o la dirección IP solicitada del servidor.
Autenticación estándar en modo BÁSICO. El nombre y la contraseña introducidos por el usuario se envían sin cifrar en las solicitudes HTTP. Esto no garantiza la seguridad total del sistema, ya que esta información podría ser interceptada y utilizada por un tercero (se recomiendan las conexiones https).
Cuando un usuario se conecta al servidor, aparece un cuadro de diálogo en su navegador para que introduzca su nombre de usuario y su contraseña. Estos dos valores se envían entonces al Método base On Web Authentication junto con los demás parámetros de conexión (dirección IP y puerto, URL...) para que pueda procesarlos.
Este modo permite acceder a la opción Incluir contraseñas 4D que permite utilizar, en lugar o además de su propio sistema de contraseñas, el sistema de contraseñas de la base de datos 4D (tal y como se define en 4D).
Nota: con el servidor Web Client 4D, tenga en cuenta que todos los sitios publicados por las máquinas del Cliente 4D compartirán la misma tabla de usuarios. La validación de los usuarios/contraseñas se realiza mediante la aplicación del Servidor 4D.
La información de autenticación se procesa mediante un proceso unidireccional llamado "hashing", que hace que su contenido sea imposible de descifrar.
Como en el modo BÁSICO, los usuarios deben introducir su nombre y contraseña cuando se conectan. Estos dos valores se envían encriptados al Método base On Web Authentication con los otros parámetros de conexión. Debe autentificar un usuario utilizando el comando WEB Validate digest.Contraseñas con protocolo DIGEST
Puede designar un usuario, previamente definido en la tabla de contraseñas de 4D, como “Usuario Web Genérico.” En este caso, cada navegador que se conecta a la base puede utilizar las autorizaciones de acceso y las restricciones asociadas con este usuario. De esta forma puede controlar fácilmente el acceso de los navegadores a las diferentes partes de la base.
Nota: no hay que confundir esta opción, la cual permite restringir los accesos de los navegadores a las diferentes partes de la aplicación (métodos, formularios, etc.), con el sistema de control de conexiones al servidor web, administrado por el sistema de contraseñas y el Método de base On Web Authentication.
Para definir un Usuario web genérico:
1. En modo Diseño, cree al menos un usuario con el editor de usuarios de la caja de herramientas. Si quiere puede asociar una contraseña con el usuario. 2. En los diferentes editores de 4D, autorice o restrinja el acceso a este usuario. 3. En la caja de diálogo de Propiedades, elija el tema Web, página Opciones (I). El área “Contraseñas Web” contiene la lista desplegable Usuario web genérico. Por defecto, el Usuario web genérico es el Diseñador y los navegadores tienen acceso completo a todas las partes de la base. 4. Elija un usuario en la lista desplegable y valide la caja de diálogo.
Todos los navegadores web autorizados a conectarse a la base se beneficiarán de las autorizaciones de acceso asociadas al Usuario web genérico (excepto cuando el modo BASIC y la opción “Incluir contraseñas 4D” están seleccionados y el usuario que se conecta no existe en la tabla de contraseñas 4D, ver a continuación).
La opción "Contraseñas con protocolo BASIC" no influye en cómo funciona el Usuario Web genérico. Sin importar el estado de esta opción, los privilegios y las restricciones de acceso asociados al “Usuario Web genérico” se aplicarán a todos los navegadores Web que están autorizados para conectarse a la base.
Sin embargo, cuando la opción "Incluir contraseñas 4D" está seleccionada pueden presentarse dos posibles resultados:
El nombre y la contraseña del usuario no existen en la tabla de contraseñas de 4D. En este caso, si la conexión ha sido aceptada por el Método de base On Web Authentication, los derechos de acceso del usuario Web genérico serán aplicados al navegador.
Si el nombre de usuario y contraseña existen la tabla de contraseñas de 4D, el parámetro “Usuario Web genérico” se ignora. El usuario se conecta con sus propios derechos de acceso.