Está en la página 1de 57

BITACORA PROGRAMACION AVANZADA

MARLON STEVAN CASTAÑO MERIDA


20182578124

UNIVERSIDAD FRANCISCO JOSE DE CALDAS


FACULTAD TECNOLOGICA
TEC. EN SISTEMATIZACION DE DATOS
BOGOTÁ D.C
2020

1
Contenido
HISTORIA DE LA WEB..........................................................................................................................4
WEB 1.0..........................................................................................................................................4
Web 2.0..........................................................................................................................................4
Web 3.0..........................................................................................................................................5
Web 4.0..........................................................................................................................................5
ARPANET o Advanced Research Projects Agency network:............................................................6
AT&T:.............................................................................................................................................6
Internet..........................................................................................................................................6
WWW.............................................................................................................................................7
Mosaic............................................................................................................................................7
Dsl:.................................................................................................................................................7
Navegador......................................................................................................................................7
Buscador........................................................................................................................................7
XHTML............................................................................................................................................8
PAGINA WEB......................................................................................................................................9
SITIOS WEB.......................................................................................................................................10
APLICACIÓN WEB.............................................................................................................................11
HOSTING Y DOMINIO.......................................................................................................................12
BACK-END Y FRONT-END..................................................................................................................13
HTML................................................................................................................................................14
CSS...................................................................................................................................................17
JavaScript.........................................................................................................................................18
ARQUITECTURA CLIENTE SERVIDOR.................................................................................................19
JSP....................................................................................................................................................21
SERVLET............................................................................................................................................22
OBJETOS REQUEST Y RESPONSE.......................................................................................................24
OBJETO REQUEST.........................................................................................................................24
OBJETO RESPONSE.......................................................................................................................24
METODO GET Y POST.......................................................................................................................25
PATRON DE DISEÑO DAO.................................................................................................................26
PATRON DE DISEÑO DTO.................................................................................................................27
LIBRERÍA JSTL...................................................................................................................................28

2
HttpSession......................................................................................................................................32
Como crear una sesión o login en JSP..........................................................................................35
Generic Interfaces............................................................................................................................37
CRIPTOGRAFIA.................................................................................................................................38
HASH................................................................................................................................................41
IMPLEMENTADO EN JAVA............................................................................................................46
CONCLUCIONES................................................................................................................................49
WEB:.............................................................................................................................................49
Páginas Web.................................................................................................................................49
Sitio Web......................................................................................................................................49
Aplicaciones Web.........................................................................................................................49
Dominio y Hosting........................................................................................................................49
Back-End y Front-end...................................................................................................................49
HTML............................................................................................................................................50
CSS................................................................................................................................................50
JavaScript.....................................................................................................................................50
Arquitectura Cliente Servidor.......................................................................................................50
JSP................................................................................................................................................50
Servlet..........................................................................................................................................50
Objetos Request y Response........................................................................................................50
Método get y post........................................................................................................................50
Patrón de Diseño DAO..................................................................................................................51
Patrón de Diseño DTO..................................................................................................................51
LIBRERÍA JSTL...............................................................................................................................51
HttpSession..................................................................................................................................51
CRIPTOGRAFIA..............................................................................................................................51
Referencias.......................................................................................................................................52

3
HISTORIA DE LA WEB

WEB 1.0

La WEB 1.0 empezó en los años 60’s junto al internet, comenzando con solo texto eran
bastante rápido y simple después de los 90’s surgió HTML (Hyper TextMarkup Language)
e hizo que las páginas Web sean más agradables a la vista y puedan contener componentes
como imágenes, formatos y colores. Los primeros navegadores visuales fueron Netscape e
internet Explorer.

