Las diversas tecnologías que entran en un sitio web
Internet es increíble, creo que todos podemos estar de acuerdo con eso. Pero, ¿alguna vez se sentó y pensó cómo un sitio web en realidad llega a su computadora? ¿Qué tecnologías están detrás de MakeUseOf, por ejemplo? Es mucho más que una simple colección de archivos HTML e imágenes..
Siga leyendo para averiguar exactamente qué implica ejecutar, alojar y servir un sitio web para su consumo, estimados lectores..
Hardware
Comencemos con el componente más básico de hospedar un sitio web: el hardware. Esencialmente, las máquinas que se utilizan para alojar un sitio web no son realmente diferentes de las PC de escritorio que usted o yo tenemos en casa. Tienen más memoria, unidades de respaldo y, a menudo, conexiones de redes de fibra óptica, pero básicamente son las mismas. De hecho, cualquier máquina antigua puede alojar un sitio web, es solo un caso de cuán rápido será capaz de enviar páginas a los usuarios..
Puede leer más aquí sobre los diversos tipos de alojamiento. Las diversas formas de alojamiento de sitios web explicadas [Tecnología explicada] Las diversas formas de alojamiento de sitios web explicadas [tecnología explicada] Más información disponible, desde una sola máquina compartida entre miles de sitios web, cada uno pagando $ 5 / mes, a un servidor dedicado completo capaz de ejecutar algo como MakeUseOf - que cuesta miles de dolares al mes.
Sistema operativo
La mayoría de las máquinas de servidores web ejecutan una versión optimizada de Linux, aunque hay un buen número de servidores que ejecutan Windows, generalmente en entornos corporativos donde las aplicaciones web se basan en ASP o dotNet. A partir de enero de este año, la distribución Linux más popular para el alojamiento web es Debian, seguida de cerca por CentOS (basado en RedHat), ambos disponibles de forma gratuita para que los descargues y pruebes tú mismo, y cada uno dice que alberga aproximadamente el 30% de todos sitios web Por supuesto, Google ejecuta su propio Linux personalizado, así como su propio sistema de archivos personalizado..
Software de servidor web
Aquí es donde las cosas realmente comienzan a diferenciarse. El software del servidor web es la aplicación que recibe solicitudes entrantes y sirve las páginas o los archivos. El software del servidor web en sí mismo no está preocupado en gran medida por el idioma de la página web a la que sirve: un servidor Apache es bastante capaz de servir Python, PHP, Ruby o cualquier número de idiomas diferentes; Pero esto no es universal. La participación de mercado actual indica que Apache ejecuta alrededor del 65% de los sitios web principales, Microsoft IIS 15% y 10% nginx. Se considera que nginx es mejor en el manejo de sitios de alta concurrencia, es decir, donde muchos miles de usuarios pueden estar en el sitio en cualquier momento, y de hecho se usa aquí en MakeUseOf.
Cuando carga un sitio web, abre un socket, una conexión, entre su computadora y el servidor del sitio web. Una danza elaborada y prolongada de la melodía de HTTP comienza con el intercambio de solicitudes, datos y códigos de estado. Como solicitó esta página, nuestro servidor respondió con un 200 - ok, sentido “claro aquí tienes”; Si has visitado antes, tu navegador también podría preguntar. “Hola, ya tengo una copia de este gráfico en el caché de mi navegador, ¿realmente lo necesito de nuevo??”, a lo que nuestro servidor respondió 304 - No modificado, o “No, está bien, no lo hemos cambiado ni nada, solo usa ese”.
De vez en cuando, encontrarás el temido 404 No encontrado, Pero no necesito explicarte ese código de error. Si alguna vez ha abierto la Guía de Firebug Amateur para personalizar el diseño de sitios web con FireBug La guía de Amateur para personalizar el diseño de sitios web con FireBug Leer más o el modo de desarrollador de su navegador, se sorprenderá al ver cuánto avanza y retrocede - no es un simple “dame esa pagina” - “Bien aquí”, Pero en realidad cientos de interacciones más pequeñas..
Archivos estáticos y redes de distribución de contenido
En todos los sitios web, hay algunos archivos que casi nunca cambian. Cosas como Javascripts, CSS, imágenes, PDFs o mp3s. Estos se llaman archivos estáticos, y para servirlos, el software del servidor web simplemente tiene que agarrar el archivo y enviarlo. Fácil, ¿verdad? No tan rapido.
Desafortunadamente, enviar una gran cantidad de archivos estáticos es una tarea laboriosa debido al tamaño de los archivos. Si alguna vez visitó una página web donde realmente puede sentarse allí viendo cómo se cargan las imágenes, es porque el servidor web está recuperando esos archivos para usted mismo, simplemente no están optimizados para hacer ese tipo de trabajo. En cambio, los sitios web grandes descargan todos estos archivos estáticos en lo que se llama un Red de entrega de contenidos - servidores separados que están optimizados para servir archivos estáticos de forma ridículamente rápida en un abrir y cerrar de ojos.
También lo logran al ubicar físicamente los servidores en diferentes lugares alrededor del mundo que se reflejan entre sí, por lo que los datos tienen menos distancia para viajar a usted. En este momento, a pesar de que el artículo de MakeUseOf que estás leyendo está realmente alojado en los Estados Unidos, las imágenes y el Javascript vienen de un lugar mucho más cercano a ti a través de un CDN local..
Contenido dinámico - Lenguajes de programación web
Casi todos los sitios web modernos tienen contenido dinámico de algún tipo, ya sea que eso signifique que WordPress agregue comentarios a una publicación del blog, o que Google ofrezca resultados de búsqueda. Para hacer que una página web sea dinámica, se necesitan lenguajes de programación web. Antes escribí acerca de los diversos idiomas disponibles para ti: Qué lenguaje de programación aprender: Programación web Qué lenguaje de programación aprender: Programación web Hoy vamos a echar un vistazo a los distintos lenguajes de programación web que impulsan Internet. Esta es la cuarta parte en una serie de programación para principiantes. En la parte 1, aprendimos lo básico de ... Leer más (y nos metimos en algunos debates acalorados para sugerir que PHP era lo mejor). Sin embargo, sea cual sea el idioma que elija, funciona en conjunto con la capa de software del servidor web para generar primero dinámicamente los contenidos de la página y luego se la entrega a usted..
Bases de datos
Detrás de todos los sitios web dinámicos hay bases de datos: almacenes masivos de datos en bruto que nos permiten acceder a esos datos de varias maneras. Para esto, se requiere un lenguaje de programación de base de datos separado, el más popular es SQL (lenguaje de consulta estructurado) y sus muchas variantes. Las bases de datos contienen diferentes tablas de datos para representar diferentes estructuras de datos: uno podría ser una lista de artículos; Otro para comentarios sobre esos artículos. Usando SQL, podemos clasificar, combinar y presentar esos datos de varias maneras.
En WordPress, por ejemplo, una "publicación" consta de al menos un título y una fecha, y probablemente un contenido real. Se usa una tabla separada para almacenar los comentarios sobre ese artículo, con otra tabla para almacenar una lista de categorías, y luego aún otra para almacenar una lista de las categorías que se han asignado a cada artículo. WordPress reúne toda la información que necesita para una página particular de su blog, mediante la referencia cruzada y la obtención de datos de todos estos, antes de aplicar el tema y presentárselo a usted, a través del software del servidor web..
Sistemas de almacenamiento en caché
Servir archivos estáticos HTML es bastante fácil en términos de cómputo: el servidor solo tiene que recuperar el archivo. Por otro lado, el contenido dinámico requiere mucho trabajo para unir la página, con la base de datos y el procesamiento que se realiza con esos datos. . Un sistema de almacenamiento en caché nos ofrece un círculo completo, al crear estas páginas dinámicas y luego, básicamente, guardarlas como archivos HTML estáticos. Cuando se vuelve a solicitar la misma página, no es necesario volver a calcularla, lo que acelera el sitio..
Caché es un término amplio que puede significar muchas cosas, sin embargo, los CDN son un tipo de caché; también hay cachés de bases de datos para consultas frecuentes (piense en WordPress, que solicita el título de su blog a la base de datos cada vez que alguien ve su publicación, porque en realidad eso es lo que sucede). Antes escribí acerca de cómo configurar el popular sistema de caché total W3 para WordPress Cómo configurar las diversas configuraciones del complemento de caché total de W3 para tu blog de Wordpress Cómo configurar las diversas configuraciones del complemento de caché total de W3 para tu blog de Wordpress Hace un tiempo hablé sobre el Los beneficios de instalar el complemento W3TC en su blog de Wordpress para acelerarlo con varios caché, pero algunos lectores, comprensiblemente, se mostraron un poco cautelosos con respecto a ... Leer más, también se usa aquí en MakeUseOf. Su navegador también tiene una memoria caché Todo lo que necesita saber sobre la memoria caché del navegador [MakeUseOf Explica] Todo lo que necesita saber sobre la memoria caché del navegador [MakeUseOf explica] Siempre que tenga un problema con un sitio web, una de las primeras sugerencias que escuchará de El soporte de TI es "intente borrar el caché de su navegador" junto con "y elimine sus cookies". Entonces, ¿qué es… Leer más? Casi cualquier cosa puede ser almacenada en caché.
Como puede ver, de hecho hay una gran cantidad de trabajo y muchas tecnologías involucradas con el alojamiento de un sitio web. Sin embargo, eso no quiere decir que no puedas tener tu propio blog configurado y funcionando en menos de una hora. La escalada a muchos miles de usuarios es donde comienzan los problemas.
¿Alguna pregunta? Pregunte, y haré todo lo posible para responder. ¿Te sorprende la cantidad de esfuerzo que puedes hacer en un sitio web??
Explorar más sobre: Diseño web, Desarrollo web.