<?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: Diksha Sharma</title>
    <description>The latest articles on DEV Community by Diksha Sharma (@diksha_sharma15).</description>
    <link>https://dev.to/diksha_sharma15</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%2F3873738%2F753e5f42-7082-4ef3-baa8-b6eca2289fdd.png</url>
      <title>DEV Community: Diksha Sharma</title>
      <link>https://dev.to/diksha_sharma15</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/diksha_sharma15"/>
    <language>en</language>
    <item>
      <title>How HTTPS Authenticates Websites Using SSL/TLS 🔐</title>
      <dc:creator>Diksha Sharma</dc:creator>
      <pubDate>Fri, 29 May 2026 08:05:41 +0000</pubDate>
      <link>https://dev.to/diksha_sharma15/how-https-authenticates-websites-using-ssltls-3nen</link>
      <guid>https://dev.to/diksha_sharma15/how-https-authenticates-websites-using-ssltls-3nen</guid>
      <description>&lt;h1&gt;
  
  
  How HTTPS Authenticates Websites Using SSL/TLS 🔐
&lt;/h1&gt;

&lt;p&gt;Every time you open a website like Google, Amazon, or your banking portal, your browser shows a small lock icon beside the URL.&lt;/p&gt;

&lt;p&gt;But have you ever wondered:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;How does the browser actually know the website is genuine?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;How does it verify that nobody is impersonating the server or intercepting your data?&lt;/p&gt;

&lt;p&gt;This is where &lt;strong&gt;HTTPS&lt;/strong&gt; and the &lt;strong&gt;SSL/TLS protocol&lt;/strong&gt; come in.&lt;/p&gt;

&lt;p&gt;In this blog, we’ll break down:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How HTTPS works&lt;/li&gt;
&lt;li&gt;How SSL/TLS authenticates websites&lt;/li&gt;
&lt;li&gt;What certificates actually do&lt;/li&gt;
&lt;li&gt;How browsers establish secure communication&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Let’s dive in.&lt;/p&gt;




&lt;h1&gt;
  
  
  What is HTTPS(port-443)?
&lt;/h1&gt;

&lt;p&gt;HTTPS stands for:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;HyperText Transfer Protocol Secure
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It is the secure version of HTTP(port-80).&lt;/p&gt;

&lt;p&gt;HTTPS uses &lt;strong&gt;SSL/TLS&lt;/strong&gt; to provide:&lt;/p&gt;

&lt;p&gt;Authentication&lt;br&gt;
Encryption&lt;br&gt;
Data Integrity&lt;/p&gt;

&lt;p&gt;Without HTTPS, attackers could perform:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Data Tampering&lt;/li&gt;
&lt;li&gt;Session Hijacking&lt;/li&gt;
&lt;li&gt;MITM: Man-in-the-middle Attack&lt;/li&gt;
&lt;li&gt;SSL Stripping Attack&lt;/li&gt;
&lt;/ul&gt;


&lt;h1&gt;
  
  
  The Main Goal: Authentication
&lt;/h1&gt;

&lt;p&gt;Before your browser sends any sensitive information, it first needs to answer:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Am I really talking to the actual website?”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Is this really &lt;code&gt;amazon.com&lt;/code&gt;?&lt;/li&gt;
&lt;li&gt;Or is it an attacker pretending to be Amazon?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;TLS solves this using &lt;strong&gt;digital certificates&lt;/strong&gt;.&lt;/p&gt;


&lt;h1&gt;
  
  
  The HTTPS Authentication Flow
&lt;/h1&gt;

&lt;p&gt;Let’s understand the process step by step.&lt;/p&gt;

&lt;p&gt;Suppose you open:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;https://amazon.com
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here’s what happens behind the scenes.&lt;/p&gt;




&lt;h1&gt;
  
  
  Step 1: Browser Sends "Client Hello"
&lt;/h1&gt;

&lt;p&gt;Your browser initiates communication by sending:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Client Hello
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This message contains:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Supported TLS versions&lt;/li&gt;
&lt;li&gt;Supported cipher suites&lt;/li&gt;
&lt;li&gt;Encryption algorithms&lt;/li&gt;
&lt;li&gt;A random value&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The browser is basically saying:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Hey server,
here are the security methods I support.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h1&gt;
  
  
  Step 2: Server Responds with Certificate
&lt;/h1&gt;

&lt;p&gt;The server replies with:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Server Hello
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Along with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Chosen encryption method&lt;/li&gt;
&lt;li&gt;TLS certificate&lt;/li&gt;
&lt;li&gt;Public key&lt;/li&gt;
&lt;li&gt;Another random number&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The most important thing here is the:&lt;/p&gt;

