Modulo 3
Modulo 3
Modulo 3
DESARROLLO
BACK END
-INTERMEDIO
Autor de contenido
Luz Liliana Herrera Polo
Autor de contenido
EMPEZAR
Tabla de
Contenido
Presentación
Recursos de video
Material complementario
2
Presentación
Objetivo general
Aprender a desarrollar aplicaciones modernas para procesar, almacenar y
proteger la información de un programa de manera robusta y escalable.
Implementando buenas prácticas y la lógica de programación con JavaScript.
Objetivo específico
- Por medio del pensamiento lógico, el lenguaje de programación y las
bases de datos diseñar y desarrollar aplicaciones de software que se ajusten
a los requerimientos planteados en cualquier problema.
3
Objetivo del módulo
4
Módulo 3
Desarrollo web
Clase teórica en donde se inicia con definiciones importantes que como desarrolladores
backend se deben entender del desarrollo FrontEnd, debido a que ambas áreas deben
interactuar y complementarse entre sí para poder poner en funcionamiento un aplicativo.
Cuando se desarrolla un aplicativo web es muy importante que la aplicación sea amigable
con el usuario, para esto se debe tener en cuenta no solo el cómo estén distribuidos los
elementos dentro de la aplicación, sino también temas estéticos como la tipografía, el
espaciado de los elementos, los colores a usar e incluso animaciones que hagan más
llamativa la aplicación para los usuarios finales. El desarrollo Front End consiste entonces
en la funcionalidad y diseño estético de las aplicaciones web, para ello el desarrollador se
apoya en herramientas como HTML, CSS y JavaScript.
Las siglas WWW, que corresponden a la World Wide Web, o red informática mundial. Es
un sistema que permite el acceso a cualquier página web y que solo se puede acceder a
través de internet. También puede decirse que es un prefijo que utilizan las páginas web
para demostrar que su acceso es global.
Hipertexto
Los hipertextos nacieron por la necesidad de poder organizar las páginas web de
una forma no lineal, y que a su vez facilitarán la creación, agregación, enlazamiento
y compartimiento de información dentro de la World Wide Web (www). Las páginas
web se estructuran por medio de un etiquetado de hipertexto que permite organizar
la información y que el navegador lee e interpreta para representar la información. El
lenguaje para realizar esto es HTML.
Hoja de estilo
Una hoja de estilo es un documento que contiene instrucciones de cómo deben ser
visualizados los elementos en una página web, en este se encuentra no solo los colores o
tipografía, sino también se puede modificar la forma de los objetos, el tamaño o incluso
su visibilidad. El lenguaje utilizado para ello y que es reconocido por el navegador es
CSS.
5
Script
¿Qué es HTML?
6
Etiquetas HTML
¿Qué es CSS?
Cascading Style Sheets por sus siglas en inglés, es una hoja de estilo en cascada que
tiene la funcionalidad de dar formato o estilo a los elementos en la página web. CSS
permite describir cómo debe ser renderizado el elemento en la pantalla. Se denomina
en cascada ya que va aplicando la hoja de estilos de arriba hacia abajo, es decir primero
se van realizando los estilos de más arriba y continúa con los siguientes, hasta llegar al
final de la hoja.
Estructura CSS
Para aplicar un estilo a un elemento se debe llamar por el nombre de la etiquetas, seguido
de corchetes “{ }”, dentro de los corchetes van los atributos que se van a cambiar, como
pueden ser color, fondo, tipografía, alto, ancho, bordes, márgenes, entre otros.
7
¿Qué es JavaScript?
JS y el DOM
Document Object Model o DOM, que es una herramienta que ha influido en el desarrollo
de las páginas web dinámicas y aplicaciones más complejas ya que nos permite acceder
y manipular los elementos del documento html. Dentro de las ventajas de JavaScript
está que permite manipular el DOM de una página, permitiendo crear, modificar o
eliminar elementos HTML en una página web de una forma más dinámica.
¿Qué es Bootstrap?
El marco combina CSS y JavaScript para crear elementos de página HTML. No se trata
solo de cambiar el color de los botones y enlaces. Esta es una herramienta que brinda
interactividad en la página, por lo que brinda varios componentes que facilitan la
comunicación con los usuarios, tales como menús de navegación, controles de página,
barras de estado, etc.
Bootstrap consta de una serie de archivos CSS y JavaScript que se encargan de asignar
propiedades específicas a los elementos de la página.
Hay un archivo principal llamado bootstrap.css que contiene las definiciones de todos
los estilos utilizados. Básicamente, la estructura del marco consta de dos carpetas: css,
contiene los archivos necesarios para crear elementos y una alternativa a los temas
sin procesar; y js, contiene el backend del archivo bootstrap.js, que es responsable de
ejecutar aplicaciones de estilo que requieren manipulación interactiva. Para asignar una
propiedad a un elemento, simplemente declaramos la clase apropiada en el atributo
“class” del elemento que se está creando.
8
3.3. Seguridad web
Como desarrollador Back End, una de las funciones que se deben tener aseguradas en
esta área es la seguridad de los aplicativos que se desarrollen. Por esto, en el curso se
expondrán los distintos ataques que pueden sufrir y cómo se pueden evitar.
Conceptos básicos
A grandes rasgos la seguridad web son los mecanismos mediante los cuales se busca
asegurar y proteger los datos en una página web y que así caigan en manos de
ciberdelincuentes o sean usados por terceras personas sin consentimiento. La seguridad
web también sirve para proteger no solo los datos relacionados a los usuarios, sino
también la información que pertenece a la empresa o organización desarrolladora del
sitio web.
Principios de seguridad
PRINCIPIOS
SEGURIDAD
INFORMÁTICA
INTEGRIDAD DISPONIBILIDAD
9
Ataques más frecuentes
•Los ataques DDoS buscan alentar la página o de plano dejarla sin funcionamiento.
•Los Malware son un software malicioso que se utiliza principalmente para robar
información de una página, así como de los usuarios.
•Blacklist, consiste en eliminar el sitio web de los resultados de búsqueda de los
buscadores en internet, afectando directamente el tráfico a la página.
•Mostrar anuncios invasivos en la página web.
•Redireccionar a páginas maliciosas.
•Explotación de la información de los visitantes al sitio web, para ser usado por
terceros o robar la información.
Mecanismos de seguridad
10
Mecanismos detectivos
Tienen como objetivo detectar cualquier acción que se puede considerar una amenaza,
se centra en ubicar el sitio de la vulnerabilidad en el sistema, y la acción que pueda
afectar la integridad del aplicativo. Un ejemplo de estos son equipos de monitoreo de
tráfico o personal capacitado para detectar cualquier anomalía.
Mecanismos correctivos
Se encargan de reparar los errores y daños causados durante un ataque. Se busca que
se vuelva a un punto anterior al ataque para corregir la vulnerabilidad. Se debe tener en
cuenta que en este punto se asume que ya hubo un ataque.
Un mecanismo correctivo muy utilizado por empresas es tener una política de copias de
seguridad periódicas de la página web.
Mecanismos preventivos
Existe una serie de mecanismos que son básicos para cualquier sistema y que garantizan
un nivel mínimo de seguridad en la página web.
•Autorización: Tiene que ver con determinar quién, cómo y cuándo un usuario
puede hacer uso de la información y herramientas disponibles. Tiene que ver con
la asignación de roles dentro de la organización para que accedan a elementos
específicos de información.
11
•Administración: es el encargado de determinar el nivel de autorización de cada
usuario registrado en la plataforma. Además tiene como objetivo monitorear los recursos
y usuarios que intervienen en la aplicación web.
Definición
Para entender el concepto de servidor web, primero se debe tener claro la definición
de servidor. Un servidor es una computadora que por lo general cuenta con una alta
12
capacidad de almacenamiento y procesamiento, donde se alojan documentos y archivos
que son accesibles para otros usuarios o clientes (modelo cliente - servidor) por medio
de una conexión, comúnmente por medio de internet.
Ahora bien un servidor web, son un tipo de servidor que aloja los documentos y
material correspondientes a la página o aplicativo web, dentro de los que se encuentran
los documentos HTML, CSS y JavaScript, así como los archivos de media tales como
documentos PDF, imágenes, videos, logos, audio y todo contenido que el aplicativo
requiera.
Sin embargo el servidor web puede hacer referencia a dos conceptos, según la capa a
la que se haga referencia.
•Servidor Web Software: Tiene que ver en el cómo se controla el acceso de los
usuarios y las peticiones, que se realizan por medio del protocolo HTTP, por lo
que también se conoce como servidor HTTP. Un servidor HTTP puede ser
accedido a través de los nombres de dominio de los sitios web que almacena, y
entrega el contenido de esos sitios web alojados al dispositivo del cliente.
A diferencia de otro tipo de servidores, los servidores web se comunican con los
dispositivos cliente por medio de internet y a su vez como los navegadores a través del
protocolo HTTP. En este protocolo el cliente realiza peticiones constantes al servidor, el
cual responde con la información solicitada, en una página web.
13
Tipos
Existen tres tipos de servidores web, que se identifican según el alcance que se quiera
llegar con la aplicación web, es decir, para el tipo de población objetivo para el que se
esté pensando hacer uso de la tecnología.
•Servidor VPS: los Servidores Virtuales Privados, difieren de los dos anteriores
en cuanto a que lo que se quiere con este tipo de servidores es
restringir el acceso a cierto número de personas, es decir, no buscan ser
públicos en la red para cualquier usuario. Este tipo de servidores se usan
más que nada a nivel interno de las organizaciones para garantizar la seguridad
de la información de la compañía.
14
Servidores más comunes
Existen varios servidores web, que varían en algunas características. Entre los más
populares se encuentran:
•APACHE: Es un servidor web muy popular, su principal característica es que es
de código abierto y gratuito.
•Sun Java System Web Server: Es un servidor web desarrollado por Oracle, está
enfocado principalmente para soportar aplicaciones en Java, aunque puede
soportar otros lenguajes como Python o Ruby.
Funciones
1. Se resuelve el DNS del sitio web, para ello se ubica la dirección IP del servidor
en un servidor DNS que busca el nombre del dominio del sitio web, y devuelve la
dirección IP.
2. Una vez que el sistema operativo ha resuelto esa consulta DNS, utiliza el
protocolo TCP/IP para comunicar con el servidor remoto que almacena la página
que pretendemos cargar.
15
4. Finalmente, el servidor web devuelve al navegador una respuesta que
identifica el tipo de datos enviados, facilitando así su funcionamiento y
mostrando en pantalla la información que hemos solicitado.
HTML y HTML5
HTML5 es la versión más reciente de HTML, por lo que trae nuevas funcionalidades que
hacen más fácil y eficiente la creación de páginas web. La anterior versión de HTML 4 fue
lanzada en 1999, y HTML5 en 2014.
16
Etiquetas HTML
<bdi> Aísla una parte del texto que puede tener un formato
diferente del texto externo
<body> Define el cuerpo del documento
17
<img> Define una imagen
18
3.7. CSS3 intermedio
Componente práctico en donde se aplican hojas de estilo CSS a los desarrollos aprendidos
con HTML, todo esto para que el desarrollador Back End comprenda la utilidad de esta
herramienta en el desarrollo web.
CSS y CSS3
CSS es uno de los lenguajes base de la Open Web y posee una especificación estandarizada
por parte del W3C. Es un lenguaje de estilos que se usa para describir la presentación
de un documento HTML por lo que CSS lo que hace es renderizar los elementos que
componen la página web.
CSS3 es la versión actual de CSS, la especificación de CSS3 viene con novedades que
permitirán hacer páginas web más elaboradas y más dinámicas, con mayor separación
entre estilos y contenidos. Dando soporte a muchas necesidades de las páginas web
actuales, sin tener que recurrir a trucos de diseñadores o lenguajes de programación.
Reglas predeterminadas
Una regla está definida inicialmente por un selector, este corresponde al nombre de la
etiqueta HTML a la cual se busca aplicar la regla de estilo, en este caso solo es necesario
poner el nombre de la etiqueta y no las llaves “< >”.
Después del selector se abren corchetes “{ }”, dentro de estos corchetes se agregan las
declaraciones de las reglas, al final de cada declaración se coloca “;” para separar cada
declaración.
Las declaraciones están conformadas por dos elementos, una propiedad y el valor de la
propiedad.
19
Selección de varios elementos
Muchas veces es necesario seleccionar varios elementos que comparten las mismas
propiedades, para ello al momento de crear una regla se separa cada elemento que se
va a afectar con “ , ”.
Tipos de selectores
Otra de las facilidades que ofrece CSS, es la posibilidad de seleccionar elementos que
se agrupan por fuera de las etiquetas HTML. Recordemos que en una etiqueta HTML
podemos agregar atributos, dentro de estos encontramos atributos como “id” que
asigna un identificador único a la etiqueta o “class” que le asigna una clase a la etiqueta.
Muchas veces cuando realizamos una página web queremos modificar un elemento
específico pero su etiqueta se usa en otras partes de la página, para ello cuando
creamos la regla podemos solo seleccionar este elemento por medio de su “id”. Otro
ejemplo es cuando queremos que varios elementos comparten una propiedad para ello
podemos agruparlos por el atributo “class” y luego cuando creemos la regla seleccionar
los elementos que estén agrupados bajo esa clase.
20
Nombre del selector Qué selecciona Ejemplo
21
Otros materiales para profundizar
Recursos de video
•Patricio Pérez Pinto. (2015, 13 abril). Curso básico HTML y CSS #1 - Introducción a
HTML [Vídeo]. YouTube. https://www.youtube.com/watch?v=n0ShZoRvvjY
•Campus Party. (2013, 3 agosto). CPMX4 - Seguridad Web para Desarrolladores [Ví-
deo]. YouTube. https://www.youtube.com/watch?v=dro7HMRi8_g
Material complementario
•Las 7 skills que debe tener un desarrollador Front End. (2020, 30 septiembre).
OpenWebinars.net. https://openwebinars.net/blog/las-7-skills-que-debe-tener-un-
desarrollador-front-end/
•Coppola, M. (2022, August 1). Qué es un servidor web, para qué sirve, cómo funcio-
na y ejemplos. Blog de HubSpot. Retrieved December 20, 2022, from https://blog.
hubspot.es/website/que-es-servidor-web
•CSS | MDN. (2022, December 1). MDN Web Docs. Retrieved December 20, 2022,
from https://developer.mozilla.org/es/docs/Web/CSS
22
•HTML5 - Glosario de MDN Web Docs: Definiciones de términos relacionados con
la Web | MDN. (2022, November 29). MDN Web Docs. Retrieved December 20,
2022, from https://developer.mozilla.org/es/docs/Glossary/HTML5
•Seguridad Web: ¿qué es y cuáles medidas se pueden ejecutar? (2020, April 26).
Rock Content. Retrieved December 20, 2022, from https://rockcontent.com/es/
blog/seguridad-web/
•de Souza, I. (2022, 26 abril). Seguridad web: revisa los factores claves para tener
un sitio web seguro y sólido. rockcontent. https://rockcontent.com/es/blog/seguri-
dad-web/
•de Souza, I. (2019, 14 junio). ¿Qué es un servidor web y para qué sirve en Internet?
rockcontent. https://rockcontent.com/es/blog/que-es-un-servidor/
•10, Minds. (5 de mayo de 2022). Tres tips de Visual Studio Code que debería sa-
ber. #10minds #vscode #visualstudiocode #html #html5 #htmlcoding #htmlcss
#developer #programacion #webdev #webdeveloper [Vídeo] TikTok. https://www.
tiktok.com/@10minds/video/7094334945564445958?is_copy_url=1&is_from_weba-
pp=v1&q=html5&t=1672074767072
23