<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Abhishek Raina</title>
    <description>The latest articles on DEV Community by Abhishek Raina (@abhishekraina).</description>
    <link>https://dev.to/abhishekraina</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1890944%2Fd7e4c539-97f0-44b6-99c4-bf68f53eb03d.jpeg</url>
      <title>DEV Community: Abhishek Raina</title>
      <link>https://dev.to/abhishekraina</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/abhishekraina"/>
    <language>en</language>
    <item>
      <title>Asynchronous Programming and Promises in JavaScript</title>
      <dc:creator>Abhishek Raina</dc:creator>
      <pubDate>Mon, 12 Aug 2024 07:30:56 +0000</pubDate>
      <link>https://dev.to/abhishekraina/asynchronous-programming-and-promises-in-javascript-1m08</link>
      <guid>https://dev.to/abhishekraina/asynchronous-programming-and-promises-in-javascript-1m08</guid>
      <description>&lt;h2&gt;
  
  
  Asynchronous Programming and Promises in JavaScript:
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Let’s break down these concepts in a fun and easy-to-understand way!&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;What is Asynchronous Programming?&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Asynchronous programming&lt;/strong&gt; is like having a superpower that allows your code to do multiple things at once without getting stuck. In traditional synchronous programming, tasks are executed one after the other, like a single-threaded chef who can only cook one dish at a time. This can lead to long wait times, especially when tasks take a while, like fetching data from a server.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example of Synchronous vs. Asynchronous:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Synchronous:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;console.log("Start cooking");
// Waits for the dish to finish
console.log("Dish is ready!");
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;2. Asynchronous:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;console.log("Start cooking");
setTimeout(() =&amp;gt; console.log("Dish is ready!"), 3000); // Cook for 3 seconds
console.log("I can do other things while waiting!");
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In the asynchronous example, the chef starts cooking and immediately moves on to other tasks while the dish is cooking in the background. This is the magic of asynchronous programming!&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Enter the Promises&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1by2w4rn0q2dqi9y0m81.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1by2w4rn0q2dqi9y0m81.jpg" alt="Image description" width="500" height="569"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, &lt;strong&gt;let’s meet Promises—the trusty sidekick of asynchronous programming.&lt;/strong&gt; A Promise is like a waiter who promises to bring you your order. You place your order (make a request), and the waiter assures you that they will deliver it later, even if you have to wait a bit.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Promise States:&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Pending:&lt;/strong&gt; The initial state; the promise is still waiting for the operation to complete.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fulfilled:&lt;/strong&gt; The operation was completed successfully, and the promise has a value.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Rejected:&lt;/strong&gt; The operation failed, and the promise has a reason for the failure.&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Creating a Promise:&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let orderDish = new Promise((resolve, reject) =&amp;gt; {
  let cookingTime = 3000; // 3 seconds
  setTimeout(() =&amp;gt; {
    resolve("Dish is ready!"); // Fulfilled
  }, cookingTime);
});

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Using Promises: .then() and .catch()&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Once you have your Promise, &lt;strong&gt;you can use .then()&lt;/strong&gt; to handle the successful completion of the task and &lt;strong&gt;.catch() to handle any errors&lt;/strong&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;orderDish
  .then((message) =&amp;gt; console.log(message)) // If fulfilled
  .catch((error) =&amp;gt; console.log(error));   // If rejected
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  &lt;strong&gt;Async/Await: The Cool Sibling of Promises&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu9njzbkv7j94to6pqh9a.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu9njzbkv7j94to6pqh9a.jpg" alt="Image description" width="735" height="745"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, let’s introduce the async/await syntax. It allows you to write asynchronous code that looks synchronous, making it easier to read and maintain.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Async:&lt;/strong&gt; This keyword is used to declare a function as asynchronous.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Await:&lt;/strong&gt; This keyword is used to pause the execution of the async function until the Promise is resolved.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;async function serveDish() {
  try {
    const message = await orderDish; // Wait for the promise to resolve
    console.log(message);
  } catch (error) {
    console.log(error);
  }
}

