Skip to content
Artwork for netstack.fm
netstack.fm · January 13 · 1 hr 15 min

Rust URL with Simon Sapin

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: https://docs.rs/url — rust-url is an implementation of the URL Standard for the Rust programming language https://docs.rs/idna — IDNA (Internationalizing Domain Names in Applications) and Punycode https://docs.rs/idna_adapter — unicode back end for the idna crate https://docs.rs/form_urlencoded — Parser and serializer for the application/x-www-form-urlencoded syntax, as used by HTML forms https://docs.rs/percent-encoding — Percent encoding and decoding https://servo.org/ — official servo website https://url.spec.whatwg.org/ — WHATWG URL Specificaton https://datatracker.ietf.org/doc/html/rfc5890 — Internationalized Domain Names for Applications (IDNA) (RFC) https://exyr.org/ — official website of Simon Sapin 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 More information: https://netstack.fm/#episode-22 Join our Discord: https://discord.gg/29EetaSYCD Reach out to us: hello@netstack.fm Music for this episode was composed by Dj Mailbox. Listen to his music at https://on.soundcloud.com/4MRyPSNj8FZoVGpytj

0:00-1:15:46

transcript

No transcript — this publisher did not publish one.

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

links14