<?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: Sveta.exe</title>
    <description>The latest articles on DEV Community by Sveta.exe (@c_d_a7c10b4d6f6aa68be7495).</description>
    <link>https://dev.to/c_d_a7c10b4d6f6aa68be7495</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%2F3139090%2F63735abb-1d18-4f21-bb76-2111bf0e6eaa.jpeg</url>
      <title>DEV Community: Sveta.exe</title>
      <link>https://dev.to/c_d_a7c10b4d6f6aa68be7495</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/c_d_a7c10b4d6f6aa68be7495"/>
    <language>en</language>
    <item>
      <title>🔒 What Actually Happens When You Visit an HTTPS Website?</title>
      <dc:creator>Sveta.exe</dc:creator>
      <pubDate>Sun, 25 May 2025 19:05:04 +0000</pubDate>
      <link>https://dev.to/c_d_a7c10b4d6f6aa68be7495/what-actually-happens-when-you-visit-an-https-website-37l8</link>
      <guid>https://dev.to/c_d_a7c10b4d6f6aa68be7495/what-actually-happens-when-you-visit-an-https-website-37l8</guid>
      <description>&lt;p&gt;After my last post on HTTP unexpectedly popped off (who knew headers were hot??💀), I figured we’d keep the beginner-friendly vibe going — but turn up the 🔐 &lt;strong&gt;security&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Let’s talk about HTTPS.&lt;/p&gt;

&lt;p&gt;Everyone knows the little lock icon in your browser means “secure,” but what does that &lt;em&gt;actually&lt;/em&gt; mean? What’s really happening when you type in a URL and hit Enter?&lt;/p&gt;

&lt;p&gt;Let’s break it down like we’re on a mission.&lt;/p&gt;




&lt;h3&gt;
  
  
  📦 A Secret Agent Mission Analogy (TLS Handshake, but fun)
&lt;/h3&gt;

&lt;p&gt;Let’s say your browser is a secret agent 🕵️‍♀️ who needs to deliver a message to a mysterious organization (the website), but they need to be sure:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;It’s really them (not an impostor)&lt;/li&gt;
&lt;li&gt;The message doesn’t get intercepted&lt;/li&gt;
&lt;li&gt;They both use a secure code language no one else knows&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That’s the &lt;strong&gt;TLS handshake&lt;/strong&gt; — a spy-style trust test with keys, signals, and double-checks.&lt;/p&gt;

&lt;p&gt;Here’s what happens step by step:&lt;br&gt;
(We’ll skip over DNS for now — that’s a whole conversation by itself, and spoiler alert: it’s coming in my next post 👀)&lt;/p&gt;




&lt;h3&gt;
  
  
  🧷 Step 1: You (the browser) say hello.
&lt;/h3&gt;

&lt;p&gt;Your browser reaches out and says:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Hey &lt;a href="https://some_website.com" rel="noopener noreferrer"&gt;https://some_website.com&lt;/a&gt;, I wanna start a secure chat. Here are the encryption methods I support."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This is the &lt;strong&gt;Client Hello&lt;/strong&gt;. It includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Supported encryption algorithms&lt;/li&gt;
&lt;li&gt;Random values for key generation&lt;/li&gt;
&lt;li&gt;TLS version&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  📜 Step 2: The server says hello back + shows ID.
&lt;/h3&gt;

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

&lt;blockquote&gt;
&lt;p&gt;"Cool. I picked this encryption method. Here’s my certificate from a trusted source to prove I’m the real some_website.com."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This is the &lt;strong&gt;Server Hello&lt;/strong&gt; and &lt;strong&gt;certificate&lt;/strong&gt;. It includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Server’s digital certificate (issued by a Certificate Authority)&lt;/li&gt;
&lt;li&gt;Server’s chosen encryption method&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Your browser checks the certificate and verifies it against trusted CAs. (also a subject for my next post😈)&lt;/p&gt;




&lt;h3&gt;
  
  
  🔑 Step 3: Secret exchange (but make it safe)
&lt;/h3&gt;

&lt;p&gt;Your browser generates a &lt;strong&gt;pre-master secret&lt;/strong&gt;, encrypts it using the server’s public key (from the certificate), and sends it back.&lt;/p&gt;