&lt;h1&gt;
  
  
  TLS Certificate
&lt;/h1&gt;

&lt;p&gt;Think of it like a digital identity card for the website.&lt;/p&gt;

&lt;p&gt;It contains:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Domain name&lt;/li&gt;
&lt;li&gt;Public key&lt;/li&gt;
&lt;li&gt;Expiry date&lt;/li&gt;
&lt;li&gt;Certificate Authority (CA)&lt;/li&gt;
&lt;li&gt;Digital signature&lt;/li&gt;
&lt;/ul&gt;

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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Domain: amazon.com
Issued By: DigiCert
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h1&gt;
  
  
  Step 3: Browser Verifies the Certificate
&lt;/h1&gt;

&lt;p&gt;This is the actual authentication phase.&lt;/p&gt;

&lt;p&gt;The browser performs several checks.&lt;/p&gt;




&lt;h2&gt;
  
  
  1. Domain Verification
&lt;/h2&gt;

&lt;p&gt;The browser checks:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Does the certificate belong to the website I requested?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;If you visit:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;amazon.com
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;But the certificate says:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;google.com
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The browser blocks the connection immediately.&lt;/p&gt;




&lt;h2&gt;
  
  
  2. Certificate Expiry Check
&lt;/h2&gt;

&lt;p&gt;Certificates have validity periods.&lt;/p&gt;

&lt;p&gt;If the certificate is expired, browsers show warnings like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Your connection is not private
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  3. Certificate Authority Verification
&lt;/h2&gt;

&lt;p&gt;Browsers already trust certain organizations called:&lt;/p&gt;

&lt;h1&gt;
  
  
  Certificate Authorities (CAs)
&lt;/h1&gt;

&lt;p&gt;Examples include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;DigiCert&lt;/li&gt;
&lt;li&gt;Let’s Encrypt&lt;/li&gt;
&lt;li&gt;GlobalSign&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These authorities verify website ownership before issuing certificates.&lt;/p&gt;

&lt;p&gt;The browser verifies:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;whether the CA is trusted&lt;/li&gt;
&lt;li&gt;whether the CA’s digital signature is valid&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If valid:&lt;/p&gt;

&lt;p&gt;The website identity is trusted.&lt;/p&gt;




&lt;h1&gt;
  
  
  How Digital Signatures Work
&lt;/h1&gt;

&lt;p&gt;Certificate Authorities use &lt;strong&gt;asymmetric cryptography&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The CA:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Creates a hash of the certificate&lt;/li&gt;
&lt;li&gt;Encrypts the hash using its private key&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Your browser:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Decrypts the signature using the CA’s public key&lt;/li&gt;
&lt;li&gt;Compares the hashes&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If the hashes match:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the certificate is authentic&lt;/li&gt;
&lt;li&gt;the certificate was not modified&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This proves the website is genuine.&lt;/p&gt;




&lt;h1&gt;
  
  
  Step 4: Secure Key Exchange
&lt;/h1&gt;

&lt;p&gt;Once the website is authenticated, the browser and server establish a shared secret key.&lt;/p&gt;

&lt;p&gt;Modern TLS commonly uses:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Diffie-Hellman&lt;/li&gt;
&lt;li&gt;ECDHE (Elliptic Curve Diffie-Hellman)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This generates a temporary session key.&lt;/p&gt;




&lt;h1&gt;
  
  
  Why TLS Uses Symmetric Encryption Afterwards
&lt;/h1&gt;

&lt;p&gt;Asymmetric encryption is secure but computationally expensive.&lt;/p&gt;

&lt;p&gt;So TLS uses:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Purpose&lt;/th&gt;
&lt;th&gt;Encryption Type&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Authentication&lt;/td&gt;
&lt;td&gt;Asymmetric Encryption&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Data Transfer&lt;/td&gt;
&lt;td&gt;Symmetric Encryption&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;This makes HTTPS secure &lt;em&gt;and&lt;/em&gt; efficient.&lt;/p&gt;




&lt;h1&gt;
  
  
  Step 5: Encrypted Communication Begins
&lt;/h1&gt;

&lt;p&gt;Now both sides share the same session key.&lt;/p&gt;

&lt;p&gt;All communication becomes encrypted:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Passwords&lt;/li&gt;
&lt;li&gt;API requests&lt;/li&gt;
&lt;li&gt;Cookies&lt;/li&gt;
&lt;li&gt;Payment data&lt;/li&gt;
&lt;li&gt;User sessions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Even if attackers capture the traffic, they only see encrypted gibberish.&lt;/p&gt;




