<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Http on JsonKit Blog</title>
    <link>https://jsokit.com/blog/tags/http/</link>
    <description>Recent content in Http on JsonKit Blog</description>
    <generator>Hugo</generator>
    <language>en</language>
    <copyright>© 2025 JsonKit</copyright>
    <lastBuildDate>Sat, 09 May 2026 14:41:07 +0000</lastBuildDate>
    <atom:link href="https://jsokit.com/blog/tags/http/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>How LLM Token Counting Works: Building a Client-Side Token Estimator</title>
      <link>https://jsokit.com/blog/posts/how-llm-token-counting-works-building-a-client-side-token-estimator/</link>
      <pubDate>Sat, 09 May 2026 14:41:07 +0000</pubDate>
      <guid>https://jsokit.com/blog/posts/how-llm-token-counting-works-building-a-client-side-token-estimator/</guid>
      <description>How LLM Token Counting Works: Building a Client-Side Token Estimator Every time you call a GPT or Claude API, you&amp;rsquo;re paying by the token. But what exactly is a token, and how do you estimate token counts without loading a 500MB tokenizer model into your browser?&#xA;Let&amp;rsquo;s break down the algorithm behind the Token Counter tool, and why a simple heuristic can get you surprisingly close to the real count.</description>
    </item>
    <item>
      <title>SVG Optimizer Implementation: From Regex to Performance</title>
      <link>https://jsokit.com/blog/posts/svg-optimizer-implementation-from-regex-to-performance/</link>
      <pubDate>Mon, 04 May 2026 11:34:21 +0000</pubDate>
      <guid>https://jsokit.com/blog/posts/svg-optimizer-implementation-from-regex-to-performance/</guid>
      <description>SVG Optimizer Implementation: From Regex to Performance Working on an icon library project, I noticed exported SVG files were often 50KB+. After optimization, they shrank by 60%. But manually uploading and downloading files every time was tedious. So I built my own SVG optimizer. Here&amp;rsquo;s how it works.&#xA;Why Are SVG Files So Large? A typical unoptimized SVG:&#xA;&amp;lt;?xml version=&amp;#34;1.0&amp;#34; encoding=&amp;#34;UTF-8&amp;#34;?&amp;gt; &amp;lt;!DOCTYPE svg PUBLIC &amp;#34;-//W3C//DTD SVG 1.1//EN&amp;#34; &amp;#34;http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd&amp;#34;&amp;gt; &amp;lt;svg xmlns=&amp;#34;http://www.w3.org/2000/svg&amp;#34; viewBox=&amp;#34;0 0 24 24&amp;#34; width=&amp;#34;24&amp;#34; height=&amp;#34;24&amp;#34;&amp;gt; &amp;lt;!</description>
    </item>
    <item>
      <title>Responsive Testing Tool: iframe Sandbox and Device Simulation</title>
      <link>https://jsokit.com/blog/posts/responsive-testing-tool-iframe-sandbox-and-device-simulation/</link>
      <pubDate>Wed, 29 Apr 2026 12:44:26 +0000</pubDate>
      <guid>https://jsokit.com/blog/posts/responsive-testing-tool-iframe-sandbox-and-device-simulation/</guid>
      <description>Responsive Testing Tool: iframe Sandbox and Device Simulation Testing responsive designs usually means switching devices in Chrome DevTools or opening multiple tabs. I built a responsive testing tool that consolidates common device sizes with one-click switching and real-time preview.&#xA;iframe Sandbox: Loading External Pages Securely The core is using iframe to load target websites, but direct embedding has security restrictions:&#xA;&amp;lt;iframe src=&amp;#34;https://example.com&amp;#34; sandbox=&amp;#34;allow-scripts allow-same-origin allow-forms allow-popups&amp;#34; /&amp;gt; The sandbox attribute is critical:</description>
    </item>
    <item>
      <title>Building a Visual Regex Generator: From Zero to Match</title>
      <link>https://jsokit.com/blog/posts/building-a-visual-regex-generator-from-zero-to-match/</link>
      <pubDate>Tue, 28 Apr 2026 14:26:37 +0000</pubDate>
      <guid>https://jsokit.com/blog/posts/building-a-visual-regex-generator-from-zero-to-match/</guid>
      <description>Building a Visual Regex Generator: From Zero to Match Regular expressions are powerful but notoriously hard to remember. Even experienced developers need to look up syntax for email validation or IP matching. I built a Regex Generator to make this easier. Here&amp;rsquo;s how it works.&#xA;The Problem with Regex Cryptic syntax: \d, \w, \s are manageable, but (?=...), (?:...), (?!) are confusing Hard to debug: One wrong character and nothing matches — no clear error message No visualization: A long regex string is just a wall of symbols The generator aims to solve these with clickable buttons and instant visual feedback.</description>
    </item>
    <item>
      <title>Regex Cheatsheet: From Syntax Classification to Search Filtering</title>
      <link>https://jsokit.com/blog/posts/regex-cheatsheet-from-syntax-classification-to-search-filtering/</link>
      <pubDate>Mon, 27 Apr 2026 09:16:18 +0000</pubDate>
      <guid>https://jsokit.com/blog/posts/regex-cheatsheet-from-syntax-classification-to-search-filtering/</guid>
      <description>Regex Cheatsheet: From Syntax Classification to Search Filtering Regular expressions are essential for developers, but the syntax is complex and hard to memorize. A well-designed regex cheatsheet helps you find the syntax you need instantly. This article shares the implementation of JsonKit Regex Cheatsheet, from syntax classification to real-time search filtering.&#xA;Why You Need a Regex Cheatsheet Regex has hundreds of metacharacters, quantifiers, and assertions. It&amp;rsquo;s hard to remember them all.</description>
    </item>
    <item>
      <title>From PX to REM: Unit Conversion in Responsive Design</title>
      <link>https://jsokit.com/blog/posts/from-px-to-rem-unit-conversion-in-responsive-design/</link>
      <pubDate>Thu, 23 Apr 2026 12:37:47 +0000</pubDate>
      <guid>https://jsokit.com/blog/posts/from-px-to-rem-unit-conversion-in-responsive-design/</guid>
      <description>From PX to REM: Unit Conversion in Responsive Design I inherited a legacy project with hardcoded px values everywhere. The product team wanted user-customizable font sizes. I opened the CSS files—2,000+ px values staring back at me. That was the day I truly understood the value of rem.&#xA;I built a PX/REM Converter to handle this, and here&amp;rsquo;s what I learned.&#xA;What REM Actually Means rem stands for &amp;ldquo;root em&amp;rdquo;—relative to the root element&amp;rsquo;s font-size.</description>
    </item>
    <item>
      <title>Building a Perfect Maze Generator with DFS Recursive Backtracker</title>
      <link>https://jsokit.com/blog/posts/building-a-perfect-maze-generator-with-dfs-recursive-backtracker/</link>
      <pubDate>Tue, 14 Apr 2026 16:16:01 +0000</pubDate>
      <guid>https://jsokit.com/blog/posts/building-a-perfect-maze-generator-with-dfs-recursive-backtracker/</guid>
      <description>Building a Perfect Maze Generator with DFS Recursive Backtracker Maze generation is one of those problems that looks simple until you actually implement it. I recently built an online maze generator on JsonKit using the classic DFS recursive backtracker algorithm. Here&amp;rsquo;s how it works under the hood.&#xA;What is a &amp;ldquo;Perfect Maze&amp;rdquo;? In computational maze generation, a &amp;ldquo;perfect maze&amp;rdquo; has three properties:&#xA;Simply connected: exactly one path between any two cells Acyclic: no loops or cycles Fully connected: every cell is reachable Every wall in a perfect maze matters — removing any single wall creates a loop.</description>
    </item>
    <item>
      <title>Linux whois Command Deep Dive: From Domain Registration to Network Asset Investigation</title>
      <link>https://jsokit.com/blog/posts/linux-whois-command-deep-dive-from-domain-registration-to-network-asset-investigation/</link>
      <pubDate>Fri, 10 Apr 2026 19:45:17 +0000</pubDate>
      <guid>https://jsokit.com/blog/posts/linux-whois-command-deep-dive-from-domain-registration-to-network-asset-investigation/</guid>
      <description>Linux whois Command Deep Dive: From Domain Registration to Network Asset Investigation When troubleshooting a domain ownership issue, I first encountered the whois command. This simple tool hides the entire design philosophy of the domain registration system. Let&amp;rsquo;s dive deep.&#xA;The Essence of the whois Protocol whois is an ancient TCP protocol, born in 1982 (RFC 812), even earlier than HTTP. The core logic is extremely simple:&#xA;Client connects to a whois server (usually port 43) Sends query string + \r\n Server returns plain text result Connection closes That&amp;rsquo;s it.</description>
    </item>
    <item>
      <title>Linux uname Command: The Swiss Army Knife for System Information</title>
      <link>https://jsokit.com/blog/posts/linux-uname-command-the-swiss-army-knife-for-system-information/</link>
      <pubDate>Tue, 07 Apr 2026 14:58:59 +0000</pubDate>
      <guid>https://jsokit.com/blog/posts/linux-uname-command-the-swiss-army-knife-for-system-information/</guid>
      <description>Linux uname Command: The Swiss Army Knife for System Information Original: https://jsokit.com/tools/linux-commands/uname&#xA;Every time I log into a new server, uname -a is my first command. A quick way to learn the system type, kernel version, and hardware architecture—information that shapes my next moves.&#xA;But many only know the -a &amp;ldquo;all-in-one&amp;rdquo; flag. Let&amp;rsquo;s dig deeper into what uname can really do.&#xA;What Does uname Actually Do? uname calls the uname() system call, fetching information directly from the kernel.</description>
    </item>
    <item>
      <title>Deep Dive into Linux mkdir Command: Directory Creation Art and Performance Optimization</title>
      <link>https://jsokit.com/blog/posts/deep-dive-into-linux-mkdir-command-directory-creation-art-and-performance-optimization/</link>
      <pubDate>Thu, 26 Mar 2026 17:58:04 +0000</pubDate>
      <guid>https://jsokit.com/blog/posts/deep-dive-into-linux-mkdir-command-directory-creation-art-and-performance-optimization/</guid>
      <description>Deep Dive into Linux mkdir Command: Directory Creation Art and Performance Optimization Original link: https://jsokit.com/tools/linux-commands/mkdir&#xA;As one of the most fundamental yet commonly used commands in Linux systems, mkdir (make directory) is far more complex than it appears on the surface. From simple directory creation to recursively building multi-level directory structures, to permission control and atomic operations, this command hides many details about the file system.&#xA;Under the Hood: System Calls and inode Mechanism When you execute mkdir test, the Linux kernel actually does several things:</description>
    </item>
  </channel>
</rss>
