1/30
1. El concepto de aplicación web
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Aplicación web
Sistema de software que se ejecuta en un servidor web y al que se accede mediante un navegador
Cliente (Frontend)
Es la parte visual con la que interactúa el usuario final. Su objetivo es facilitar la entrada y presentación de datos.
Servidor (Backend)
Es donde reside la lógica del negocio, el procesamiento de datos y la gestión de usuarios. Es donde reside la lógica del negocio, el procesamiento de datos y la gestión de usuarios.
Base de Datos
Guarda de forma estructurada la información utilizada por la aplicación: usuarios, registros, productos, etc. Es accedida por el backend mediante sentencias de consulta o interfaces ORM.
Lenguajes Backend
PHP, Node.js, Python, .NET, Perl, Java
Frameworks Frontend
Bootstrap, Vue.js, React, Springboot, Angular
Ejemplos de Bases de datos
MySQL, PostgreSQL, MongoDB
Proceso de comunicación entre un sistema y un servidor
El cliente abre un socket y se conecta al servidor a través de internet, apuntando a un puerto específico.
El servidor web recibe la petición, la procesa y genera una respuesta
Esta respuesta se envía a través del mismo canal de comunicación, reutilizando el socket previamente abierto.
Después de enviar la respuesta, por lo general, el servidor y el cliente cierran la conexión.
Conexión permanente o persistente
Mantiene abierta la conexion con el servidor para que el cliente pueda hacer varias peticiones consecutivas sin tener que establecer una nueva conexión TCP cada vez.
Requisitos del servidor
Servidor web (Apache, Nginx, etc.).
Lenguaje backend habilitado.
Base de datos instalada y configurada.
Dominio y, preferentemente, certificado SSL para navegación segura.
Requisistos del cliente
Un navegador moderno compatible con tecnologías web actuales.
Conexión de red estable.
Sockets
Punto de Conexion entre el servidor y el cliente se compone de:
una dirección IP (que identifica al host),
un protocolo de transporte (usualmente TCP), y
un número de puerto (que identifica la aplicación o servicio en el servidor).
Aplicaciones progresivas (PWA)
Permiten una experiencia similar a una app nativa, pero manteniéndose dentro del paradigma web.
Servicios web en la nube (Cloud Hosting)
Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform
Tipos de hospedaje
Computadora servidor dedicada, Servicios web en la nube (Cloud Hosting), Servicio de hospedaje tradicional (Web Hosting)
Servicios de hospedaje tradicional (Web Hosting)
HostGator, Bluehost, Banahosting
SGML
Norma ISO que permite definir lenguajes de codificación estructurada, como HTML o XML. Creado por el Dr. Charles Goldfarb
XML
XML también es un metalenguaje derivado de SGML. Se enfoca en la descripción de datos estructurados. En XML el usuario define sus propias etiquetas.
HTML
HTML es un lenguaje de marcado orientado a describir documentos para la Web. Define la estructura del contenido mediante etiquetas.
Definicion de colores en HTML
Por nombre (red, blue, etc.)
Por código hexadecimal (#FF00FF)
RGB: rojo-verde-azul (modelo aditivo)
CGI (Common Gateway Interface)
Es una forma tradicional de procesar formularios. Permite a los servidores web ejecutar programas externos (conocidos como scripts Perl, PHP, etc.) y devolver el resultado como HTML al navegador.
Etiqueta semantica HTML
Tipo de etiqueta que describe el proposito de su contenido, fueron introducidas en HTML5 <header>, <footer>, <section>, <aside>, etc.
HTTP/HTTPS
Protocolos de comunicacion para la transferencia de datos.
HTTP envia los datos en texto plano
HTTPS encripta la informacion con un certificado
Protocolo de Transporte
Reglas que perimiten la comunicacion en el internet
En TCP para establacer la comunicacion se requiere de una conexion
En UDP los datos se envian sin necesidad de una conexion
GET y POST
Son metodos de envio de informacion de formularios en PHP.
GET: Visible en la URL, útil para datos no sensibles. Tamaño limitado (aprox. 2048 caracteres).
POST: Oculto al usuario, se usa para datos sensibles o archivos. El límite lo define navegador y servidor.
Formas de persistencia de datos en PHP
Variables de sesión
Cookies
Bases de datos
Cookies
Una cookie es un archivo pequeño almacenado en el navegador del usuario que contiene datos como preferencias, estado de sesión o identificadores.
PDO
PDO (PHP Data Objects) es una interfaz que permite conectar PHP con bases de datos de forma orientada a objetos.
Mysqli
Extension de PHP que proporciona una interfaz para interactuar con bades de datos MySQL
CSS
CSS (Cascading Style Sheets o Hojas de Estilo en Cascada) es un lenguaje de diseño gráfico que permite definir cómo se presentará visualmente un documento web en pantalla, impresión o incluso en medios auditivos (lectores de pantalla).
Definicion de reglas CSS
Un selector, que indica a qué elemento(s) aplica.
Una declaración, compuesta por una propiedad y un valor.