&lt;p&gt;Only the server can decrypt this because it has the private key. Now both of you can independently generate the &lt;strong&gt;same session key&lt;/strong&gt; used to encrypt your data.&lt;/p&gt;




&lt;h3&gt;
  
  
  🔒 Step 4: Secure connection begins
&lt;/h3&gt;

&lt;p&gt;Once keys are in place:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;🔐 "Okay! We both have the same secret now. Let’s talk privately."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;From now on, all messages are encrypted with the shared session key.&lt;/p&gt;

&lt;p&gt;No eavesdropping. No tampering. No &lt;strong&gt;cap&lt;/strong&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%2Fbgpp5y7o9duom0ibjczy.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%2Fbgpp5y7o9duom0ibjczy.png" alt="TLS handshake" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  ✅ Re*&lt;em&gt;cap&lt;/em&gt;* (TLS Handshake in Simple Terms)
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Step&lt;/th&gt;
&lt;th&gt;What Happens&lt;/th&gt;
&lt;th&gt;Secret Agent Analogy&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;Client Hello&lt;/td&gt;
&lt;td&gt;Agent contacts HQ, says what ciphers they can use&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;Server Hello + Cert&lt;/td&gt;
&lt;td&gt;HQ replies, confirms identity with ID papers signed by trusted agency&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;Key Exchange&lt;/td&gt;
&lt;td&gt;Agent sends secret passphrase encrypted so only HQ can read it&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;Encrypted Session&lt;/td&gt;
&lt;td&gt;They now talk using their new shared code — no one else understands it 😎&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h3&gt;
  
  
  🧠 Why It Matters (the &lt;strong&gt;big 3&lt;/strong&gt; of information security)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Privacy&lt;/strong&gt;: Nobody else can read the messages&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Integrity&lt;/strong&gt;: Nobody can change them without being noticed&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Authentication&lt;/strong&gt;: You know the server is who it claims to be&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All of this happens in milliseconds. Every time. And now, you know what's really going on under that little 🔒 icon.&lt;br&gt;
  P.S. I personally think it’s very cute that my browser and some distant server are out here shaking their imaginary binary hands just to protect my data 🥹🤝💻&lt;/p&gt;

</description>
      <category>http</category>
      <category>web</category>
      <category>beginners</category>
      <category>learning</category>
    </item>
    <item>
      <title>💾 RAID Isn’t Just a Fancy Acronym – Why Storage Isn’t Boring</title>
      <dc:creator>Sveta.exe</dc:creator>
      <pubDate>Sun, 18 May 2025 19:28:48 +0000</pubDate>
      <link>https://dev.to/c_d_a7c10b4d6f6aa68be7495/raid-isnt-just-a-fancy-acronym-why-storage-isnt-boring-1ifc</link>
      <guid>https://dev.to/c_d_a7c10b4d6f6aa68be7495/raid-isnt-just-a-fancy-acronym-why-storage-isnt-boring-1ifc</guid>
      <description>&lt;p&gt;So I fell into a storage rabbit hole today — and somehow, it was actually… fun? 😅&lt;br&gt;
Let me introduce you to &lt;strong&gt;RAID&lt;/strong&gt; — a word that sounds like a boss fight but actually stands for &lt;strong&gt;Redundant Array of Independent Disks&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Basically, RAID is what you use when:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You want your data to survive a hard drive dying (RAID 1 vibes)&lt;/li&gt;
&lt;li&gt;You want things to be super fast (RAID 0 zoom zoom)&lt;/li&gt;
&lt;li&gt;Or you’re an enterprise sysadmin trying not to lose 10TB of customer data on a Monday morning&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In this post, I’ll explain how RAID works, break down the most popular types — &lt;strong&gt;RAID 0, 1, 5, 6, 10, and 01&lt;/strong&gt; — and when you’d actually use them.&lt;/p&gt;




&lt;h3&gt;
  
  
  📦 What Is RAID (Actually)?
&lt;/h3&gt;

&lt;p&gt;RAID combines multiple physical drives into one logical volume to improve &lt;strong&gt;performance&lt;/strong&gt;, &lt;strong&gt;fault tolerance&lt;/strong&gt;, or both.&lt;/p&gt;