(Tomado de

https://sites.google.com/site/elrendimientoscolar/evolucion-de-la-web/web-1-0-2-0-3-0-4-0)
[ CITATION sit20 \l 3082 ]

Web 2.0

La Web 2.0 da nuevo paso en la historia de desarrollo de tecnología Web, que esta basa en
“comunidades de usuarios y en una amplia gama de herramientas, como las redes sociales,
blogs, wikis y otros, que fomentan la colaboración y el intercambio de información. La
Web2.0 es también llamada Web social por el enfoque colaborativo y de construcción
social de esta herramienta, donde el usuario es el ente más importante de
información”[ CITATION sit20 \l 3082 ].
(Tomado de
https://sites.google.com/site/lawebjm/we
b-2-0)

4
Web 3.0

La Web 3.0 ” es considerada también como una extensión de Web Semántica definida por
el premio Nobel Sir Timothy “Tim” John Berners – Lee. Y trata de poder enriquecer la
comunicación mediante metadatos semánticos (ontologías) que aportan un valor añadido a
la información, la diferencian y la hacen más inteligente. Por lo que los contenidos ahora ya
no son tratados por su sintáctica sino por su semántica”,[ CITATION sit20 \l 3082 ].

(Tomado de https://sites.google.com/site/elrendimientoscolar/evolucion-de-la-web/web-
1-0-2-0-3-0-4-0)[ CITATION sit20 \l 3082 ]

Web 4.0

“La Web4.0 es un término que se va acuñando recientemente y trata de movernos hacia una
Web Ubicua donde el objetivo primordial será el de unir las inteligencias, para que tanto las
personas como las cosas se comuniquen entre sí para generar la toma de decisiones,
[ CITATION sit20 \l 3082 ]”.

(Tomado de https://sites.google.com/site/elrendimientoscolar/evolucion-de-la-web/web-1-0-2-0-
3-0-4-0).[ CITATION sit20 \l 3082 ]

5
ARPANET o Advanced Research Projects Agency network:

“Fue la primera red en la que se puso en uso un protocolo de comunicación por paquetes
que no requería de computadoras centrales, si no que era –como lo es la actual Internet-
totalmente descentralizada.” (González, 2016)
“es el precedente directo de Internet, una red que entró en funcionamiento en octubre de
1969 después de varios años de planificación.” (González, 2016)
Entro en funcionamiento en 1983, en una base militar EEUU (MILNET) de ARPANET, y
debido a su crecimiento en el sector civil desapareció en 1989.

(tomado de https://sistemas.com/arpanet.php)

AT&T:
Es una empresa de telecomunicaciones más grande que tiene el mundo, que ofrece servicios
de teléfono móvil y telefonía fija, por lo cual era de los más capacitados como para hacer la
conexiones en diferentes puntos para ARPANET
Internet
Internet es una red de computadoras que se encuentran interconectadas a nivel mundial para
compartir información. Se trata de una red de equipos de cálculo que se relacionan entre sí
a través de la utilización de un lenguaje universal. (Raffino, 2020)
El concepto Internet tiene sus raíces en el idioma inglés y se encuentra conformado por el
vocablo inter (que significa entre) y net (proveniente de network que quiere decir red
electrónica). Es un término que siempre debe ser escrito en mayúscula ya que, hace
referencia a “La Red” (que conecta a las computadoras mundialmente mediante el
protocolo TCP/IP) y sin un artículo que lo acompañe (el/la) para hacerle referencia.
(Raffino, concepto, 2020)

6
WWW
Worl wide web, es una red informática de alcance mundial, que consiste en un complejo
sistema de hipertextos e hipermedios interconectados entre sí y a los que puede tenerse
acceso mediante una conexión a Internet y un conjunto de software especializado. (Raffino,
Concepto.de, 2019)
El software necesario para visitar la WWW es un navegador o explorador, tales como
Internet Explorer, Mozilla Firefox, Google Chrome, etc., que representa en una serie de
ventanas dotadas de texto y multimedios cada página web visitada. Estas últimas suelen
requerir de una dirección html (HyperText Markup Language, o lenguaje de marcas de
hipertexto) que inicia con las siglas www. (Raffino, Concepto.de, 2019)
Mosaic
Navegador Mosaic fue el segundo navegador gráfico disponible para visualizar páginas
web (el considerado como primer navegador gráfico es ViolaWWW, cuya primera versión
completa data de 1992), y el primer navegador gráfico para Microsoft Windows. La
primera versión funcionaba sobre sistemas Unix, pero fue tal su éxito que en agosto del
mismo año se crearon versiones para Windows y Macintosh. (EcuRed, s.f.).
Dsl:
Digital Subscriber line o en español línea de abandono digital, es una familia de tecnologías
que proporcionan el acceso a Internet mediante la transmisión de datos digitales a través del
par trenzado de hilos de cobre convencionales de la red telefónica básica o conmutada,
constituida por las líneas de abonado.
Navegador
Es un programa informático que permite al usuario ingresar a las páginas Web que desee,
siempre que conozca la dirección URL en donde se encuentra (por ejemplo:
www.google.com) o bien que haga clic en un hipervínculo que conduzca a dicha página.
(Raffino, Concepto.de, 2018)
Un navegador web no hace otra cosa que conectarse a través de la Internet con el servidor
en el que está la información que buscamos, y solicitarle las instrucciones de diseño y de
ensamblaje visual que le permiten recuperar el texto, las imágenes y el ordenamiento de las
mismas, para componer una página web y mostrárnosla ya terminada. (Raffino,
Concepto.de,2018)
Buscador
En informática, un buscador es un sistema que opera indexando archivos y datos en la web
para facilitar la búsqueda de los mismos respecto de términos y conceptos relevantes al
usuario con sólo ingresar una palabra clave. Al entrar el término, la aplicación devuelve un
listado de direcciones Web en las cuales dicha palabra está incluida o mencionada. La
utilización de buscadores web se ha convertido en uno de los principales motivos de uso de
Internet, facilitando la obtención de información y el trabajo de índole investigativa.
(González, Definición ABC , 2009)

7
XHTML
XHTML es un lenguaje similar a HTML, pero con algunas diferencias que lo hacen más
robusto y aconsejable para la modelación de páginas web. Las siglas corresponden con las
palabras inglesas eXtensible Hypertext Markup Language, XHTML es una vuelta hacia
atrás, que intenta recuperar la línea marcada por los estándares, pero que trata de solucionar
diversos casos de uso del HTML, a la vez que lo prepara para adaptarse a las nuevas
necesidades y corrientes tecnológicas. (desarrolloweb.com, 2011)

8
PAGINA WEB

¿Qué es una página WEB?


Según Raffino es “un documento digital de carácter multimediático (es decir, capaz de
incluir audio, video, texto y sus combinaciones), adaptado a los estándares de la World
Wide Web (WWW) y a la que se puede acceder a través de un navegador Web y una
conexión activa a Internet. Se trata del formato básico de contenidos en la red”, [ CITATION
Mar201 \l 3082 ].

¿Para qué sirve una página Web?


Las páginas Web nos pueden servir para; “permiten distintos grados de interacción entre
usuarios o con alguna institución, como son las páginas de foros, servicios de citas o redes
sociales, las páginas de compra y venta de bienes, las páginas de consulta o de contacto con
empresas, instituciones gubernamentales o con ONGs, e incluso las páginas de soporte
técnico especializado.”[ CITATION Mar201 \l 3082 ]
Tipos de Pagina Web:
 Páginas Web estáticas: “Operan mediante la descarga de un fichero programado en
código HTML, en el que están todas las instrucciones para que el navegador
reconstruya la página Web, accediendo a las ubicaciones de sus elementos y
siguiendo un orden preconcebido, rígido, que no permite la interacción con el
usuario. Este tipo de páginas son meramente informativas, documentales, no
interactivas”.[ CITATION Mar201 \l 3082 ]

 Páginas Web dinámicas: “A diferencia de las anteriores, las páginas Web


dinámicas se generan en el momento mismo del acceso del usuario, empleando para
ello algún lenguaje interpretado (como el PHP), lo cual le permite recibir solicitudes
del usuario, procesarlas en bases de datos y ofrecer una respuesta acorde a sus
requerimientos.”[ CITATION Mar201 \l 3082 ].

9
SITIOS WEB

“es un conjunto de páginas o documentos de temática relacionada que se encuentra alojado


en Internet y se identifica con un nombre de dominio. Por consiguiente, el conglomerado de
todos los sitios web existentes da lugar a una red muy amplia de información que se conoce
como World Wide Web (WWW). Además, los websites están escritos en código HTML”,
[ CITATION sof20 \l 3082 ].

Los sitios Web están organizados por jerarquía “En este sentido, la información principal es
la página de portada, que coincide con la URL raíz del website. Desde esta homepage,
encontraremos, como si fuera el tronco de un árbol, los hipervínculos hacia el resto de
páginas que integran el sitio, ofreciéndosenos aquí por tanto la estructura general de todo el
contenido.”[ CITATION sof20 \l 3082 ].

(Tomado de https://www.yeeply.com/blog/mapa-web-encuentra-la-estructura-que-tu-sitio-
necesita/)

10
APLICACIÓN WEB

¿Qué es una aplicación Web?


“Una aplicación web es una aplicación o herramienta informática accesible desde cualquier
navegador, bien sea a través de internet (lo habitual) o bien a través de una red local. A
través del navegador se puede acceder a toda la funcionalidad y tener cualquiera de las
soluciones enumeradas en el punto anterior.”[ CITATION neo20 \l 3082 ].
¿Cuándo se usan común mente?
Se usan frecuentemente en;
 Aplicaciones para gestión interna y completa de una entidad (facturación, stock,
clientes, usuarios, socios, contabilidad, fichar, gestión de personal).
 Herramientas de trabajo diversas para entidades (gestión documental, trabajo en
red, herramientas compartidas accesibles por múltiples usuarios, accesos
diferenciados).
 Servicios a usuarios (gestión de incidencias, accesos a contenidos diferenciados por
permisos, gestión de espacio).
 Herramientas web (tiendas virtuales personalizadas, webs complejas con multitud
de elementos y accesos, repositorios y buscadores, gestión de ventas online).
¿Cómo funcionan?
La aplicación web tiene 3 partes:
 La base de datos, que es donde se almacenan los datos de la solución (contenidos,
usuarios, permisos…)
 El código de la aplicación, es decir, la aplicación en sí, que se almacena en un
servidor de aplicaciones (normalmente en la nube, pero puede estar alojado también
en un servidor local)
 El usuario, que accede con cualquier dispositivo a través de un navegador. Aquí se
incluye, dependiendo de la aplicación, tanto el administrador o gestor como el
usuario final (en caso de que se ofrezca un servicio), que accederán a diferentes
secciones según sus permisos (o incluso aplicaciones)[ CITATION neo20 \l 3082 ]

(tomado de
https://www.neosoft.es/blog/
que-es-una-aplicacion-web/)

11
12
HOSTING Y DOMINIO

Dominio
¿Qué es Dominio?
Es un derecho a usar un nombre en internet como por ejemplo udistrital.edu.co y para que
sea fácil la búsqueda de la página, los dominios no incluyen espacio en la web, ni acceso
por FTP, y tampoco cuentas de correo, en si los dominios sirven para registrar el nombre y
poder apuntarlo a un hosting asignado unos servidores DNS.
Hosting
¿Qué es Hosting?
El hosting es el conjunto de servicios que se pueden usar con cualquier dominio, y es
necesario usarlos para tener la web y el correo electrónico, los hostings incluyen espacios
en el servidor para instalar, por ejemplo: WordPress, usar un constructor web, subir tu web
por FTP, crear cuentas de correo o bases de datos. Es decir, todo lo necesario para alojar tu
web.

(Tomado de https://clientes.ecohosting.cl/knowledgebase.php?action=displayarticle&id=2 )

13
BACK-END Y FRONT-END

Front-end
¿Qué es Front-end?
“Frontend es la parte de un programa o dispositivo a la que un usuario puede acceder
directamente. Son todas las tecnologías de diseño y desarrollo web que corren en el
navegador y que se encargan de la interactividad con los usuarios.”[ CITATION Nic20 \l 3082 ].
Por lo general un desarrollador Back-end debe saber usar lenguajes como (HTML, CSS Y
JavaScript), y adicionalmente debe poder usar algunos frameworks o liberas que expandan
capacidades para crear cualquier tipo de interfaces de usuarios.
Back-end
¿Qué es Back-end?
“Backend es la capa de acceso a datos de un software o cualquier dispositivo, que no es
directamente accesible por los usuarios, además contiene la lógica de la aplicación que
maneja dichos datos. El Backend también accede al servidor, que es una aplicación
especializada que entiende la forma como el navegador solicita cosas.” [ CITATION Nic20 \l
3082 ]

Algunos de los lenguajes de programación de Backend son Python, PHP, Ruby, C# y Java,
y así como en Frontend, cada uno de los anteriores tiene diferentes frameworks que te
permiten trabajar mejor según el proyecto que estás desarrollando.

14
(Tomado de https://platzi.com/blog/que-es-frontend-y-backend/)

15
HTML

El lenguaje HTML no es otra cosa, que un lenguaje estandarizado con el que los
navegadores interpretan la información que contienen la multitud de páginas que componen
la World Wide Web o WWW. Es un lenguaje de marcación de texto que permite al
navegador conectado interpretar la página que solicita al servidor. No es un lenguaje de
programación y no tiene compiladores, por lo tanto, si hay algún error en los documentos
que interpreta, lo visualiza de la manera en que no lo ha entendido. El lenguaje HTML se
basa principalmente en un sistema de etiquetas que indica al navegador dónde está el
cuerpo de un documento cuándo hay que colorear un texto, etc. HTML tiene sus
limitaciones y por ello posteriormente se desarrollarán «lenguajes auxiliares», como; CSS,
JavaScrip para implementar estilos o ejecutar acciones en los documentos Web. (Gutiérrez,
2014)

 Estructura de HTML

(Tomado de https://www.w3schools.com/html/default.asp)
 La etiqueta h1 hasta la h6 se usa para los tamaños de las palabras
 <h1>This is heading 1</h1>
 <h2>This is heading 2</h2>
 <h3>This is heading 3</h3>
 <h4>This is heading 4</h4>

16
 <h5>This is heading 5</h5>
 <h6>This is heading 6</h6>
 La etiqueta <p> se usa para los saltos de línea
 La etiqueta <a> se usa para introducir enlaces;
<a href="https://www.w3schools.com">This is a link</a>
 La etiqueta <img> se usa para introducir imágenes, hay que introducir las medias de
las imágenes;
<img src="w3schools.jpg" alt="W3Schools.com" width="104" h
eight="142">
 La etiqueta <button> se usa para poner un botón.
 La etiqueta <ul> o <ol> se usa para poner listas, general mente van acompañadas de
la etiqueta <li> que sirve para enumerar, o poner un punto ejemplo;

(Tomado de https://www.w3schools.com/html/default.asp )
 La etiqueta <iframe> se usa para introducir un frame, se le puede ingresar
las medias de la siguiente manera;
<iframe src="demo_iframe.htm" height="200" width="300"></i
frame>

17
(Tomado de https://www.w3schools.com/html/default.asp)

 La etiqueta <!-- ... --> se usa para poner comentarios


 La etiqueta <var> pensada para identificar una instancia de una variable o de un
argumento de programa;

18
CSS

CSS son las siglas de Cascading Style Sheets, en español Hojas de estilo en Cascada, es un
formato recomendado para las páginas escritas en formato HTML, que ayuda a crear
páginas web de una manera más exacta. Que está orientado al diseño, dándole al
desarrollador posibilidades de mejorar el resultado final como; que se pueda incluir
márgenes, tipos de letra, fondos, colores etc.
Sintaxys importante:

(Tomado de
https://developer.mozilla.org/es/docs/Learn/Getting_started_with_the_web/CSS_basics )

19
JavaScript

JavaScript es un lenguaje de programación que se utiliza principalmente para crear páginas


web dinámicas.

Una página web dinámica es aquella que incorpora efectos como texto que aparece y
desaparece, animaciones, acciones que se activan al pulsar botones y ventanas con
mensajes de aviso al usuario.

Técnicamente, JavaScript es un lenguaje de programación interpretado, por lo que no es


necesario compilar los programas para ejecutarlos. En otras palabras, los programas
escritos con JavaScript se pueden probar directamente en cualquier navegador sin
necesidad de procesos intermedios.

(Tomado de https://developer.mozilla.org/es/docs/Learn/JavaScript/First_steps/Qu
%C3%A9_es_JavaScript)

20
ARQUITECTURA CLIENTE SERVIDOR

Es una arquitectura de computación en la que se consigue un procesamiento cooperativo de


la información por medio de un conjunto de procesadores, de tal forma que uno o varios
clientes, distribuidos geográficamente o no, solicitan servicios de computación a uno o más
servidores.
De esta forma, y gracias a esta arquitectura, la totalidad de los procesadores, clientes y
servidores, trabajan de forma cooperativa para realizar un determinado tratamiento de la
información.
Atendiendo a esta visión descentralizada, la arquitectura cliente - servidor consiste en una
arquitectura distribuida de computación, en la que las tareas de cómputo se reparten entre
distintos procesadores, obteniendo los usuarios finales el resultado final de forma
transparente, con independencia del número de equipos (servidores) que han intervenido en
el tratamiento. Se puede decir por tanto que la arquitectura cliente - servidor es un tipo de
arquitectura distribuida, posiblemente la más extendida, [ CITATION Gon20 \l 3082 ].

(Tomado de https://www.monografias.com/docs114/telecomunicaciones-arquitectura-cliente-
servidor/telecomunicaciones-arquitectura-cliente-servidor.shtml )

Funcionamiento
El Esquema de funcionamiento de un Sistema Cliente/Servidor sería:
1. El cliente solicita una información al servidor.

21
2. El servidor recibe la petición del cliente.

3. El servidor procesa dicha solicitud.

4. El servidor envía el resultado obtenido al cliente.

5. El cliente recibe el resultado y lo procesa.

Componentes:
El modelo Cliente/Servidor es un modelo basado en la idea del servicio, en el que el cliente
es un proceso consumidor de servicios y el servidor es un proceso proveedor de servicios.
Además, esta relación está establecida en función del intercambio de mensajes que es el
único elemento de acoplamiento entre ambos.
Esta descomposición principalmente consiste en separar los elementos estructurales de esta
tecnología en función de aspectos más funcionales de la misma:

 Nivel de Presentación: Agrupa a todos los elementos asociados al componente


Cliente.

 Nivel de Aplicación: Agrupa a todos los elementos asociados al componente


Servidor.

 Nivel de comunicación: Agrupa a todos los elementos que hacen posible la


comunicación entre los componentes Cliente y servidor.

 Nivel de base de datos: Agrupa a todas las actividades asociadas al acceso de los
datos.

22
JSP

¿QUE ES?:
JSP es un acrónimo de Java Server Pages, que en castellano vendría a decir algo como
Páginas de Servidor Java. Es, pues, una tecnología orientada a crear páginas web con
programación en Java.
Con JSP podemos crear aplicaciones web que se ejecuten en variados servidores web, de
múltiples plataformas, ya que Java es en esencia un lenguaje multiplataforma. Las páginas
JSP están compuestas de código HTML/XML mezclado con etiquetas especiales para
programar scripts de servidor en sintaxis Java. Por tanto, las JSP podremos escribirlas con
nuestro editor HTML/XML habitual.
JSPs y servlets se ejecutan en una máquina virtual Java, lo cual permite que, en principio,
se puedan usar en cualquier tipo de ordenador, siempre que exista una máquina virtual Java
para él.

(Tomado de https://desarrolloweb.com/articulos/images/dia-jsp.gif)

23
SERVLET

Es una tecnología que nos permite crear aplicaciones web interactivas (dinámicas), es decir,
le permite al usuario interactuar con la aplicación (hacer consultas, insertar y eliminar
datos).
Un Servlet es un objeto java que pertenece a una clase que extiende de
javax.servlet.http.HttpServlet
Son pequeños programas escritos en Java que admiten peticiones a través del protocolo
HTTP. Los servlets reciben peticiones desde un navegador web, las procesan y devuelven
una respuesta al navegador, normalmente en HTML. Para realizar estas tareas podrán
utilizar las clases incluidas en el lenguaje Java. Estos programas son los intermediarios
entre el cliente (casi siempre navegador web) y los datos (BBDD).

¿Cómo funciona un contenedor de Servlets?


 El navegador (cliente) pide una página al servidor HTTP que es un contenedor de
Servlets.

 El servlet procesa los argumentos de la petición, es decir, el contenedor de Servlets


delega la petición a un Servlet en particular elegido de entre los Servlets que
contiene.

 El Servlet, que es un objeto Java, se encarga de generar el texto de la página web


que se entrega al contenedor.

 El contenedor devuelve la página web al navegador (cliente) que la solicitó,


normalmente en HTML.

24
(Tomado de https://codea.app/java/que-es-un-servlet-en-java )
Por lo tanto nos encontramos en una arquitectura Cliente-Servidor. Lo normal para esto es
utilizar Apache Tomcat como contenedor de servlets. Recordar que apache es un servidor
HTTP.

25
OBJETOS REQUEST Y RESPONSE

OBJETO REQUEST

El objeto Request nos devuelve informaciones del usuario que han sido enviadas por medio de
formularios, por URL o a partir de cookies (veremos de qué se tratan seguidamente). También nos
informa sobre el estado de ciertas variables del sistema como pueden ser la lengua utilizada por el
navegador, el número IP del cliente.

OBJETO RESPONSE

El objeto Response es uno de los objetos predefinidos de ASP que nos va a servir para devolver al
cliente una página web, para redireccionar una petición a otra página y para manejar la creación
de cookies.

(Tomado de http://desarrollodeaplicacioneswebenasp.blogspot.com/2013/12/el-objeto-
response.html)

26
METODO GET Y POST

GET y POST son dos técnicas eficientes que pueden enviar los datos a un servidor o
navegador y necesariamente que estos se comuniquen. Los dos métodos son distintos
cuando el método GET añade los datos codificados a la URI, mientras que en el caso del
método POST los datos se añaden al cuerpo y no a la URI. Además, se utiliza el método
GET para recuperar los datos. Por el contrario, el método POST se utiliza para almacenar o
actualizar los datos.

(Tomado de https://pc-solucion.es/2018/06/06/diferencias-entre-el-metodo-get-y-post/ )

27
PATRON DE DISEÑO DAO

el patrón DAO propone separar por completo la lógica de negocio de la lógica para acceder
a los datos, de esta forma, el DAO proporcionará los métodos necesarios para insertar,
actualizar, borrar y consultar la información; por otra parte, la capa de negocio solo se
preocupa por lógica de negocio y utiliza el DAO para interactuar con la fuente de datos.

(Tomado de https://www.oscarblancarteblog.com/2018/12/10/data-access-object-dao-pattern/)

Los compones que conforman el patrón son:


 BusinessObject: representa un objeto con la lógica de negocio.
 DataAccessObject: representa una capa de acceso a datos que oculta la fuente y los
detalles técnicos para recuperar los datos.
 TransferObject: este es un objeto plano que implementa el patrón Data Transfer
Object (DTO), el cual sirve para transmitir la información entre el DAO y el
Business Service.
 DataSource: representa de forma abstracta la fuente de datos, la cual puede ser una
base de datos, Webservices, LDAP, archivos de texto, etc.

28
PATRON DE DISEÑO DTO

Los DTO (Data Transfer Object) son utilizados por DAO para transportar los datos desde la
base de datos hacia la capa de lógica de negocio y viceversa. Por ejemplo, cuando la capa
de lógica de negocio llama al método create(), ¿qué es lo que hace DAO? inserta un nuevo
dato… ¿pero qué dato? el que la capa de lógica de negocio le pase como parámetro… ¿y
cómo se lo pasa este dato? bueno, a través de un DTO.
Podría decirse que un DTO es un objeto común y corriente, que tiene como atributos los
datos del modelo, con sus correspondientes accessors (getters y setters).
Por ejemplo, si tuviéramos una base de datos relacional con una tabla empleados, con los
campos id, nombre y salario. Entonces tendríamos que crear una clase EmpleadoDTO, con
los atributos id, nombre y salario, que van a utilizar la capa de negocio y de persistencia
para transportar los datos entre las dos capas.
Entonces cuando la capa de lógica de negocio quiera guardar un dato en la base de datos, va
a crear un objeto EmpleadoDTO, a través de los accessors va a modificar los atributos, y
después se lo va a pasar al método create() de DAO. Entonces DAO va a leer los datos del
DTO, y los va a guardar en la base de datos. Lo mismo pasaría para eliminar datos. Y para
actualizarlos además se le pasaría el ID, para saber que dato actualizar. Para buscar datos,
sería parecido, ya que se le pasa al método read() el DTO para usarlo como patrón de
búsqueda, pero con la diferencia de que este método tiene valor de retorno, ya que devuelve
otro DTO con los datos del resultado de la búsqueda. (pigexception, 2016)

29
(Tomado de https://www.oscarblancarteblog.com/wp-content/uploads/2018/11/mapping.png )

30
LIBRERÍA JSTL

JSP Standard Tag Library (JSTL) es una colección de etiquetas JSP, que encapsula las
aplicaciones JSP comunes funcionalidad básica.
JSTL apoyo para tareas genéricas, estructurados, tales como la manipulación de
documentos iteración, condicionales, XML, las etiquetas de internacionalización, etiquetas
SQL. Además de éstos, que proporciona un marco para utilizar la integración de etiquetas
personalizadas JSTL.
De acuerdo con la funcionalidad proporcionada por las etiquetas JSTL, se puede dividir en
cinco categorías.
 etiquetas básicas
 etiquetas de formato
 etiqueta de SQL
 Las etiquetas XML
 función JSTL
etiquetas básicas
para llamar la librería se hace de la siguiente manera:

<%@ taglib prefix="c"


uri="http://java.sun.com/jsp/jstl/core" %>

31
(Tomado de http://www.w3big.com/es/jsp/jsp-jstl.html)

32
Etiqueta de SQL
biblioteca de etiquetas JSTL SQL proporciona una base de datos relacional (Oracle,
MySQL, SQL Server, etc.). no son recomendadas porque se puede estar perdiendo el
modelo vista controlador
Para llamar la librería:

<%@ taglib prefix="sql"


uri="http://java.sun.com/jsp/jstl/sql" %>

Función JSTL
JSTL incluye una serie de funciones estándar, la mayoría de las cuales son funciones
genéricas de manejo de cadenas. sintaxis de referencia de la biblioteca JSTL es el siguiente:

<%@ taglib prefix="fn"


uri="http://java.sun.com/jsp/jstl/functions" %>

33
34
HttpSession

¿Qué es?
sirve para almacenar información entre diferentes peticiones HTTP ya que este
protocolo es stateless (sin estado). Así pues en muchas ocasiones nos encontraremos
con el problema de compartir estado (datos usuario) entre un conjunto amplio de
páginas de nuestra Aplicación.

(Tomado de https://www.arquitecturajava.com/usando-java-session-en-aplicaciones-
web/)

Java Session
- Para solventar este problema en la plataforma Java EE se usa de forma muy habitual
la clase HttpSession que tiene una estructura de HashMap (Dicccionario) y permite
almacenar cualquier tipo de objeto en ella de tal forma que pueda ser compartido
por las diferentes páginas que como usuarios utilizamos.

35
(Tomado de https://www.arquitecturajava.com/usando-java-session-en-aplicaciones-
web/)

Funcionamiento
- Cada vez que un usuario crea una session accediendo a una página (que la genere)
se crea un objeto a nivel de Servidor con un HashMap vacío que nos permite
almacenar la información que necesitamos relativa a este usuario. Realizado este
primer paso se envía al navegador del usuario una Cookie que sirve para
identificarle y asociarle el HashMap que se acaba de construir para que pueda
almacenar información en él. Este HashMap puede ser accedido desde cualquier
otra página permitiéndonos compartir información.

(Tomado de
https://www.arquite
cturajava.com/usand
o-java-session-en-
aplicaciones-web/)

36
Usuarios y Sessiones
- El concepto de Session es individual de cada usuario que se conecta a nuestra
aplicación y la información no es compartida entre ellos. Así pues cada usuario
dispondrá de su propio HashMap en donde almacenar la información que resulte útil
entre páginas.

(Tomado de https://www.arquitecturajava.com/usando-java-session-en-aplicaciones-
web/)

37
Como crear una sesión o login en JSP
Primero se debe crear la vista en el que el se ingrese los datos del usuario para poder mirar
si está registrado o no

(Tomado de https://www.galisteocantero.com/sesiones-en-servlets-y-jsp-ejemplo-login-logout/ )
Cuando se oprima enviar ira a capturar los datos y ahí comenzar la verificación

38
(Tomado de https://www.galisteocantero.com/sesiones-en-servlets-y-jsp-ejemplo-login-logout/ )
Ya verificado se puede pasar a mostrar una vista de inicio para el usuario.

39
Generic Interfaces

Las interfaces genéricas se especifican al igual que las clases genéricas. Por ejemplo :

(Tomado de https://hajsoftutorial.com/java-generic-interfaces/ )
MyInterface es una interfaz genérica que declara el método llamado myMethod (). En
general, una interfaz genérica se declara de la misma manera que una clase genérica. En
este caso, el parámetro de tipo es T. A continuación, MyClassface implementa MyInterface.
Myclass es una clase no genérica. Por supuesto, si una clase implementa un tipo específico
de interfaz genérica, entonces la clase implementadora no necesita ser genérica.

(Tomado de https://hajsoftutorial.com/java-generic-interfaces/ )

40
CRIPTOGRAFIA

¿Qué es criptografía?
Criptografía es la ciencia y arte de escribir mensajes en forma cifrada o en código. Es parte
de un campo de estudios que trata las comunicaciones secretas, usadas, entre otras
finalidades, para:
Con el creciente auge y desarrollo de la informática, esta fue ampliamente divulgada y
modificada para su uso. Ahora se basa en complejos algoritmos matemáticos que se
encargan de cifrar los mensajes. Tienen la tarea de garantizar confidencialidad entre las
partes y la integridad de la información. A su vez que ofrece la autenticación tanto del
emisor como del receptor, garantiza que el emisor o el receptor pueda repudiar el mensaje.
Y, por último, garantiza que el mensaje es nuevo, es decir, que no es repetido
Actualmente se usa:
 autentificar la identidad de usuarios
 autentificar y proteger el sigilo de comunicaciones personales y de transacciones
comerciales y bancarias
 proteger la integridad de transferencias electrónicas de fondos
Criptografía y seguridad
La criptográfica es muy fundamental en la actualidad porque estas permiten el
funcionamiento de la red y garantiza la integridad de blockchain.
Para garantizar que nadie externo puede acceder a los datos se utiliza la criptografía de
clave pública y la criptografía de clave secreta. El cifrado de clave pública genera un hash
que hace más sencilla la distribución de la información mientras que la clave privada cifra y
descifra la información entre el emisor y el receptor.
Tipos de criptografía

 Simétrica: también es conocida como criptografía de clave privada o criptografía


de una clave. Para llevarla a cabo y poder cifrar y descifrar un mensaje, se emplea
una única clave que tanto el emisor como el receptor deben conocer previamente.
Este es el punto débil de este método, ya que hay más probabilidad de que un
tercero intercepte la clave cuando el emisor se la transmita al receptor.
Cuando se emplee esta debe llevar una clave difícil de adivinar, ya que los
ordenadores actuales pueden adivinar las claves muy fácilmente. Por lo tanto, esto
deben llevar algoritmos criptográficos.

41
(Tomado de https://academy.bit2me.com/que-es-criptografia/ )

 Asimétrica: También conocida como criptografía de clave pública. Este método


hace uso de dos claves, una pública y una privada; por lo que no es necesario
conocer una clave previamente. La clave pública puede ser enviada y dada a
conocer a cualquier persona, mientras que la clave privada es la que no se debe
compartir con nadie. Cuando un emisor desea enviar un mensaje, éste usa la clave
pública para cifrar el mensaje y lo envía. Y solo el receptor con su clave privada
puede descifrar el mensaje.

La criptografía asimétrica brinda un nivel de seguridad extraordinario, al punto de


que ni siquiera la persona que cifró el mensaje, puede descifrarlo sin la clave
privada. Este es el método utilizado en las criptomonedas, y es una pieza
fundamental en la blockchain para poder realizar operaciones e intercambios de
información entre iguales con total seguridad y sin necesidad de confiar entre sí.

42
(Tomado de https://academy.bit2me.com/que-es-criptografia/ )

 Hibrida: Es un método que usa tanto un cifrado simétrico como un asimétrico.


Empleando el cifrado de clave pública para compartir una clave para el cifrado
simétrico.
Conociendo los conceptos básicos de la criptografía simétrica y la criptografía
asimétrica, podemos darnos cuenta de cuál es su mayor diferencia. La seguridad
que aporta la primera es de un nivel muy bajo comparado con la seguridad que
aporta la segunda. Pero, la rapidez con que la criptografía simétrica cifra y descifra
un mensaje es superior a la de la criptografía asimétrica. Por lo que de allí surge la
criptografía híbrida.

43
HASH

¿Qué es Hash?
- El nombre de hash se usa para identificar una función criptográfica muy importante
en el mundo informático. Estas funciones tienen como objetivo primordial codificar
datos para formar una cadena de caracteres única. Todo ello sin importar la cantidad
de datos introducidos inicialmente en la función. Estas funciones sirven para
asegurar la autenticidad de datos, almacenar de forma segura contraseñas, y la firma
de documento electrónicos.
¿Cómo funcionan?
- Las funciones hash funcionan gracias a una serie de complejos procesos
matemáticos y lógicos. Estos procesos, son trasladado a un software de ordenador
con el fin de usarlos desde el propio ordenador. Desde allí, podemos tomar
cualquier serie de datos, introducirlos en la función y procesarlos. Con esto se busca
obtener una cadena de caracteres de longitud fija y única para los datos
introducidos. A la vez que se hace prácticamente imposible realizar el proceso
contrario. Es decir, es prácticamente imposible obtener los datos originales desde un
hash ya formado. Esto gracias a que el proceso de creación de hashes, es un proceso
de un solo sentido.

44
(Tomado de https://academy.bit2me.com/que-es-hash/)
Lo que podemos ver con estas imágenes es que el SHA-256 y el MD5 así se haga
una pequeña modificación en los caracteres de entrada, tanto como el SHA-256 y
MD5 nos retornan cosas totalmente diferentes, por lo cual hace difícil adivinar las
claves.
Características de las funciones de Hash
1. Son fáciles de calcular: Los algoritmos de hash son muy eficientes y no
requieren de gran potencia de cálculo para ejecutarse.
2. Es compresible: Esto quiere decir que, sin importar el tamaño de la entrada
de datos, el resultado siempre será una cadena de longitud fija. En el caso de
SHA-256, la cadena tendrá una longitud de 64 caracteres.
3. Funcionamiento tipo avalancha: Cualquier mínimo cambio en la entrada de
datos, origina un hash distinto a la entrada de datos original.
4. Resistencia débil y fuerte a colisiones: Hace referencia a que es imposible
calcular un hash, que permita encontrar otro hash igual. Mejores conocidos
como pre-imagen y segunda pre-imagen, es el concepto base de la seguridad
de los hashes.
5. Son irreversibles: Tomar un hash y obtener los datos que dieron origen al
mismo, en la práctica no puede ser posible. Esto es uno de los principios que
hacen a los hashes seguros.

45
Tipos de SHA:

(Tomado de https://es.wikipedia.org/wiki/SHA-2)

46
AES
¿Qué es?
El estándar de cifrado avanzado (AES, por sus siglas en inglés) describe una fórmula
matemática o algoritmo, para la conversión de datos electrónicos en una forma ininteligible,
denominada texto cifrado. El texto cifrado no puede ser leído por cualquier persona que no
sea el destinatario. El AES funciona alimentando una clave de cifrado, esencialmente una
cadena de dígitos en el algoritmo de cifrado y realizando de una serie de operaciones
matemáticas basadas en esa clave de cifrado.
Operación básica
El AES puede ser descrito como un bloque cifrado iterativo y simétrico. El AES utiliza una
estructura de bucle para realizar repetidamente reordenamientos de datos, o permutaciones.
El bucle reemplaza una unidad de datos con otra para datos de entrada. La rutina de cifrado
utiliza la misma clave para cifrar y descifrar los datos, y aplica esa clave a los bloques de
datos de longitud fija.
Programa clave
La rutina de cifrado de AES almacena la clave de cifrado principal en una matriz. Una
matriz es un grupo de objetos con los mismos atributos que pueden ser abordados de forma
individual. La matriz consta de cuatro filas, conteniendo cada uno cuatro, seis u ocho bytes,
dependiendo del tamaño de la clave. Tras bambalinas, la rutina de cifrado utiliza esta matriz
para generar una tabla, conocida como un programa clave, que contiene varias claves. Estas
claves se denominan claves redondas para distinguirlas de la llave maestra original.
Matriz de estado
El AES utiliza una clave de cifrado que puede ser 128, 192 o 256 bits de largo, y se aplica
en unidades de datos, llamados bloques, cada uno de los cuales es de 128 bits de largo. El
algoritmo AES comienza copiando cada bloque de 16 bits en una matriz bidimensional
llamada el Estado, para crear una matriz de bytes de 4x4. El algoritmo realiza una
operación exclusiva "O" que devuelve "verdadero" si uno u otro de sus operando es
verdadero. Esto se conoce como "AddRoundKey", y está entre las primeras cuatro filas del
programa clave y la matriz de Estado.
Operaciones matemáticas
Tras la operación inicial exclusivo "O", el algoritmo de cifrado AES entra en su bucle
principal, en el que realiza repetidamente cuatro operaciones matemáticas diferentes en la
matriz de Estado: "SubBytes", "ShiftRows", "MixColumns" y "AddRoundKey". Estas
operaciones emplean una combinación de suma, multiplicación, rotación y sustitución para
cifrar cada byte en la matriz de Estado. El bucle principal se ejecuta 10, 12 o 14 veces
dependiendo del tamaño de la clave de cifrado. Una vez que se completa la ejecución, el
algoritmo copia la matriz de estado a su salida en forma de texto cifrado.

47
(Tomado de https://es.wikipedia.org/wiki/Advanced_Encryption_Standard )

48
IMPLEMENTADO EN JAVA
1. Java proporciona la clase Cipher la cual pertenece al paquete javax.crypto y ofrece
las funcionalidades de un algoritmo de cifrado criptográfico para cifrar y descifrar
información.
2. Entonces, para utilizar el algoritmo de cifrado simétrico AES se debe importar la
clase javax.crypto.Cipher. Además, también se deben importar las clases
javax.crypto.KeyGenerator y javax.crypto.SecretKey que serán utilizadas para
generar la clave secreta con la cual se va a cifrar y descifrar la información

(Tomado de https://fluidattacks.com/web/defends/java/cifrar-usando-aes/?
fbclid=IwAR1KIyhAK0ccV-h3jA4Y9R31FaNyos0-Yw6pigtyJD7indyERKKvmgFqR9s )

3. De igual forma, hay que importar algunas clases que permitirán tratar las
excepciones que ocurran durante el proceso. Estas excepciones deben ser
controladas por las clases que consuman el servicio de cifrado simétrico.

4. Para utilizar una instancia del algoritmo AES se debe utilizar el método estático
getInstance de la clase Cipher especificando el nombre del algoritmo.

5. Para generar la clave secreta con la cual se va a cifrar y descifrar la información, se


debe invocar el método estático getInstance de la clase KeyGenerator con el fin de
obtener una referencia al objeto que implementa el servicio de generación de clave
AES. Posteriormente, se establece el tamaño y se genera la clave. Por defecto, el
tamaño es de 128 bits.

49
6. Para cifrar la información se debe establecer el modo de operación
ENCRYPT_MODE y pasar como parámetro la clave secreta con la cual se va a
cifrar la información.

7. Para descifrar la información se debe establecer el modo de operación


DECRYPT_MODE y pasar como parámetro la misma clave secreta que se utilizó
para cifrar el contenido.

8. Finalmente se imprimen los resultados obtenidos tanto cuando se cifra como cuando
se descifra el texto.

9. Se compila y ejecuta el programa

50
Ejemplo tomado de (https://fluidattacks.com/web/defends/java/cifrar-usando-aes/?
fbclid=IwAR1KIyhAK0ccV-h3jA4Y9R31FaNyos0-Yw6pigtyJD7indyERKKvmgFqR9s )

51
CONCLUCIONES

WEB:
Como conclusión de las Web 1.0,2.0,3.0,4.0 pode vemos evidenciar que como ha avanzado
rápidamente después de la Web 2.0, en la cual es la que ya comienza a tomar terreno en la
sociedad de haber pasado de una web que solo era meramente de información a pasar a
conectar personas en tiempo real, y después de la llegada de la Web 3.0 para comenzarnos a
ofrecernos las aplicaciones Web haciendo que los desarrolladores puedan ofrecer cosas más
interesantes y para las empresas, y para finalizar la Web 4.0 ya implementa tecnologías de
comunicación total hasta inteligencia artificial.
Páginas Web
Las páginas Web tienen como finalidad mostrar contenido para las personas mediante
imágenes, videos y videos, pero como se pudo ver hay dos clases de páginas Web las
estáticas y las Dinámicas, en la cual las Estáticas solo se enfocan mostrar la página sin
interacción alguna mientras que la Dinámica se está desarrollada por algún lenguaje de
programación interpretado y cuentan con interacciones con los usuarios como puede ser un
formulario.
Sitio Web
Como conclusión un sitio es un lugar donde está alojada información que son relacionadas
que pueden ser buscadas por su dominio y que están organizados por una jerarquía donde la
información principal es la página de portada, que es el URL raíz del sitio web y el resto
son direcciones que hipervínculos hacia otras páginas.
Aplicaciones Web
la aplicación web tiene infinitas aplicaciones en la Web como la de hacer una aplicación de
ventas y estas están funcionan con tres pasos una base datos, código de aplicación y el
usuario, con lo anterior podemos decir que las aplicaciones Web traen ventajas ya que no
toca instalar nada para poder usarla solo es necesario tener un navegador, y a su vez se
puede acceder desde cualquier dispositivo haciéndolas prácticas.
Dominio y Hosting
Por lo tanto, para poder montar la Web en internet es necesario adquirir un servidor para
que en este podamos subir nuestra página Web y subir todos los recursos que sean
necesarios para que la página Web funcione, y seguidamente debemos adquirir un dominio
para que las demás personas puedan buscar nuestra web.
Back-End y Front-end
En conclusión, el front-end se usa para el diseño de interfaces; es decir que la presentación
de las páginas. Y cuando las paginas ya poseen interacciones con los usuarios ya se
comienza a mencionar que se está utilizando un back-end, que es el que está encargado de
llevar toda la lógica de la página; por ejemplo, cuando hay un formulario para los usuarios.

52
HTML
Como conclusión de HTML se puede decir que, es un lenguaje estandarizado para las
paginas, que está basado en etiquitas, y en las cuales se pueden uno debe estar en orden
para la estructuración de las páginas web o lo que se desee hacer el programador, además
este lenguaje lo puede correr cualquier navegador por ser un estándar universal.
CSS
De CSS se puede concluir que esta echo para que el desarrollador les agregue diseño y
estilos a las páginas web, aplicaciones Web y sitios web, para que éstas se vuelvan más
atractivas o agradables para el usuario, y no que no solo se queden con lo el diseño que
tiene depre terminado html.
JavaScript
Es un lenguaje de programación que es usada para la Web necesita de lógica para
solucionar un problema, por lo general se usan para paginas dinámicas como por ejemplo
puede ser un formulario, o cuando se desea enviar alertas al usuario, pero de igual manera
JavaScript se puede usar para hacer mejores diseños en la página web.
Arquitectura Cliente Servidor
Este modelo de arquitecturas son aplicaciones en donde están repartidas entre los
proveedores de servicios que se les conoce; como servidores y las peticiones del cliente o
usuario, el beneficio que trae al usar esta arquitectura es que se están corriendo dos
apelaciones simultáneamente la primera que es la servidora que es la que recibe, envía y
procesa los datos que le envía la aplicación del cliente.
JSP
JSPs se ejecuta en una máquina virtual Java, lo cual permite que, en principio, se puedan
usar en cualquier tipo de ordenador, siempre que exista una máquina virtual Java para él. Y
además se tienen contenido código HTML/XML, para páginas web.
Servlet
Son programas escritos en Java que están rígidos por el protocolo HTTP que se usan en
páginas web dinámicas, y está encargada de recibir y devolver los datos que envió el cliente
por lo, lo que es muy parecido a la arquitectura Cliente Servidor.
Objetos Request y Response
Como se mencionó Request tiene la responsabilidad de devolvernos la información del
cliente y mientras que el objeto Response es para retornar valores al usario.
Método get y post
En conclusión, se puede decir que el método get es más inseguro que el método post, ya que el
get esta colocando los parámetros en la URI, además get se usa para recuperación de documentos
mientras que post se usa para la actualización de los datos, y para finalizar el método get se
guardan los datos en la cache mientras que post no.

53
Patrón de Diseño DAO
El propósito del DAO es que se creen método que puedan hacer el CRUD (Create, Read,
Update, Delate) para los datos que se les quiera hacer persistencia, bien sea en una base de
datos o en un archivo de texto.
Patrón de Diseño DTO
Como se observó en el DAO, el DTO nos ayuda para la transportación de datos, desde una
base de datos hacia una capa lógica del negocio, por lo cual se puede decir que el patrón de
diseño DAO y DTO es necesario que trabajen juntos.
LIBRERÍA JSTL
Las librerías JSTL son muy útiles ya que nos ayudan mejor para la transmisión de datos
entre el selvelt y el JSP, ya que proporciona funciones útiles como c:out para mostrar datos
en HTML o tal vez C:for each para hacer ciclos dentro, por lo cual nos da más funciones
para implementar más lógica dentro de los programas.
HttpSession
El HttpSession nos ayuda cuando queremos tener un login en el programa, entonces como
se pudo evidenciar podemos guardar una sesión en tondo el programa, por lo cual se puede
solicitar ese objeto en cualquier página o en los servert, por lo cual nos puede servir como
para que validar sesiones en cualquier momento.
CRIPTOGRAFIA
Como conclusión la criptografía nos sirve para no exponer los datos de los usuarios al
momento de guardar los datos en una base de datos y asi implementar seguridad, pero para
hacer estos se requiere de algoritmo como el SHA-256 que mediante de este algoritmo se le
envía el texto y se envía en parámetros grandes y ase se le hace más difícil al atacante
conocer la clave.

54
55
Referencias
Chapaval, N. (27 de Junio de 2020). platzi. Obtenido de platzi: https://platzi.com/blog/que-es-
frontend-y-backend/

codea. (2019). Obtenido de codea: https://codea.app/java/que-es-un-servlet-en-java

desarrolloweb. (1 de Enero de 2001). Obtenido de desarrolloweb:


https://desarrolloweb.com/articulos/260.php

desarrolloweb.com. (Enero de 2011). Obtenido de desarrolloweb.com.

EcuRed. (s.f.). Obtenido de EcuRed: https://www.ecured.cu/Mosaic

González, G. A. (Enero de 2009). Definición ABC . Obtenido de Definición ABC :


//www.definicionabc.com/tecnologia/buscador.php

González, G. A. (JULIO de 2016). Definición ABC . Recuperado el 3 de Mayo de 2020, de


https://www.definicionabc.com/tecnologia/arpanet.php

Gonzáñez, D., Carvajal, B., Manrique, J., & Quijije, G. (29 de Junio de 2020). monografias. Obtenido
de monografias: https://www.monografias.com/docs114/telecomunicaciones-
arquitectura-cliente-servidor/telecomunicaciones-arquitectura-cliente-servidor.shtml.

Gutiérrez, R. T. (2014). El inicio de la Web. ArtefaCToS, 57-82.

neosoft.es. (Junio de 27 de 2020). Obtenido de neosoft.es: https://www.neosoft.es/blog/que-es-


una-aplicacion-web/

pc-soluciones. (6 de Junio de 2018). Obtenido de pc-soluciones: https://pc-


solucion.es/2018/06/06/diferencias-entre-el-metodo-get-y-post/

pigexception. (26 de Marzo de 2016). Obtenido de pigexception:


https://pigexception.wordpress.com/2016/03/26/patron-de-diseno-dao/

Raffino, M. E. (24 de Noviembre de 2018). Concepto.de. Obtenido de Concepto.de:


https://concepto.de/navegador-web/

Raffino, M. E. (29 de Noviembre de 2019). Concepto.de. Obtenido de Concepto.de:


https://concepto.de/www/

Raffino, M. E. (27 de Junio de 2020). Concepto.de. Obtenido de Concepto.de:


https://concepto.de/pagina-web/

sites. (27 de 06 de 2020). Obtenido de sites:


https://sites.google.com/site/elrendimientoscolar/evolucion-de-la-web/web-1-0-2-0-3-0-
4-0

softwarelab. (06 de Junio de 2020). Obtenido de softwarelab: https://softwarelab.org/es/sitio-


web/

56
uniwebsidad. (s.f.). Obtenido de uniwebsidad: https://uniwebsidad.com/libros/javascript/capitulo-
1

w3schools. (s.f.). Obtenido de w3schools: https://www.w3schools.com/html/html_tables.asp

57

También podría gustarte