---
# System prepended metadata

title: 1. Introduction to the Web
tags: [Web Applications]

---

# 1. Introduction to the Web
###### tags: `Web Applications`

## Terminology
:::warning
🤯 Feel stuck with all these technical terms? Take a look at our course on [computer networks](Computer-networks).
:::

* **URL (Uniform Resource Identifier)**: It is the address used in the web for resources. Fojr example https://www.uc3m.es/inicio
* **IP**: The *Internet Prtoocol* is a newtork layer protocol for transmitting packets through different networks. It is the base of the Internet. [Read more about IP](IP)
* **DNS**: Stands for `Domain name system`, and is a protocol that translates URI's into IP addresses. [Read more about DNS](DNS)
* **IP address**: It is a numeric address given to every computer in the internet. [Read more about IP addresses](IP-address)
* **HTML**: Is a [markup language](Markup-language) used to structure web pages. It is processed by Web browsers to render its contents and display the web page in a visual form. `[Read more about HTML](HTML)
* **HTTP**: The *Hypertext Transfer Protocol* is an application layer protocol that lays the foundations for the World Wide Web. It features hyperlinks which easily link different [hyperlinks](Hyperlinks). [Read more about HTTP](HTTP)
* **HTTPS**: It is a secured and encrypted version of HTTP, using TLS and SSL. [Read more about HTTPS](HTTPS)
* **TCP**: It is one of the main protocols used in the Internet. TCP provides features such as ordered and [realiable protocol](Reliable-protocol) delivery of a stream of bytes between hosts or applications using an IP network.
* **TLS**: It is a protocol that employs cryptography to secure communications over a network. [Read more about TLS](TLS)
* **UDP**: It is one of the main protocols used in the Internet. UDP does *not* provide the guarantees that TCP offers. It is often used in settings were error checking and correction are not necessary or critical or where information needs to be transmitted as fast as possible. [Read more about UDP](UDP)
* **Web Application**: TODO

## Client-Server architecture
The [client-server architecture](Client-server-model) is a application model where a program called **client** connects to a program called **server** to get data.

```mermaid
graph LR;
%% Comment
%% Create the nodes
client(Client);
server(Server)
%% Connect the two graphs
client -- Request --> server
server -- Response --> client
```

## HTML5 stack

In the *client* side:

* The **HTML document** contains the layout of the page and information that will be processed and rendered. *It defines the structure.*
* **CSS stylesheets** specify visual attributes, detailing how things should be displayed. *It defines the appearance.*
* **JavaScript code** makes the web page interactive and dynamic. *It defines the behavior.*

## Static vs. Dynamic webpages
Static websites are websites whose contents do not change, whose HTML, CSS and Resources must be precompiled.
> Example of a static website: Onyx 
Dynamic websites in the other hand are the ones on which HTML has to be generated every time a user makes a request.