&lt;p&gt;There are two main types:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Hardware RAID&lt;/strong&gt; — handled by a dedicated controller&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Software RAID&lt;/strong&gt; — managed by the OS (e.g. Linux &lt;code&gt;mdadm&lt;/code&gt;, ZFS, or Windows tools)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Different RAID levels give different trade-offs. Let’s go through the main ones:&lt;/p&gt;




&lt;h3&gt;
  
  
  ⚡ RAID 0 – Striping
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Performance only, no redundancy.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;RAID 0 splits ("stripes") your data across two or more drives. So if you’re saving a file, part of it goes on Disk A, part on Disk B, and so on. This makes read/write speeds super fast because the system can access data from multiple disks at once.&lt;/p&gt;

&lt;p&gt;🚨 But: there's no backup. If even &lt;em&gt;one&lt;/em&gt; disk fails, you lose &lt;em&gt;everything&lt;/em&gt; — because no disk holds the full picture.&lt;/p&gt;

&lt;p&gt;👩‍💻 Use it for: scratch disks, temporary files, gaming PCs scratch disks, temporary files, gaming PCs&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%2Fu49tqxzdsqn5degqmw85.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%2Fu49tqxzdsqn5degqmw85.png" alt="RAID0 diagram" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  🛡️ RAID 1 – Mirroring
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Redundancy, but no performance boost.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;RAID 1 copies ("mirrors") the exact same data to two or more disks. So every file you save is written identically on all drives in the array. If one disk dies, the other(s) have your back.&lt;/p&gt;

&lt;p&gt;Performance isn’t better than a single disk, but reliability is great.&lt;/p&gt;

&lt;p&gt;👩‍💻 Use it for: small business servers, boot drives, anything critical&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%2F6r4swsxijq92dgxhwnyk.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%2F6r4swsxijq92dgxhwnyk.png" alt="RAID1 diagram" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  ⚙️ RAID 5 – Striping with Parity
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Balanced performance and fault tolerance.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;RAID 5 splits your data across all drives (like RAID 0), &lt;em&gt;and&lt;/em&gt; also calculates a special bit of data called &lt;strong&gt;parity&lt;/strong&gt;. That parity info is spread out too, and can be used to rebuild data if one disk dies.&lt;/p&gt;

&lt;p&gt;It needs at least 3 disks: two to hold data, one for parity (though the parity is distributed). Reads are fast, and writes are decent.&lt;/p&gt;

&lt;p&gt;🕳️ &lt;strong&gt;Write Hole Warning:&lt;/strong&gt;&lt;br&gt;
RAID 5 can suffer from something called a &lt;strong&gt;write hole&lt;/strong&gt;, where the data and its parity get out of sync due to an unexpected power loss or system crash during a write. This can cause corruption that RAID can’t fix. Some systems mitigate this with battery-backed cache or journaling.&lt;/p&gt;

&lt;p&gt;👩‍💻 Use it for: NAS systems, mid-size production servers NAS systems, mid-size production servers NAS systems, mid-size production servers&lt;/p&gt;




&lt;h3&gt;
  
  
  🧷 RAID 6 – Striping with Double Parity
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Like RAID 5, but safer.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;RAID 6 is just like RAID 5, but instead of one parity block, it uses &lt;em&gt;two&lt;/em&gt;. That means it can survive &lt;strong&gt;two&lt;/strong&gt; disk failures instead of one.&lt;/p&gt;

&lt;p&gt;This adds more fault tolerance but slows down write performance a bit since more calculations are needed.&lt;/p&gt;

&lt;p&gt;👩‍💻 Use it for: critical storage where uptime matters critical storage where uptime matters&lt;/p&gt;




&lt;h3&gt;
  
  
  🔀 RAID 10 (1+0) – Mirror + Stripe
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Fast and fault-tolerant.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;RAID 10 first mirrors your data (like RAID 1), then stripes it (like RAID 0). So you get the best of both: redundancy and speed.&lt;/p&gt;