serveDish();
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  &lt;strong&gt;Comparing .then() vs. await&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;1. .then():&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Good for chaining multiple asynchronous operations.&lt;/li&gt;
&lt;li&gt;Can lead to "callback hell" if not managed properly.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;2. await:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Makes your code look cleaner and more readable.&lt;/li&gt;
&lt;li&gt;Easier to handle errors with try/catch.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Learning Resources&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;To dive deeper into asynchronous programming and Promises, here are some resources that can help:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;MDN Web Docs:&lt;/strong&gt; A comprehensive guide to &lt;a href="https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Asynchronous/Introducing" rel="noopener noreferrer"&gt;Asynchronous JavaScript&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Eloquent JavaScript:&lt;/strong&gt; Chapter 11 covers asynchronous programming in detail.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;FreeCodeCamp:&lt;/strong&gt; Offers a Beginner's Guide to &lt;a href="https://www.freecodecamp.org/news/asynchronous-programming-in-javascript-examples/" rel="noopener noreferrer"&gt;Asynchronous JavaScript&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;JavaScript.info:&lt;/strong&gt; A great resource for understanding &lt;a href="https://javascript.info/promise-basics" rel="noopener noreferrer"&gt;Promises&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    <item>
      <title>IP addresses and DNS. How this dynamic duo is holding the Internet🤔</title>
      <dc:creator>Abhishek Raina</dc:creator>
      <pubDate>Sat, 10 Aug 2024 03:36:32 +0000</pubDate>
      <link>https://dev.to/abhishekraina/ip-addresses-and-dns-how-this-dynamic-duo-is-holding-the-internet-51mk</link>
      <guid>https://dev.to/abhishekraina/ip-addresses-and-dns-how-this-dynamic-duo-is-holding-the-internet-51mk</guid>
      <description>&lt;p&gt;In the vast universe 🌌 of the &lt;strong&gt;internet&lt;/strong&gt;, two key players make the digital world go round: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;IP addresses&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;and &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;DNS (Domain Name System)&lt;/strong&gt;. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Let’s go on a fun journey to understand these concepts, their roles, and how they work together to connect us all!&lt;/p&gt;

&lt;p&gt;🏃‍♂️🏃‍♂️🏃‍♂️🏃‍♂️🏃‍♂️🏃‍♂️🏃‍♂️🏃‍♂️🏃‍♂️🏃‍♂️🏃‍♂️🏃‍♂️🏃‍♂️🏃‍♂️🏃‍♂️🏃‍♂️🏃‍♂️🏃‍♂️🏃‍♂️🏃‍♂️🏃‍♂️🏃‍♂️🏃‍♂️🏃‍♂️🏃‍♂️🏃‍♂️&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;What is an IP Address?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Imagine an IP address as the home address of your favorite website. Just like your home address helps friends find you, an IP address helps computers find each other on the internet. It’s a unique string of numbers assigned to every device connected to the internet, allowing them to communicate and share information.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv5qz8wcjaronfrv9xd2d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv5qz8wcjaronfrv9xd2d.png" alt="Image description" width="800" height="362"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Types of IP Addresses:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;IPv4:&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The classic 32-bit address format, which looks something like 192.168.1.1. &lt;em&gt;It can provide around 4.3 billion unique addresses&lt;/em&gt;, which sounds like a lot until you realize there are over 7 billion people on Earth!&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;IPv6:&lt;/strong&gt; &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Enter the &lt;strong&gt;superhero&lt;/strong&gt; of IP addresses! &lt;strong&gt;With its 128-bit format&lt;/strong&gt;, IPv6 can provide an astronomical number of addresses (about 340 undecillion). This format looks like 2001:0db8:85a3:0000:0000:8a2e:0370:7334. &lt;em&gt;&lt;strong&gt;It was introduced to tackle the shortage of IPv4 addresses.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;What is DNS?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Now, let’s meet DNS, the friendly translator of the internet. &lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;DNS&lt;/strong&gt;&lt;/em&gt; stands for &lt;em&gt;&lt;strong&gt;Domain Name System&lt;/strong&gt;&lt;/em&gt;, &lt;/p&gt;

&lt;p&gt;and it’s responsible for converting human-friendly domain names (&lt;strong&gt;like &lt;a href="http://www.example.com" rel="noopener noreferrer"&gt;www.example.com&lt;/a&gt;&lt;/strong&gt;) into IP addresses that computers can understand. Think of it as the internet’s phonebook!&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;How DNS Works&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr0na1khfv2o2gpvq306n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr0na1khfv2o2gpvq306n.png" alt="Image description" width="607" height="434"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When you type a web address into your browser, here’s what happens:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Query:&lt;/strong&gt;&lt;br&gt;
Your device requests a DNS server to find the corresponding IP address for the domain name.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Response:&lt;/strong&gt;&lt;br&gt;
The DNS server looks up the address and sends it back to your device.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Connection:&lt;/strong&gt;&lt;br&gt;
Your device uses the IP address to connect to the web server, allowing you to access the website.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;The Dynamic Duo: IP Addresses and DNS&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuoc3o9o56lb3sbt3gvjg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuoc3o9o56lb3sbt3gvjg.png" alt="Image description" width="606" height="353"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Together, &lt;strong&gt;&lt;em&gt;IP addresses and DNS create a seamless browsing experience&lt;/em&gt;&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;While IP addresses ensure that data is sent to the right destination, DNS makes navigating the web easy without memorizing complex numerical addresses.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Fun Facts&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5z350kzrtv8umm230ryr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5z350kzrtv8umm230ryr.png" alt="Image description" width="556" height="492"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;No, no, no don't focus on image facts are below you gotta read through them 😁 -&amp;gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Root Name Servers:&lt;/strong&gt;&lt;br&gt;
These are the backbone of the DNS system, helping to direct queries to the appropriate DNS servers. They’re like the wise elders of the internet, knowing where to send everyone!&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Caching:&lt;/strong&gt;&lt;br&gt;
DNS servers cache (store) previously looked-up addresses to speed things up. So, if you visit a site frequently, your device won’t have to ask for the IP address every time!&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Security:&lt;/strong&gt;&lt;br&gt;
Just like a good security system for your home, DNS has measures like &lt;a href="https://cloud.google.com/dns/docs/dnssec" rel="noopener noreferrer"&gt;DNSSEC&lt;/a&gt; to ensure that the data being sent and received is authentic and secure.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Conclusion&lt;/p&gt;

