Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Beyond HTTP, Breaking Free of The Web
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Mark Wolfe
February 09, 2015
Technology
350
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Beyond HTTP, Breaking Free of The Web
Talk I gave at APIdays in Sydney 2015 and Microservices Meetup
Mark Wolfe
February 09, 2015
More Decks by Mark Wolfe
See All by Mark Wolfe
IP Networking in AWS
wolfeidau
0
84
Getting Into Vue.js
wolfeidau
0
210
AWS Automation With Lambda
wolfeidau
1
110
Ansible and Cloudformation
wolfeidau
1
250
Docker Security
wolfeidau
0
210
Building a Proxy in Go
wolfeidau
2
430
Using JWT to Authenticate Microservices
wolfeidau
1
270
Managing Secrets IN AWS
wolfeidau
0
170
ESPlant Workshop Firmware Overview and Demos
wolfeidau
0
160
Other Decks in Technology
See All in Technology
Running Kotlin + Quarkus with Lambda
nealle
1
3.3k
go-sqletch
moznion
0
140
ハードウェアコンペでもAI駆動開発が進んでいる話
iotengineer22
1
730
Railsで挑む大量データ永続化 〜600億件を永続化するための設計とボトルネックとの戦い〜
occhi
1
540
ソフトウェア ファクトリー - 再現性のあるソフトウェアの工場づくり / Software factory
iktakahiro
5
4.6k
Gemini Intelligence 入門 ― AppFunctions と Gemini Nano
takuroabe
0
200
アウトプット初心者、半年間のふりかえり
4o1sobblue
0
400
会社説明資料
persolserverworks
0
9.8k
サブエージェントと Claude Mods で作る独自 Advisor ツールの話
kenichiodo
2
150
How to Design Configuration for Rails Applications
willnet
1
700
1つのリクエストを追って理解する - llm-dのP/D分離
akhino
1
150
LambdaWebFunctionsを試してみた / exploring-lambda-web-functions
koukihosaka
0
300
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.9k
Six Lessons from altMBA
skipperchong
29
4.5k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
570
Building the Perfect Custom Keyboard
takai
2
900
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.2k
Why Our Code Smells
bkeepers
PRO
340
58k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
[SF Ruby Conf 2025] Rails X
palkan
3
1.5k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
550
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.5k
Transcript
Beyond HTTP, Breaking Free of The Web Mark Wolfe
–From http://www.w3.org/DesignIssues/Architecture.html “The most fundamental specification of Web architecture, while
one of the simpler, is that of the Universal Resource Identifier, or URI.”
–From https://tools.ietf.org/html/rfc2616 “The Hypertext Transfer Protocol (HTTP) is an application
protocol for distributed, collaborative, hypermedia information systems.”
– From http://en.wikipedia.org/wiki/Application_programming_interface “In computer programming, an application programming interface
(API) is a set of routines, protocols, and tools for building software applications.”
APIs We Use != http DNS Used to resolve host
names Also used for service discovery MDNS SPDY
Wireshark Network protocol analyser Our window into the wonderful world
of protocols and APIs Available for Windows, OSX and Linux https://www.wireshark.org/ The wire doesn’t lie
DNS? Protocol uses UDP or TCP for transport Consists of
Questions and Answers Includes some information on authority Uses "intelligent retransmission” Small messages
DNS Continued.. Binary protocol Fixed header Payload uses a compact
self describing binary format TLV (type length value)
DNS Question
DNS Answer
DNS Exchange
HTTP Get Request
In Review Compact messages More likely to transit “wireless” networks
Extensible self describing binary payload Established encoding so others can introspect without a definition! Fast
MDNS Uses UDP Over Multicast Designed for resolving names in
adhoc networks Uses the existing DNS message structure, name syntax, and resource record types
Something Simpler? So lets look at something simpler than DNS
What if we just put text in a UDP packet What would that look like?
Problem I want to send 10s of 1000s of metrics
to a server for aggregation with minimal performance impact I want to keep it simple I want the server to be a staging area for data Perform Aggregation Flush to timeseries at regular intervals
statsd Developed by etsy Uses UDP as a transport Data
is encoded using text Metrics are either a Gauge, Counter, Timer or Meter No reply necessary!
statsd protocol Metrics are generally of the form <metric name>:<value>|<type>
outside_temp|12.2|g get_home_request_time|123|ms get_home_request|1|c
In Review Very simple implementation Doesn’t block Fast Loss doesn’t
really matter in the scheme of things Maths happens in the server
None
The End @wolfeidau on twitter https://github.com/wolfeidau
[email protected]
http://wolfe.id.au
Links Good article on DNS message format https://www.wireshark.org/ Read this
book High Performance Browser Networking Etsy Statsd