&lt;p&gt;It needs an even number of disks, minimum 4. If one disk in each mirrored pair fails, you’re still safe. But if both disks in a mirrored pair fail, then 💀.&lt;/p&gt;

&lt;p&gt;👩‍💻 Use it for: databases, high-load systems databases, high-load systems&lt;/p&gt;




&lt;h3&gt;
  
  
  🧩 RAID 01 (0+1) – Stripe + Mirror
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Similar to RAID 10, but riskier.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;RAID 01 stripes first, then mirrors. So you create one striped set of drives (like RAID 0), and then clone that entire set onto another.&lt;/p&gt;

&lt;p&gt;Sounds similar to RAID 10, but it’s more fragile: if one drive in the stripe fails, the whole stripe is lost — meaning one entire half of the mirror is gone. One more failure, and you’re done.&lt;/p&gt;

&lt;p&gt;👩‍💻 Use it for: legacy setups (but RAID 10 is usually better) legacy setups (but RAID 10 is usually better)&lt;/p&gt;




&lt;p&gt;That’s it for my RAID brain-dump! Hopefully now if someone says "RAID 10 is better than RAID 01" you’ll actually know why 😌📀&lt;/p&gt;

</description>
      <category>linux</category>
      <category>systems</category>
      <category>learning</category>
    </item>
    <item>
      <title>🛠️ Weekly Dev Recap – Automation, File Chaos &amp; A Laptop Crying for Help</title>
      <dc:creator>Sveta.exe</dc:creator>
      <pubDate>Fri, 16 May 2025 15:39:14 +0000</pubDate>
      <link>https://dev.to/c_d_a7c10b4d6f6aa68be7495/weekly-dev-recap-automation-file-chaos-a-laptop-crying-for-help-5f88</link>
      <guid>https://dev.to/c_d_a7c10b4d6f6aa68be7495/weekly-dev-recap-automation-file-chaos-a-laptop-crying-for-help-5f88</guid>
      <description>&lt;p&gt;Heyo 👋 This week was &lt;em&gt;light&lt;/em&gt; on work and &lt;em&gt;heavy&lt;/em&gt; on chaos, so here’s what I’ve been up to:&lt;/p&gt;

&lt;h3&gt;
  
  
  🤖 Learning: Automation Testing 101
&lt;/h3&gt;

&lt;p&gt;Since things were quiet on the project side, I focused on learning the tools behind &lt;strong&gt;automation testing&lt;/strong&gt; — and ended up drafting a testing strategy we could actually use in our company.&lt;/p&gt;

&lt;p&gt;I was mostly exploring new tools like &lt;strong&gt;SonarQube&lt;/strong&gt; (which I already knew a bit from uni), &lt;strong&gt;Azure DevOps&lt;/strong&gt;, &lt;strong&gt;Jenkins&lt;/strong&gt;, and &lt;strong&gt;Applitools&lt;/strong&gt;. The goal was to understand how they work, how they can fit into our workflow, and where we can start.&lt;/p&gt;

&lt;p&gt;Right now, we don’t use any test automation at all, so I tried to come up with a solid starting plan — and my team lead actually &lt;strong&gt;approved&lt;/strong&gt; it! Yay 🎉&lt;/p&gt;




&lt;h3&gt;
  
  
  📦 Work: Transferring ~20k Server Files (Help.)
&lt;/h3&gt;

&lt;p&gt;So we had to migrate &lt;em&gt;all&lt;/em&gt; our server files to a different domain this week. No big deal, just around &lt;strong&gt;20,000 files&lt;/strong&gt;.&lt;br&gt;
That’s not a typo. Twenty. Thousand.&lt;/p&gt;

&lt;p&gt;Let me tell you:&lt;br&gt;
🧠 Me: “This is fine.”&lt;br&gt;
💻 My laptop: &lt;em&gt;wheezes in fan noise&lt;/em&gt;&lt;br&gt;
⌛ ETA: “Forever. Maybe longer.”&lt;/p&gt;

&lt;p&gt;It eventually finished. I survived. The files (mostly) made it. But for real — next time I’m scripting everything or rage-quitting IT.&lt;/p&gt;




&lt;h3&gt;
  
  
  🧘‍♀️ Vibe Check
&lt;/h3&gt;