&lt;p&gt;In &lt;strong&gt;summary&lt;/strong&gt;, IP addresses and DNS are essential components of the internet that work hand-in-hand to facilitate communication and navigation. &lt;/p&gt;

&lt;p&gt;So, the next time you browse the web, remember the incredible teamwork of these two systems that keep the internet running smoothly!&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>programming</category>
      <category>monitoring</category>
    </item>
    <item>
      <title>Communicating on the Web</title>
      <dc:creator>Abhishek Raina</dc:creator>
      <pubDate>Wed, 07 Aug 2024 08:57:56 +0000</pubDate>
      <link>https://dev.to/abhishekraina/communicating-on-the-web-p8d</link>
      <guid>https://dev.to/abhishekraina/communicating-on-the-web-p8d</guid>
      <description>&lt;p&gt;Have you ever 🤔wondered how you pick up your phone and send a voice message to your friend and in a few seconds your friend listens to your message and sends back his/her response ( text or voice )? &lt;/p&gt;

&lt;p&gt;How does all that happen? How does your friend's voice just come on your phone even though your friend is sitting miles away from you?&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Let's dive 🤽‍♂️ into how the Web works under the hood&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;When two computers communicate with each other, they need to use the same rules. An English speaker can't communicate verbally with a Japanese speaker, similarly, two computers need to speak the same language to communicate.&lt;/p&gt;

&lt;p&gt;This "language" that computers use is called a &lt;a href="https://en.wikipedia.org/wiki/Communication_protocol" rel="noopener noreferrer"&gt;protocol&lt;/a&gt;. The most popular protocol for web communication is &lt;a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Overview" rel="noopener noreferrer"&gt;HTTP&lt;/a&gt;, which stands for Hypertext Transfer Protocol.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Working of HTTP&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F885117xhh3e8urialiww.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F885117xhh3e8urialiww.png" alt="Image description" width="800" height="387"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;At the heart of HTTP is a simple request-response system. The "requesting" computer, also known as the "client", asks another computer for some information. That computer, "the server" sends back a response with the requested information.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;HTTP URLS&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A URL (&lt;strong&gt;Uniform Resource Locator&lt;/strong&gt;) is the address of a unique resource on the internet. It is one of the key mechanisms used by browsers to retrieve published resources, such as HTML pages, CSS documents, images, and so on.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; &lt;strong&gt;Now Let's look at some amazing things about a URL or simply a Link:&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A URL or a link is composed of different parts, some mandatory and others optional. The most important parts are highlighted on the URL below:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy3wi2nx1of2j18u1ze1w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy3wi2nx1of2j18u1ze1w.png" alt="Image description" width="800" height="77"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://developer.mozilla.org/en-US/docs/Learn/Common_questions/Web_mechanics/What_is_a_URL" rel="noopener noreferrer"&gt;Click here to Dig Deeper&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;What are the terms Web Clients and Web Servers?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;WEB CLIENT&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A web client is a device making requests to a web server.&lt;/p&gt;

&lt;p&gt;A client can be any type of device but is often something users physically interact with. For example:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;A desktop computer&lt;/li&gt;
&lt;li&gt;A mobile phone&lt;/li&gt;
&lt;li&gt;A tablet&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;In a website or web application, we call the user's device the "front end".&lt;/p&gt;

&lt;p&gt;A front-end client makes requests to a back-end server.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiqbd2ag9chejnbav2j5d.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiqbd2ag9chejnbav2j5d.jpg" alt="Image description" width="736" height="919"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;WEB SERVER&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Similar to how a server at a restaurant brings your food to the table, a web server serves web resources, such as web pages, images, and other data. &lt;/p&gt;

&lt;p&gt;The &lt;a href="https://en.wikipedia.org/wiki/Web_server" rel="noopener noreferrer"&gt;server&lt;/a&gt; is turned on and "listening" for inbound requests constantly so that the second it receives a new request, it can send an appropriate response.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F95wx85hi9e1ir58s84lx.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F95wx85hi9e1ir58s84lx.jpg" alt="Image description" width="736" height="1044"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ending here.........!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Hi, you can learn more by clicking the links provided in between.&lt;/p&gt;

&lt;p&gt;The Web is much &lt;strong&gt;Deeper&lt;/strong&gt; and has lot more details, which I will be covering in upcoming posts. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;So do follow me for the amazing content.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>computerscience</category>
      <category>http</category>
    </item>
  </channel>
</rss>
