A communication protocol is a system of rules that allows two or more entities of a communications system to transmit information
Why is there a need for this protocol ?
You're computer cannot understand domain-names
It needs to convert
```Domain name → IP Address```
## HTTP
Hyper Text Transfer Protocol
Protocol is used to get website data
`HTTP Request → HTTP Response`
You're browser can read this response
```
curl -I https://www.google.com
```
```
HTTP/2 200
content-type: text/html; charset=ISO-8859-1
content-security-policy-report-only: object-src 'none';
p3p: CP="This is not a P3P policy! See g.co/p3phelp for more info."
date: Fri, 15 Sep 2023 07:23:35 GMT
server: gws
x-xss-protection: 0
x-frame-options: SAMEORIGIN
expires: Fri, 15 Sep 2023 07:23:35 GMT
cache-control: private
set-cookie: 1P_JAR=2023-09-15-07; expires=Sun,
15-Oct-2023 07:23:35 GMT; path=/; domain=.google.com; Secure
set-cookie: AEC=Ad49MVF-yLj6J_aphufWpINECIkJxL3ncV8-3gpnHgOf4AcycvK3APos8_8;
expires=Wed, 13-Mar-2024 07:23:35 GMT; path=/;
domain=.google.com; Secure;
HttpOnly; SameSite=lax
set-cookie: NID=511=UsNVRe32tJMYOsLb5kCpv8oKOm3IeDF_T7qm7JC55_GrrQuDlEBULGmIhN
qrz4IVnPPhH3GCD2wYxR1F6mr84n58gpG5hM3PkmPQCNe1V0gx2CqXFIYbB
eK5WIoderECVEDf-412wT2TkdCIGDit9yplk3BFIdIzRpFx3_ab0TQ;
expires=Sat, 16-Mar-2024 07:23:35 GMT; path=/; domain=.google.com; HttpOnly
alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
```
### S - SSL (Secure Socket Layer)
is a technology created by the browser to create a secure, encrypted communication channel over any network
- HTTPS exchanges encryption keys using certificates before sending data.
- HTTPS works at Transport Layer but HTTP works on Application Layer.
## TCP
Transmission Control Protocol
- Little more complex than HTTP
- TCP uses raw binary data unlike HTTP
- TCP is a layer below HTTP
## UDP
User Datagram Protocol
### Features
- Unreliable and connectionless protocol
- No Checksum
- UDP packets are 8 bytes which is small compared to something like a TCP Packet which is 20-60 bytes
- Lower Latency
- Faster Response Time
### Uses
- NTP (Network Time Protocol)
- Voice and Video Calling
- Gaming
- Used in DNS
## SSH
Secure Shell (or) Secure Socket Shell
## Everything
Terminal (or) cmd 🙇
Shell is the interface you deal with when using a cmd or terminal
Different types of shell
- bash
- zsh
- cshell
- kornshell
- Unix release date - November 1971
- First Display manager release date - October 1988
SSH is a protocol used to connect to another machine and remotely access it.
ssh darthvader@192.168.1.169 -p 22
## FTP
File Transfer Protocol
Its a protocol used to transfer files across the network
It uses the client server model.
The server hosts the files and the client can download / upload / delete / rename etc.
This also uses the TCP protocol.
So it starts with the 3 way handshake before sending the files.