&lt;p&gt;Chill week overall, with a nice balance of ✍️ strategy work and 😵‍💫 minor breakdowns over file transfers.&lt;/p&gt;

&lt;p&gt;If you’re also deep in automation or digital janitor mode, I feel you. We’re out here doing our best. See you next week 💅&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Why Your App Breaks and Hackers Laugh: A Real Talk on HTTP</title>
      <dc:creator>Sveta.exe</dc:creator>
      <pubDate>Fri, 16 May 2025 14:56:39 +0000</pubDate>
      <link>https://dev.to/c_d_a7c10b4d6f6aa68be7495/why-your-app-breaks-and-hackers-laugh-a-real-talk-on-http-4b0</link>
      <guid>https://dev.to/c_d_a7c10b4d6f6aa68be7495/why-your-app-breaks-and-hackers-laugh-a-real-talk-on-http-4b0</guid>
      <description>&lt;p&gt;I used to think HTTP was just that thing before the 'S' in HTTPS. Then I broke my own login form with a missing header and learned the hard way: &lt;strong&gt;if you don’t understand how web requests work, they’ll break your app — or worse, someone else will break it for you&lt;/strong&gt;. 💀&lt;/p&gt;

&lt;p&gt;In this post, we’re not going to just "learn HTTP." We’re going to &lt;em&gt;debug it like pros&lt;/em&gt; and &lt;em&gt;understand how attackers abuse it&lt;/em&gt;, starting from one basic example.&lt;/p&gt;




&lt;h3&gt;
  
  
  🌐 Quick Primer: What Even &lt;em&gt;Is&lt;/em&gt; HTTP?
&lt;/h3&gt;

&lt;p&gt;HTTP (HyperText Transfer Protocol) is the language your browser and servers use to talk to each other. It’s how you log in, fetch posts, or accidentally leak your session cookie.&lt;/p&gt;

&lt;p&gt;Key facts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It’s &lt;strong&gt;stateless&lt;/strong&gt; — every request is independent&lt;/li&gt;
&lt;li&gt;It’s &lt;strong&gt;text-based&lt;/strong&gt; — you can read it, edit it, break it 😈&lt;/li&gt;
&lt;li&gt;It works over &lt;strong&gt;TCP&lt;/strong&gt;, usually port 80 (or 443 for HTTPS)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A typical request includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;a &lt;strong&gt;method&lt;/strong&gt; (&lt;code&gt;GET&lt;/code&gt;, &lt;code&gt;POST&lt;/code&gt;, etc.)&lt;/li&gt;
&lt;li&gt;a &lt;strong&gt;path&lt;/strong&gt; and &lt;strong&gt;host&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;a bunch of &lt;strong&gt;headers&lt;/strong&gt; with meta-info&lt;/li&gt;
&lt;li&gt;and sometimes a &lt;strong&gt;body&lt;/strong&gt; (like form data or JSON)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Most devs just let the browser handle this stuff. But if you’re building anything serious (or secure), you &lt;em&gt;need&lt;/em&gt; to know what’s inside that HTTP envelope.&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%2Feir2dwwxzqgdsfbx59z0.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%2Feir2dwwxzqgdsfbx59z0.png" alt="http transfer" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  🧪 The Setup: A Simple Login Request
&lt;/h3&gt;

&lt;p&gt;Let’s say you’re building a login page and want to send a POST request to your backend:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight http"&gt;&lt;code&gt;&lt;span class="nf"&gt;POST&lt;/span&gt; &lt;span class="nn"&gt;/login&lt;/span&gt; &lt;span class="k"&gt;HTTP&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="m"&gt;1.1&lt;/span&gt;
&lt;span class="na"&gt;Host&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s"&gt;vulnerable-login.com&lt;/span&gt;
&lt;span class="na"&gt;Content-Type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s"&gt;application/json&lt;/span&gt;
&lt;span class="na"&gt;Content-Length&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s"&gt;55&lt;/span&gt;

&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"username"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"admin"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"password"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"hunter2"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Simple, right? You send credentials, server replies. Let’s debug what can go wrong here.&lt;/p&gt;