&lt;h1&gt;
  
  
  How HTTPS Prevents MITM Attacks
&lt;/h1&gt;

&lt;p&gt;Suppose an attacker tries to intercept traffic and impersonate Amazon.&lt;/p&gt;

&lt;p&gt;To succeed, they would need:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Amazon’s valid certificate&lt;/li&gt;
&lt;li&gt;A trusted CA signature&lt;/li&gt;
&lt;li&gt;Amazon’s private key&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Since they don’t possess these:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;browsers detect fake certificates&lt;/li&gt;
&lt;li&gt;the connection gets blocked&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This prevents:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Man-in-the-Middle (MITM) attacks
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h1&gt;
  
  
  SSL vs TLS
&lt;/h1&gt;

&lt;p&gt;You often hear both SSL and TLS.&lt;/p&gt;

&lt;p&gt;Here’s the difference:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;SSL&lt;/th&gt;
&lt;th&gt;TLS&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Older&lt;/td&gt;
&lt;td&gt;Modern&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Insecure&lt;/td&gt;
&lt;td&gt;Secure&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Deprecated&lt;/td&gt;
&lt;td&gt;Currently used&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Today, HTTPS mainly uses:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;TLS 1.2&lt;/li&gt;
&lt;li&gt;TLS 1.3&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;People still casually say “SSL certificate,” even though modern systems use TLS.&lt;/p&gt;




&lt;h1&gt;
  
  
  What Does the Lock Icon Actually Mean?
&lt;/h1&gt;

&lt;p&gt;That small lock icon means:&lt;/p&gt;

&lt;p&gt;The connection is encrypted&lt;br&gt;
The certificate is valid&lt;br&gt;
The website identity is verified&lt;/p&gt;

&lt;p&gt;It does &lt;strong&gt;not&lt;/strong&gt; guarantee the website itself is safe or trustworthy.&lt;/p&gt;

&lt;p&gt;It only means:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;You are securely connected to the real server.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h1&gt;
  
  
  Final Thoughts
&lt;/h1&gt;

&lt;p&gt;Whenever you open a secure website, your browser performs an entire chain of trust verification within milliseconds.&lt;/p&gt;

&lt;p&gt;HTTPS authentication relies on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Digital certificates&lt;/li&gt;
&lt;li&gt;Certificate Authorities&lt;/li&gt;
&lt;li&gt;Public key cryptography&lt;/li&gt;
&lt;li&gt;Digital signatures&lt;/li&gt;
&lt;li&gt;TLS handshakes&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;That tiny lock icon represents a massive amount of security happening silently in the background.&lt;/p&gt;




&lt;h1&gt;
  
  
  Quick Summary
&lt;/h1&gt;

&lt;p&gt;HTTPS authenticates websites by:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Sending a TLS certificate&lt;/li&gt;
&lt;li&gt;Verifying the certificate&lt;/li&gt;
&lt;li&gt;Validating CA signatures&lt;/li&gt;
&lt;li&gt;Establishing secure session keys&lt;/li&gt;
&lt;li&gt;Encrypting all communication&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This ensures:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Authentication&lt;/li&gt;
&lt;li&gt;Confidentiality&lt;/li&gt;
&lt;li&gt;Integrity&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And that’s how HTTPS secures communication on the internet 🔐&lt;/p&gt;

</description>
      <category>http</category>
      <category>websiteauthentication</category>
      <category>ssl</category>
      <category>tls</category>
    </item>
    <item>
      <title>Ever Wondered What Actually Happens When You Click “Send” on an Email?</title>
      <dc:creator>Diksha Sharma</dc:creator>
      <pubDate>Wed, 27 May 2026 09:28:39 +0000</pubDate>
      <link>https://dev.to/diksha_sharma15/ever-wondered-what-actually-happens-when-you-click-send-on-an-email-1mfj</link>
      <guid>https://dev.to/diksha_sharma15/ever-wondered-what-actually-happens-when-you-click-send-on-an-email-1mfj</guid>
      <description>&lt;p&gt;We send emails every single day.&lt;/p&gt;

&lt;p&gt;A quick message to a friend.&lt;br&gt;
An internship application.&lt;br&gt;
A password reset request.&lt;br&gt;
A late-night “Please find attached” email.&lt;/p&gt;

&lt;p&gt;And honestly, for most of us, sending an email feels incredibly simple:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Open Gmail&lt;/li&gt;
&lt;li&gt;Write the message&lt;/li&gt;
&lt;li&gt;Add the recipient&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Send&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Done.&lt;/p&gt;

