Skip to content

Rust URL with Simon Sapin

January 13, 2026 · 1 h 16 min

Show notes

episode 22 — Rust URL with Simon Sapin.

In this episode of Netstack.fm, Simon Sapin discusses building the rust-url crate based on the WHATWG URL specification. He also highlights that IDNA support was integrated to handle internationalized domain names, which includes critical security checks to prevent phishing from "confusable" characters that look identical to users.

Learn more:

Rama

If you like this podcast you might also like our modular network framework in Rust: https://ramaproxy.org

Chapters

  • 00:00 Intro
  • 00:50 Get to know Simon Sapin
  • 05:35 Origin of rust-url
  • 07:19 Implementing Specifications in Rust
  • 10:05 Understanding IDNA and Its Importance
  • 11:17 Origins of form-url / percent encoding crates
  • 12:36 The Role of Percent Encoding in URLs
  • 13:21 IDNA Crate Origin
  • 15:41 Challenges with IDNA and Usability
  • 30:13 unpacking the rust-url crate
  • 39:25 Understanding URL Specifications and Compatibility
  • 45:10 Url Crate Parser
  • 52:41 Surprising Insights into URL Implementation
  • 01:01:41 Final words
  • 01:14:07 Outro

Netstack.FM

Music for this episode was composed by Dj Mailbox. Listen to his music at https://on.soundcloud.com/4MRyPSNj8FZoVGpytj

All episodes of netstack.fm

Settings

Display

Language

Decides which stations you see first on the home page.

History

Recently played stations and episodes and your latest searches are only stored in this browser.

Notifications

A short notice when a podcast you follow has a new episode. Turn off single podcasts with the bell on their page.

Account

Save favorites – in the app and on the website.

Keyboard shortcuts

/
Open search
Space
Play or pause
← →
In the player: back 15 s, forward 30 s (episodes) · in a row: next tile
↑ ↓
In a row: target within the tile
Home / End
In a row: first or last tile
Esc
Close window or menu
?
This overview
Now playing

Go to station page

Play next

    Add episodes with “Play next” – they play after the current episode.