&lt;h3&gt;
  
  
  🧯 Real-World Mistakes from HTTP Misunderstanding
&lt;/h3&gt;

&lt;p&gt;Let’s be honest: modern frameworks and browsers &lt;strong&gt;hide a lot&lt;/strong&gt; of the HTTP complexity. But when you step outside the happy path — like building APIs, using proxies, or dealing with legacy systems — things get messy fast. Here's where real bugs and risks show up:&lt;/p&gt;

&lt;h4&gt;
  
  
  🐛 Misconfigured APIs
&lt;/h4&gt;

&lt;p&gt;You think you're sending JSON, but the API expects form data. Or vice versa. Boom — silent failure. Always double-check &lt;code&gt;Content-Type&lt;/code&gt; and payload format.&lt;/p&gt;

&lt;h4&gt;
  
  
  🕳️ Leaky Cookies
&lt;/h4&gt;

&lt;p&gt;Cookies set without &lt;code&gt;HttpOnly&lt;/code&gt; or &lt;code&gt;Secure&lt;/code&gt; can be accessed via JavaScript or sent over plain HTTP. That means:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Anyone injecting a script (e.g. via XSS) can steal sessions&lt;/li&gt;
&lt;li&gt;Unencrypted traffic can expose login tokens&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  💥 Reverse Proxy Shenanigans
&lt;/h4&gt;

&lt;p&gt;Using Nginx or Apache as a reverse proxy? If you forward conflicting headers (&lt;code&gt;Content-Length&lt;/code&gt; + &lt;code&gt;Transfer-Encoding&lt;/code&gt;), you might open the door to &lt;strong&gt;request smuggling&lt;/strong&gt; — where attackers sneak in requests behind yours.&lt;/p&gt;

&lt;h4&gt;
  
  
  🧪 Tool Differences: curl vs browser
&lt;/h4&gt;

&lt;p&gt;Your request works in Postman but fails in production? That's because tools behave differently:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Browsers add headers you don’t see (&lt;code&gt;Origin&lt;/code&gt;, &lt;code&gt;Referrer&lt;/code&gt;, &lt;code&gt;Accept&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;curl doesn’t handle cookies unless told to&lt;/li&gt;
&lt;li&gt;CORS might silently block requests in-browser&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Knowing how HTTP really works = knowing when your tools are lying to you.&lt;/p&gt;




&lt;h3&gt;
  
  
  🔍 Lesson: HTTP is Not Just Syntax — It’s Behavior
&lt;/h3&gt;

&lt;p&gt;Each line in that request isn’t a formality — it’s part of a contract between client and server. Breaking that contract causes bugs, and sometimes vulnerabilities.&lt;/p&gt;

&lt;p&gt;Let’s turn our mistakes into lessons and build apps that don’t fall apart in production or in front of a bug bounty hunter 😌💻&lt;/p&gt;

</description>
      <category>http</category>
      <category>beginners</category>
      <category>webdev</category>
      <category>security</category>
    </item>
    <item>
      <title>Fixing Secrets, Fighting NGINX &amp; Copying Like a Pro – My Week as a Junior DevOps 🔥</title>
      <dc:creator>Sveta.exe</dc:creator>
      <pubDate>Fri, 09 May 2025 09:34:48 +0000</pubDate>
      <link>https://dev.to/c_d_a7c10b4d6f6aa68be7495/fixing-secrets-fighting-nginx-copying-like-a-pro-my-week-as-a-junior-devops-iij</link>
      <guid>https://dev.to/c_d_a7c10b4d6f6aa68be7495/fixing-secrets-fighting-nginx-copying-like-a-pro-my-week-as-a-junior-devops-iij</guid>
      <description>&lt;p&gt;Hi again!&lt;br&gt;
This week at work was... a mix of “why is nothing working” and “wow, I actually fixed that.”&lt;/p&gt;

&lt;h2&gt;
  
  
  So here’s a small roundup of the chaos, the tools I used, and a neat trick I learned 💻✨
&lt;/h2&gt;