&lt;p&gt;But have you ever stopped and wondered:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;“What actually happens after I click that Send button?”&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;How does your email travel across the world in just a few seconds?&lt;br&gt;
How does Gmail know you’re the real sender?&lt;br&gt;
How does Yahoo trust that the email genuinely came from Gmail and not from a hacker pretending to be you?&lt;/p&gt;

&lt;p&gt;Behind that tiny &lt;strong&gt;Send&lt;/strong&gt; button is an entire backend ecosystem quietly working in milliseconds.&lt;/p&gt;

&lt;p&gt;And trust me — it’s way more interesting than it looks.&lt;/p&gt;


&lt;h1&gt;
  
  
  Let’s Take a Real Example
&lt;/h1&gt;

&lt;p&gt;Suppose I send an email from:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;diksha@gmail.com
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;to:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;tom@yahoo.com
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;From my perspective, I just typed a message and clicked Send.&lt;/p&gt;

&lt;p&gt;But in reality, multiple systems, protocols, security checks, DNS servers, and mail servers immediately start working behind the scenes.&lt;/p&gt;

&lt;p&gt;Let’s break down the complete journey of that email.&lt;/p&gt;




&lt;h1&gt;
  
  
  Step 1 — Gmail First Verifies &lt;em&gt;Me&lt;/em&gt;
&lt;/h1&gt;

&lt;p&gt;Before Gmail even sends my email, Google already knows who I am because I logged into my Gmail account earlier.&lt;/p&gt;

&lt;p&gt;When I signed in, Google verified:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;my username and password&lt;/li&gt;
&lt;li&gt;session tokens&lt;/li&gt;
&lt;li&gt;authentication status&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So when I hit Send, Gmail already knows:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;Yes, this is actually Diksha.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is important because otherwise anyone could pretend to be me and send emails from my address.&lt;/p&gt;




&lt;h1&gt;
  
  
  Step 2 — Gmail’s SMTP Server Takes Over
&lt;/h1&gt;

&lt;p&gt;The moment I press Send, Gmail hands my email to its SMTP server:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;smtp.gmail.com
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;SMTP stands for:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;Simple Mail Transfer Protocol
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Think of SMTP as the internet’s digital post office.&lt;/p&gt;

&lt;p&gt;Its job is to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;send emails&lt;/li&gt;
&lt;li&gt;route emails&lt;/li&gt;
&lt;li&gt;relay emails between mail servers&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;At this point, Gmail starts preparing my email for delivery.&lt;/p&gt;




&lt;h1&gt;
  
  
  Step 3 — Hidden Email Headers Are Added
&lt;/h1&gt;

&lt;p&gt;Now Gmail secretly adds metadata to the email.&lt;/p&gt;

&lt;p&gt;Things like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;sender address&lt;/li&gt;
&lt;li&gt;receiver address&lt;/li&gt;
&lt;li&gt;timestamps&lt;/li&gt;
&lt;li&gt;routing information&lt;/li&gt;
&lt;li&gt;message identifiers&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;From: diksha@gmail.com
To: tom@yahoo.com
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;These headers help email servers understand:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;where the email came from&lt;/li&gt;
&lt;li&gt;where it should go&lt;/li&gt;
&lt;li&gt;how it should be processed&lt;/li&gt;
&lt;/ul&gt;




&lt;h1&gt;
  
  
  Step 4 — Gmail Digitally Signs the Email
&lt;/h1&gt;

&lt;p&gt;Now comes one of the coolest parts.&lt;/p&gt;

&lt;p&gt;Gmail adds something called a:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;DKIM Signature
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is basically a digital signature added using cryptography.&lt;/p&gt;

&lt;p&gt;Imagine Google placing an official tamper-proof stamp on the email saying:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Yes, this email genuinely came from us.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This signature helps prove:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the email is authentic&lt;/li&gt;
&lt;li&gt;the message wasn’t modified during transit&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If even one word changes while traveling across the internet, the signature breaks.&lt;/p&gt;




&lt;h1&gt;
  
  
  Step 5 — Gmail Needs to Find Yahoo’s Mail Server
&lt;/h1&gt;

&lt;p&gt;Now Gmail asks:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Where should I deliver this email?”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It looks at the recipient address:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;tom@yahoo.com
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;and extracts:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;yahoo.com
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;But computers don’t understand names like humans do.&lt;/p&gt;

&lt;p&gt;They need server information.&lt;/p&gt;

&lt;p&gt;So Gmail performs a DNS lookup.&lt;/p&gt;




&lt;h1&gt;
  
  
  Step 6 — DNS and MX Records Come Into Play
