Decode Tech Jargon
In computers we have so many tech jargon’s . In this article I will try to explain and associate it with some real life in order to understand the basics.
Protocol :
A protocol is essentially a set of rules or standards that dictate how data is transmitted and received over a network. To put it in simple terms, imagine a real-life scenario: if I speak in Hindi, I need to follow grammar rules so that the other person can understand what I'm saying. Similarly, when two computers communicate, they must adhere to a specific set of rules, or protocol, that both systems can understand. This ensures that the communication between them is clear and effective.
Stateless protocol:
Stateless refers to a system or protocol that does not retain any memory of previous interactions or transactions.
Imagine a restaurant where the waiter doesn’t remember what you ordered previously:
You place an order: The waiter takes your order (request), but after delivering your meal, they forget everything about you.
You come back again: The next time you visit, the waiter doesn’t remember that you were there before. They treat you as a new customer and don’t recall your past preferences or previous order.
This is similar to how a stateless system works: every request is like a new one, with no memory of the prior requests.
Stateful Systems
In contrast, a stateful system remembers previous interactions, which can help improve efficiency and user experience. eg a stateful protocol might remember that you are logged in, keeping your session active without needing you to re-enter your credentials on every page.
Encryption :
Encryption is a process that transforms data from its original, readable format into an unreadable format. Imagine you write a letter to your friend in a secret code, a type of gibberish that only you and your friend can understand. This is what encryption does — it scrambles the information so that only the intended recipient can make sense of it.
Your friend holds the key to decode the message and turn it back into something readable. If anyone else intercepts the letter, they won’t be able to understand it, because the key to decrypt the message is only with your friend.
Decryption is the reverse process of encryption — it’s how your friend translates the scrambled message back into its original form.
HTTP vs HTTPS :
When data is transmitted with HTTP, it gets transmitted in plain text. When we use HTTPS , it means its secure. It adds an additional layer of security by encrypting the data exchanged between a client and a server.Eg If I am going on vacation and dont lock my house, this is HTTP (Not secure). But if I lock the house door, windows and also setup alarm system, I am adding additional layer of security. This is what HTTPS is.
TLS (Transport Layer Security)
TLS is the encryption method used by protocols like HTTPS.
Real-Life Analogy:
HTTPS is like sending a locked briefcase containing your important documents through a secure courier (TLS):
The briefcase (your data) is locked (encrypted).
The courier (TLS) ensures that no one can read or alter the contents of the briefcase during transit.
The locked briefcase travels in a secure manner (using TLS encryption) from the sender (web browser) to the recipient (web server).
Without the TLS encryption (the courier and the lock), the HTTPS connection wouldn’t be secure.
Cookies
Cookies are small pieces of data that are stored by a web browser on a user's device while they are browsing the internet.
Cookies as a Hotel Keycard
Imagine checking into a hotel and receiving a keycard (cookie) that grants you access to your room. The keycard remembers your room number and preferences, so you don’t need to tell the receptionist every time.
Session Cookies: Like a keycard that expires when you check out (close your browser).
Persistent Cookies: Like a keycard that works for your entire stay (remembers preferences across sessions).
URL (Uniform Resource Locator)
A URL is like a home address for a specific place on the internet
The scheme (
http://
orhttps://
) is like the type of transportation (car, bus, etc.) you use to get there.The hostname (
www.example.com
) is like the street name or location of the house.The port is like the specific door or entry point to the house (usually default doors like
80
for HTTP and443
for HTTPS).The path (
/products/shoes
) is the room or section in the house that you want to visit.The query (
?category=shoes&color=blue
) is like telling the host in the house exactly what you’re looking for.The fragment (
#sale
) is like specifying a particular shelf or corner in the room.
TCP
TCP/IP (Transmission Control Protocol/Internet Protocol):
TCP is like a reliable package delivery system that ensures your data is broken down into manageable pieces, sent with confirmation at every step, and reassembled correctly at the destination. It guarantees that all parts of the data arrive safely and in the correct order.
TCP as Ordering a Pizza:
Placing the Order:
- You call a pizza restaurant to place an order. The restaurant (server) takes note of what you want, and then the process of preparing and delivering the pizza begins. Similarly, in TCP, the client sends a request to the server for data.
Order Confirmation:
- After you place the order, the restaurant confirms they’ve received it and start preparing the pizza. This is like TCP’s handshake process, where the client and server agree on the communication and start the data transfer.
Pizza Delivery in Portions (Data Segmentation):
- Imagine the pizza is too big to deliver in one box, so the restaurant splits the pizza into several smaller portions (boxes) to be delivered to you. Each portion represents a segment of the data being sent. In TCP, large chunks of data are divided into smaller packets (segments) for easier transmission.
Receiving and Acknowledging Each Portion:
- As the delivery driver brings each portion, you confirm receipt of each one. For example, you say, “I got the first box, please send the next.” This is like the acknowledgement (ACK) process in TCP. You confirm that each piece (data segment) has arrived, and only then does the next part of the pizza (data) get sent.
Handling Missing or Incorrect Portions:
- Let’s say the driver delivers a portion of the pizza, but it’s missing or damaged (for example, a box is spilled). You call the restaurant to let them know, and they resend the missing portion. Similarly, if a data packet is lost or corrupted, TCP ensures that the missing or corrupted part is retransmitted until you receive everything correctly.
Reassembling the Pizza:
- Once all the portions of the pizza have been delivered and acknowledged, you can finally reassemble them into the full pizza. Similarly, in TCP, once all data segments are received, they are reassembled in the correct order to form the complete message or file.
Final Confirmation:
- Once you’ve received the full pizza, you can confirm that everything is as expected and that no parts are missing. TCP provides a final acknowledgment that the complete data transfer was successful, ensuring reliable delivery of the entire data.
How This Relates to TCP:
Segmentation: Just as the restaurant splits the pizza into manageable portions, TCP splits large data into smaller packets for transmission.
Acknowledgement: You confirm each portion (data segment) as it arrives, ensuring that nothing is lost.
Retransmission: If any part of the pizza is missing or damaged, the restaurant sends it again, similar to how TCP resends lost or corrupted packets.
Reassembly: Once all pizza portions are delivered, they’re reassembled to form the complete meal. TCP ensures that all data packets are correctly reassembled at the destination in the proper order.
UDP
UDP is a connectionless protocol that sends data packets between devices on a network without establishing a dedicated end-to-end connection.
UDP as Sending Postcards
Imagine you're sending postcards from a trip. You drop them in the mail without worrying if they arrive, or in what order. Some may get lost, others may arrive out of order, but you don't bother with confirmation or resending.
You (Sender): You write and send the postcards (data packets) without checking if they reach their destination.
Mail System (Communication Channel): The postal service delivers the postcards, but there’s no guarantee they’ll arrive or be in order (like UDP packets).
Recipients (Destinations): The recipients may or may not receive all postcards, and some may come out of order. There’s no acknowledgment or retry.
In UDP, like sending postcards, data is sent without guarantees of delivery or order, making it faster but less reliable. Perfect for applications like live streaming or online gaming, where speed is more important than perfect delivery.
DNS (Domain Name System)
DNS is responsible for converting domain names (like www.example.com) into IP addresses. Imagine you’re staying at a hotel and want to visit a particular restaurant. Instead of heading straight there, you first need to gather some information. So, you go to the hotel lobby and ask the receptionist. The receptionist checks the address book and provides you with the directions. With that information in hand, you then head to the restaurant and enjoy your meal.
This is similar to how DNS works: it helps your device find the address of website by translating the domain name into an IP address, allowing you to reach the site and access its content.
Payload
Payload in the context of computer science and networking refers to the actual data or content being transmitted.
For example, when you send an email:
Header: Includes the sender’s and recipient’s email addresses, subject, time sent, and other metadata.
Payload: The body of the email — the actual message content, possibly with attachments.