&lt;p&gt;💣 &lt;strong&gt;The Service Account That Took 2 Days&lt;/strong&gt;&lt;br&gt;
I needed to set up a super user on our project server, but of course, the required service account JSON file was... missing.&lt;br&gt;
I waited 2 full days for it to arrive. Classic.&lt;br&gt;
But once I got it, the real fun began...&lt;br&gt;
🔥 &lt;em&gt;NGINX Said No&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;When I tried to spin up the server config, NGINX threw a fit over port conflicts.&lt;br&gt;
I ended up deep-diving into /var/log/nginx/error.log, checking what was already bound, and why the server was silently failing.&lt;br&gt;
&lt;em&gt;Logs eventually helped&lt;/em&gt;, but it was a ✨journey✨.&lt;/p&gt;

&lt;p&gt;🔐 &lt;strong&gt;Migrating to Infisical v3&lt;/strong&gt;&lt;br&gt;
We had to move all our secrets to the new version of Infisical. And let me tell you:&lt;br&gt;
    Directory structures were wildly inconsistent (esp. env slugs)&lt;br&gt;
    Access tokens broke the UI layout&lt;br&gt;
    No scroll = no access 🤡&lt;/p&gt;

&lt;p&gt;It worked out in the end, but it felt like defusing a bomb with gloves on.&lt;/p&gt;

&lt;p&gt;💡 &lt;strong&gt;Terminal Trick of the Week:&lt;/strong&gt;&lt;br&gt;
Needed to copy an access token from file → clipboard quickly.&lt;br&gt;
Found this gem:&lt;br&gt;
     cat yourfile.txt | xclip -i -selection clipboard&lt;/p&gt;

&lt;p&gt;Paste-ready secret in your clipboard. No more manually highlighting junk in the terminal. 10/10 lifesaver.&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;What I Learned&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;    Logs are your besties&lt;/li&gt;
&lt;li&gt;    UI bugs are real and will betray you&lt;/li&gt;
&lt;li&gt;    A single shell command can make your day better&lt;/li&gt;
&lt;li&gt;    DevOps is 60% waiting, 30% debugging, 10% copying and pasting things that work&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;Thanks for reading!&lt;br&gt;
If you’ve ever fought with NGINX or Infisical, I feel you 😭&lt;br&gt;
Let’s suffer and learn together — see you next week!&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Hi, I’m Sveta — DevOps Student &amp; Aspiring Engineer 🌍</title>
      <dc:creator>Sveta.exe</dc:creator>
      <pubDate>Thu, 08 May 2025 20:43:07 +0000</pubDate>
      <link>https://dev.to/c_d_a7c10b4d6f6aa68be7495/hi-im-sveta-devops-student-aspiring-engineer-56nk</link>
      <guid>https://dev.to/c_d_a7c10b4d6f6aa68be7495/hi-im-sveta-devops-student-aspiring-engineer-56nk</guid>
      <description>&lt;p&gt;Hi everyone! 👋&lt;/p&gt;

&lt;p&gt;I’m Sveta, a DevOps &amp;amp; networking student currently based in Prague 🇨🇿. Originally from Russia, I’m studying in the Czech Republic and learning everything I can about modern infrastructure, automation, and working in tech.&lt;/p&gt;

&lt;p&gt;🛠️ What I’m Learning:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Computer networks &amp;amp; internet technologies&lt;/li&gt;
&lt;li&gt;CI/CD, Docker, GitHub Actions&lt;/li&gt;
&lt;li&gt;Basics of Linux &amp;amp; scripting&lt;/li&gt;
&lt;li&gt;Working part-time in IT to gain real-world experience&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🎯 My Goals:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Build a DevOps portfolio with real projects&lt;/li&gt;
&lt;li&gt;Move to a country where I can grow, learn, and live fully&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;💡 What I’ll Be Posting(or try posting):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Simple, real-world DevOps projects&lt;/li&gt;
&lt;li&gt;Tips I learn as a student working part-time&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  - My roadmap toward international studies &amp;amp; relocation
&lt;/h2&gt;

&lt;p&gt;Thanks for reading!&lt;br&gt;
If you're also learning DevOps, preparing to study abroad - let's connect! 💌&lt;/p&gt;

</description>
      <category>justsayinghi</category>
      <category>me</category>
      <category>student</category>
    </item>
  </channel>
</rss>