&lt;/h1&gt;

&lt;p&gt;DNS is basically the internet’s phonebook.&lt;/p&gt;

&lt;p&gt;Gmail asks DNS:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Which mail server handles emails for yahoo.com?”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;DNS checks something called an:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;MX Record
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;and replies with Yahoo’s mail server details.&lt;/p&gt;

&lt;p&gt;Something like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;yahoo.com MX 10 mta5.am0.yahoodns.net
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Meaning:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Send Yahoo emails here.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Now Gmail knows exactly where to deliver the email.&lt;/p&gt;




&lt;h1&gt;
  
  
  Step 7 — The Email Travels Across the Internet
&lt;/h1&gt;

&lt;p&gt;Now the actual journey begins.&lt;/p&gt;

&lt;p&gt;The email:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;gets broken into packets&lt;/li&gt;
&lt;li&gt;travels through routers&lt;/li&gt;
&lt;li&gt;crosses ISPs and networks&lt;/li&gt;
&lt;li&gt;moves across multiple systems&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;all within seconds.&lt;/p&gt;

&lt;p&gt;Eventually, it reaches Yahoo’s mail server.&lt;/p&gt;

&lt;p&gt;But here’s the important part:&lt;/p&gt;

&lt;p&gt;Yahoo does &lt;strong&gt;NOT&lt;/strong&gt; blindly trust the email.&lt;/p&gt;

&lt;p&gt;And this is where cybersecurity becomes extremely important.&lt;/p&gt;




&lt;h1&gt;
  
  
  Step 8 — Yahoo Starts Verifying the Email
&lt;/h1&gt;

&lt;p&gt;Yahoo now asks:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Did this email really come from Gmail?”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Because attackers constantly try to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;spoof emails&lt;/li&gt;
&lt;li&gt;send phishing emails&lt;/li&gt;
&lt;li&gt;impersonate trusted domains&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So Yahoo performs multiple security checks.&lt;/p&gt;




&lt;h1&gt;
  
  
  SPF Verification
&lt;/h1&gt;

&lt;p&gt;First, Yahoo checks something called:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;SPF
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;SPF stands for:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;Sender Policy Framework
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This tells Yahoo:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Which servers are allowed to send emails for gmail.com?”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Yahoo checks Gmail’s DNS SPF record.&lt;/p&gt;

&lt;p&gt;If the sending server is officially authorized:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; SPF PASS&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Otherwise:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; SPF FAIL&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This helps prevent fake mail servers from impersonating Gmail.&lt;/p&gt;




&lt;h1&gt;
  
  
  DKIM Verification
&lt;/h1&gt;

&lt;p&gt;Next, Yahoo verifies the DKIM signature added earlier.&lt;/p&gt;

&lt;p&gt;It:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;retrieves Gmail’s public key from DNS&lt;/li&gt;
&lt;li&gt;validates the signature&lt;/li&gt;
&lt;li&gt;checks whether the email was modified&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If valid:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; DKIM PASS&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If tampered:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; DKIM FAIL&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This ensures email integrity.&lt;/p&gt;




&lt;h1&gt;
  
  
  DMARC — The Final Decision Maker
&lt;/h1&gt;

&lt;p&gt;Now Yahoo checks:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;DMARC
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;DMARC basically tells receiving servers:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“What should you do if SPF or DKIM fails?”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The policy may say:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;allow&lt;/li&gt;
&lt;li&gt;quarantine&lt;/li&gt;
&lt;li&gt;reject&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;v&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;DMARC1&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nv"&gt;p&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;reject
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;means:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Reject unauthenticated emails.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;An example of sample promotional mail:&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fda2hrimxm9k13k8m6ipz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fda2hrimxm9k13k8m6ipz.png" alt=" " width="799" height="353"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is one of the biggest protections against phishing and spoofing today.&lt;/p&gt;




&lt;h1&gt;
  
  
  Step 9 — Spam and Malware Detection
&lt;/h1&gt;

&lt;p&gt;Even if authentication passes, Yahoo still scans the email for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;suspicious links&lt;/li&gt;
&lt;li&gt;malware attachments&lt;/li&gt;
&lt;li&gt;phishing keywords&lt;/li&gt;
&lt;li&gt;sender reputation&lt;/li&gt;
&lt;li&gt;blacklists&lt;/li&gt;
&lt;li&gt;spam behavior&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Modern email systems even use:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AI-based spam filtering&lt;/li&gt;
&lt;li&gt;behavioral analysis&lt;/li&gt;
&lt;li&gt;threat intelligence&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;to detect malicious emails.&lt;/p&gt;




&lt;h1&gt;
  
  
  Step 10 — Inbox, Spam, or Rejection
&lt;/h1&gt;

&lt;p&gt;Finally, Yahoo decides:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Result&lt;/th&gt;
&lt;th&gt;Action&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Trusted&lt;/td&gt;
&lt;td&gt;Inbox&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Suspicious&lt;/td&gt;
&lt;td&gt;Spam&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Dangerous&lt;/td&gt;
&lt;td&gt;Rejected&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Only after passing all these checks does the email finally appear inside Tom’s inbox.&lt;/p&gt;




&lt;h1&gt;
  
  
  But Wait… How Does Tom Read the Email?
&lt;/h1&gt;

&lt;p&gt;Now Tom opens Yahoo Mail.&lt;/p&gt;

&lt;p&gt;At this stage:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;IMAP
or&lt;/li&gt;
&lt;li&gt;POP3&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;comes into the picture.&lt;/p&gt;




&lt;h1&gt;
  
  
  IMAP vs POP3
&lt;/h1&gt;

&lt;h2&gt;
  
  
  IMAP
&lt;/h2&gt;

&lt;p&gt;IMAP keeps emails synced across devices.&lt;/p&gt;

&lt;p&gt;So if Tom reads the email on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;laptop&lt;/li&gt;
&lt;li&gt;phone&lt;/li&gt;
&lt;li&gt;tablet&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;everything stays synchronized.&lt;/p&gt;




&lt;h2&gt;
  
  
  POP3
&lt;/h2&gt;

&lt;p&gt;POP3 downloads emails locally to one device.&lt;/p&gt;

&lt;p&gt;Older systems used this more often.&lt;/p&gt;

&lt;p&gt;Today, IMAP is much more common.&lt;/p&gt;

&lt;h1&gt;
  
  
  The Most Interesting Part?
&lt;/h1&gt;

&lt;p&gt;All of this happens in just a few seconds.&lt;/p&gt;

&lt;p&gt;What feels like a simple “Send” button is actually:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;cryptography&lt;/li&gt;
&lt;li&gt;DNS infrastructure&lt;/li&gt;
&lt;li&gt;server-to-server communication&lt;/li&gt;
&lt;li&gt;authentication&lt;/li&gt;
&lt;li&gt;threat detection&lt;/li&gt;
&lt;li&gt;internet routing&lt;/li&gt;
&lt;li&gt;mailbox synchronization&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;working together silently in the background.&lt;/p&gt;

&lt;p&gt;And honestly, once you understand how email works, you’ll never look at your inbox the same way again.&lt;/p&gt;

</description>
      <category>email</category>
      <category>emailcycle</category>
      <category>emailsecurity</category>
    </item>
    <item>
      <title>I Finally Understood Elasticsearch After Thinking About Libraries</title>
      <dc:creator>Diksha Sharma</dc:creator>
      <pubDate>Fri, 22 May 2026 07:42:15 +0000</pubDate>
      <link>https://dev.to/diksha_sharma15/i-finally-understood-elasticsearch-after-thinking-about-libraries-1jhh</link>
      <guid>https://dev.to/diksha_sharma15/i-finally-understood-elasticsearch-after-thinking-about-libraries-1jhh</guid>
      <description>&lt;p&gt;Imagine Elasticsearch as a huge digital library system, and Apache Lucene as the high-performance search engine library working behind the scenes. Elasticsearch is built on top of Lucene to provide distributed storage and extremely fast searching capabilities.&lt;/p&gt;

&lt;p&gt;A library contains different corners or sections based on genres like cybersecurity, history, fiction, science, etc. Similarly, Elasticsearch contains &lt;strong&gt;indexes&lt;/strong&gt;, where each index stores a collection of similar types of data.&lt;/p&gt;

&lt;p&gt;Inside those sections, shelves contain books. In Elasticsearch, indexes contain &lt;strong&gt;documents&lt;/strong&gt;, which are the actual units of stored data.&lt;/p&gt;

&lt;p&gt;Now imagine a librarian helping visitors search for books. That librarian is similar to a &lt;strong&gt;node&lt;/strong&gt; in Elasticsearch.&lt;/p&gt;

&lt;p&gt;Technically, a node is a system/server running Elasticsearch that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;stores data&lt;/li&gt;
&lt;li&gt;processes requests&lt;/li&gt;
&lt;li&gt;searches data&lt;/li&gt;
&lt;li&gt;communicates with other nodes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Logically:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Library system → Elasticsearch Cluster&lt;/li&gt;
&lt;li&gt;Genre section → Index&lt;/li&gt;
&lt;li&gt;Book → Document&lt;/li&gt;
&lt;li&gt;Librarian/server → Node&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now imagine the library becomes extremely large and suddenly 50 visitors arrive at the same time. If only one librarian is responsible for searching every book requested by all 50 visitors, the process becomes very slow and inefficient.&lt;/p&gt;

&lt;p&gt;To solve this problem, the library divides the books into smaller portions and distributes them across multiple librarians. In Elasticsearch, this concept is called &lt;strong&gt;sharding&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;A &lt;strong&gt;shard&lt;/strong&gt; is a smaller partition of an index. Instead of storing the entire index on one node:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Elasticsearch splits the data into shards&lt;/li&gt;
&lt;li&gt;distributes those shards across multiple nodes&lt;/li&gt;
&lt;li&gt;allows searches to happen in parallel&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This improves:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;performance&lt;/li&gt;
&lt;li&gt;scalability&lt;/li&gt;
&lt;li&gt;speed&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Elasticsearch also creates &lt;strong&gt;replica shards&lt;/strong&gt;, which are copies of primary shards. Replica shards help with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;fault tolerance&lt;/li&gt;
&lt;li&gt;high availability&lt;/li&gt;
&lt;li&gt;faster searching&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So, shards can be distributed across multiple nodes, and all nodes work together as part of a &lt;strong&gt;cluster&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;If one node contains information related to a search request, it communicates with other nodes internally to retrieve or share data. This node-to-node communication happens through the &lt;strong&gt;transport interface&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Elasticsearch nodes communicate using two interfaces:&lt;/p&gt;




&lt;h2&gt;
  
  
  1) HTTP Interface (Port 9200)
&lt;/h2&gt;

&lt;p&gt;Used by:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;clients&lt;/li&gt;
&lt;li&gt;applications&lt;/li&gt;
&lt;li&gt;Postman&lt;/li&gt;
&lt;li&gt;curl&lt;/li&gt;
&lt;li&gt;Kibana&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;to interact with Elasticsearch.&lt;/p&gt;

&lt;p&gt;When a client sends a request:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the node receiving the request becomes the &lt;strong&gt;coordinating node&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;this node manages and routes the request internally&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The coordinating node checks:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;which shard contains the required data&lt;/li&gt;
&lt;li&gt;which node contains that shard&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Then, the request is sent to other nodes through the transport layer using TCP communication on port &lt;code&gt;9300&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Each node searches its own shards in parallel, and the results are returned back to the coordinating node, which merges the responses and sends the final result back to the client through the HTTP interface on port &lt;code&gt;9200&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Important:&lt;br&gt;
Any node in Elasticsearch can act as a coordinating node.&lt;/p&gt;


&lt;h2&gt;
  
  
  2) Transport Interface (Port 9300)
&lt;/h2&gt;

&lt;p&gt;Used internally by Elasticsearch nodes for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;node-to-node communication&lt;/li&gt;
&lt;li&gt;shard coordination&lt;/li&gt;
&lt;li&gt;replication&lt;/li&gt;
&lt;li&gt;cluster communication&lt;/li&gt;
&lt;li&gt;remote cluster communication&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This communication happens using a high-performance binary TCP protocol.&lt;/p&gt;



&lt;p&gt;There is also an important concept called &lt;strong&gt;binding address&lt;/strong&gt; and &lt;strong&gt;publish address&lt;/strong&gt;.&lt;/p&gt;
&lt;h3&gt;
  
  
  Binding Address
&lt;/h3&gt;

&lt;p&gt;Defines where Elasticsearch listens for incoming traffic.&lt;/p&gt;

&lt;p&gt;In simple words:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Which IP + port should Elasticsearch accept connections on?”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;When Elasticsearch starts, it tells the operating system:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Send incoming traffic for this IP and port to me.”&lt;/p&gt;
&lt;/blockquote&gt;


&lt;h3&gt;
  
  
  Publish Address
&lt;/h3&gt;

&lt;p&gt;Defines the address Elasticsearch shares with other nodes and clients.&lt;/p&gt;

&lt;p&gt;In simple words:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Which address should other nodes use to communicate with me?”&lt;/p&gt;
&lt;/blockquote&gt;



&lt;p&gt;Now, how is Elasticsearch optimized for extremely fast searching?&lt;/p&gt;

&lt;p&gt;Suppose you search:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;"I love cybersecurity"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Elasticsearch does not scan every document one by one.&lt;/p&gt;

&lt;p&gt;Instead, when new data is stored, Elasticsearch:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;breaks text into smaller tokens/words&lt;/li&gt;
&lt;li&gt;creates an &lt;strong&gt;inverted index&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;An inverted index stores mappings like:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Word&lt;/th&gt;
&lt;th&gt;Documents&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;love&lt;/td&gt;
&lt;td&gt;Doc1, Doc7&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;cybersecurity&lt;/td&gt;
&lt;td&gt;Doc1, Doc3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;elasticsearch&lt;/td&gt;
&lt;td&gt;Doc2, Doc5&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;So instead of checking every document during a search, Elasticsearch directly jumps to the documents containing the required tokens.&lt;/p&gt;

&lt;p&gt;This is one of the major reasons why Elasticsearch is extremely fast and scalable even when handling massive amounts of data.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>database</category>
      <category>learning</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>🚨 Understanding Threat Intelligence: From Raw Data to Meaningful Insights</title>
      <dc:creator>Diksha Sharma</dc:creator>
      <pubDate>Sat, 11 Apr 2026 16:29:40 +0000</pubDate>
      <link>https://dev.to/diksha_sharma15/understanding-threat-intelligence-from-raw-data-to-meaningful-insights-3b0n</link>
      <guid>https://dev.to/diksha_sharma15/understanding-threat-intelligence-from-raw-data-to-meaningful-insights-3b0n</guid>
      <description>&lt;p&gt;Recently, I tried to understand how cybersecurity teams actually figure out if something is truly dangerous on the internet, and not just rely on one source of information.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;To explore this, I built a small system where I collected suspicious data (like IP addresses, urls,domains,etc.) from multiple platforms such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;VirusTotal&lt;/li&gt;
&lt;li&gt;AbuseIPDB&lt;/li&gt;
&lt;li&gt;AlienVault OTX&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each of these platforms provides its own perspective on whether something is harmful or not.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Reality of Data: It’s Messy
&lt;/h2&gt;

&lt;p&gt;At first, it seemed simple — just collect the data.&lt;/p&gt;

&lt;p&gt;But very quickly, I realized that the data comes in different formats and is quite messy:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Different structures&lt;/li&gt;
&lt;li&gt;Nested JSON responses&lt;/li&gt;
&lt;li&gt;Inconsistent field names&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To handle this, I used a &lt;strong&gt;Python script&lt;/strong&gt; to parse and clean the data:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Extracted relevant fields&lt;/li&gt;
&lt;li&gt;Standardized the structure&lt;/li&gt;
&lt;li&gt;Made the data usable for further analysis&lt;/li&gt;
&lt;/ul&gt;

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

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

&lt;p&gt;This step turned out to be one of the most important parts of the entire process.&lt;/p&gt;

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

&lt;h2&gt;
  
  
  From Data to Insights
&lt;/h2&gt;

&lt;p&gt;Once everything was structured, I stored it in a system (similar to what security teams use) and created dashboards to analyze it.&lt;/p&gt;

&lt;p&gt;This helped me:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Compare what different platforms were saying about the same suspicious item&lt;/li&gt;
&lt;li&gt;Identify patterns across multiple sources&lt;/li&gt;
&lt;li&gt;Understand which indicators were more likely to be malicious&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmciratdeedwzh2am7195.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmciratdeedwzh2am7195.png" alt=" " width="800" height="427"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyqzcc90g8wagiylh5hy5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyqzcc90g8wagiylh5hy5.png" alt=" " width="800" height="249"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Insight
&lt;/h2&gt;

&lt;p&gt;One source saying something is suspicious doesn’t mean much.&lt;/p&gt;

&lt;p&gt;But when multiple trusted sources say the same thing, it becomes much more reliable.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Changed for Me
&lt;/h2&gt;

&lt;p&gt;This experience really changed how I think:&lt;/p&gt;

&lt;p&gt;From:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Just collecting data&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Understanding patterns&lt;/li&gt;
&lt;li&gt;Connecting multiple data points&lt;/li&gt;
&lt;li&gt;Making better, informed decisions&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  My Thoughts
&lt;/h2&gt;

&lt;p&gt;Cybersecurity is not just about tools — it’s about how you interpret and connect data.&lt;/p&gt;

&lt;p&gt;This small practice helped me understand how raw information can be transformed into meaningful insights, which is exactly how modern SOC teams operate.&lt;/p&gt;




&lt;p&gt;💬 If you’re exploring cybersecurity, I’d love to hear your thoughts or approaches!&lt;/p&gt;

</description>
      <category>security</category>
      <category>socengineering</category>
      <category>cybersecurity</category>
      <category>threatintelligence</category>
    </item>
  </channel>
</rss>
