SlideShare une entreprise Scribd logo
1  sur  143
Télécharger pour lire hors ligne
Hidden Features in HTTP
by Sumana Harihareswara
@brainwane
Changeset Consulting
HTTP Can Do That?!
A collection of bad ideas
by Sumana Harihareswara
@brainwane
Changeset Consulting
@brainwane
HTTP
Hypertext
Transfer
Protocol
@brainwane
Diagrams!
– Internet Engineering Task Force (IETF) RFC 7230
Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing
@brainwane
HTTP: crash course
Client
Server
@brainwane
Client
Server
Request
HTTP: crash course
@brainwane
Client
Server
Request
Response
HTTP: crash course
@brainwane
An HTTP Message
(Request or Response)
START-LINE
HTTP version (1.1)
Request method (GET, POST)
Response status code (200, 404, 500)
@brainwane
An HTTP Message
(Request or Response)
HEADERS
Content­Type
Content­Length
…...
START-LINE
HTTP version (1.1)
Request method (GET, POST)
Response status code (200, 404, 500)
@brainwane
An HTTP Message
(Request or Response)
HEADERS
Content­Type
Content­Length
…...
BODY
START-LINE
HTTP version (1.1)
Request method (GET, POST)
Response status code (200, 404, 500)
@brainwane
Example Request
HEADERS
Host: www.sumana.biz
Accept: text/html
User­Agent: ScraperBot
BODY
START-LINE
GET / HTTP/1.1
@brainwane
Example Response
HEADERS
Content­Type: text/html
Content­Length: 203
Date: Tue, 16 Jun 2015 16:21:56 
GMT
Last­Modified: Tue, 16 Jun 2015 
13:27:14 GMT
BODY
<html>
<head>
<title>Welcome to 
Sumanaville</title>
</head>
<body><center><h1>Ro
ckin'</h1>
<p>This is a pretty 
START-LINE
HTTP/1.1 200 OK
@brainwane
● GET
gimme
● POST
here you go
Popular request methods
(“verbs”)
@brainwane
First bad idea:
POST but not GET
more: https://github.com/brainwane/secureapi
@brainwane
POST but not GET:
use cases
letters to Santa Claus
@brainwane
POST but not GET:
use cases
employee suggestion box
@brainwane
POST but not GET:
use cases
extremely moderated blog comments
@brainwane
(a logistical note)
@brainwane
@brainwane
@brainwane
Bad Idea Scale
@brainwane
Giving client no way to GET –
bad idea
@brainwane
Remember “CRUD”?
Create Read
DeleteUpdate
@brainwane
Remember “CRUD”?
Create
POST
Read
GET
Delete
POST
Update
POST
@brainwane
Remember “CRUD”?
Create
POST
Read
GET
Delete
POST
Update
POST
@brainwane
Remember “CRUD”?
Create
POST
Read
GET
Delete
POST
Update
POST
INELEGANT!
INELEGANT!
@brainwane
DELETE
delete a resource!
Underappreciated methods
@brainwane
Implementing DELETE
@brainwane
Implementing DELETE
@brainwane
Implementing DELETE
@brainwane
Implementing DELETE
@brainwane
Implementing DELETE
@brainwane
Implementing DELETE
@brainwane
Implementing DELETE
@brainwane
Implementing DELETE
@brainwane
Implementing DELETE
@brainwane
Implementing DELETE
@brainwane
DELETE – good idea?
@brainwane
PUT
“here you go”
Underappreciated methods
@brainwane
I thought POST meant “here you go”
Wait
@brainwane
So what is POST,
anyway?
The standard says it means:
“Above our pay grade; take this to the boss”
a.k.a. Overloaded POST
@brainwane
So what is POST,
anyway?
Often, we use it for:
“Create a new item in this set”
a.k.a. POST-to-append
@brainwane
@brainwane
PUT vs. POST
PUT /cards/5
Body:
Means:
“Put this picture at
/cards/5 .”
POST /cards/5
Body:
Means:
“Tell the webapp that this
picture applies to
/cards/5 somehow –
figure it out.”
@brainwane
“CRUD” & HTTP verbs
Create
PUT
Read
GET
Delete
DELETE
Update
PUT
@brainwane
PUT – good idea?
@brainwane
● PATCH
update just part of this document/resource
More underused methods
@brainwane
PATCH – good idea?
@brainwane
● PATCH
update just part of this document/resource
● OPTIONS
ask what verbs the client’s allowed to use (for a
specific path, or server-wide)
More underused methods
@brainwane
OPTIONS – good idea?
@brainwane
 HEAD
like GET, but just for metadata
A super-cool method
@brainwane
GET vs. HEAD
Request:
GET / HTTP/1.1
Response:
● Start-line
● Headers
● Body
Request:
HEAD / HTTP/1.1
Response:
● Start-line
● Headers
@brainwane
HEAD saves time
@brainwane
HEAD saves time
@brainwane
HEAD saves time
@brainwane
You don’t need the body to check:
Does it exist?
Do I have permission to GET it?
Content­Length
Last­Modified
Content­Type
ETag
Retry­After
@brainwane
HEAD – good idea?
@brainwane
Popular headers include:
Content­Type
Content­Length
@brainwane
Popular headers include:
Content­Type
Content­Length
Also known as MIME or Mime
@brainwane
Popular headers include:
Content­Type
Content­Length
text/*
@brainwane
Popular headers include:
Content­Type
Content­Length
application/*
@brainwane
Popular headers include:
Content­Type
Content­Length
chemical/*
@brainwane
Popular headers include:
Content­Encoding
Accept­Encoding
Content­Language
Accept­Language
@brainwane
More headers
ETag
If­Match
If­None­Match
@brainwane
More headers
If­Modified­Since
If­Unmodified­Since
Last­Modified
Cache­Control
@brainwane
A popular header
User­Agent
@brainwane
An unpopular header
From
The email address
of the person making the request
@brainwane
Uses for From
Really bad auth
@brainwane
Uses for From
“Yes, I saw your site launch”
@brainwane
Uses for From
Coded messages
meant for network surveillor
@brainwane
From – bad idea
@brainwane
Another spy trick
“Each header field consists of a case-insensitive
field name followed by a colon (":")...”
So: vary the case of the headers you send!!!
– Internet Engineering Task Force (IETF) RFC 7230
Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing
@brainwane
Header casing
as secret info channel –
bad idea
@brainwane
A popular header
Host
@brainwane
A required header
Host
required in request messages
@brainwane
$ netcat myhostname.tld 80
GET /bicycle HTTP/1.1
Host: myhostname.tld
Host & path work together
@brainwane
Host & path work together
@brainwane
Host & path work together
@brainwane
Host & path work together
@brainwane
Host & path work together
@brainwane
A popular header
Host
(wait –
why do we need to repeat this?
It's in the URL!
right?)
@brainwane
How Host helps
HTTP
is separate from
the Domain Name System
@brainwane
How Host helps
Host
helps route requests
among different domains
that sit on the same server
@brainwane
Examples of virtual hosts
www.debian.org
@brainwane
Examples of virtual hosts
bugs.debian.org
@brainwane
Examples of virtual hosts
lists.debian.org
@brainwane
Examples of virtual hosts
wiki.debian.org
@brainwane
But watch out...
@brainwane
But watch out...
@brainwane
But watch out...
@brainwane
A spam story
@brainwane
A spam story
My 404 logs (Drupal admin console):
TYPE page not found
DATE Thursday, October 9, 2014 - 10:46
USER Anonymous (not verified)
LOCATION http://myphishingsite.biz/http://myphishingsite.biz
REFERRER
MESSAGE ttp://myphishingsite.biz
SEVERITY warning
HOSTNAME [IP address]
@brainwane
A spam story
My 404 logs (Drupal admin console):
TYPE page not found
DATE Thursday, October 9, 2014 - 10:46
USER Anonymous (not verified)
LOCATION http://myphishingsite.biz/http://myphishingsite.biz
REFERRER
MESSAGE ttp://myphishingsite.biz
SEVERITY warning
HOSTNAME [IP address]
@brainwane
A spam story
My access logs:
[IP address] ­ ­ 
[09/Oct/2014:10:46:09 ­0400]
"GET http://myphishingsite.biz 
HTTP/1.1" 404 7574 "­" [User­Agent]
@brainwane
A spam story
Legit mistakes would look like:
[IP address] ­ ­ 
[09/Oct/2014:10:46:09 ­0400]
"GET /http://berkeley.edu HTTP/1.1" 
404 7574 "­" [User­Agent]
@brainwane
A spam story
Intentionally malform your request!
$ netcat myhostname.tld 80
GET http://spam.com HTTP/1.1
Host: spam.com
@brainwane
A spam story
Intentionally malform your request!
$ netcat myhostname.tld 80
GET /viagra­bitcoin HTTP/1.1
Host: spam.com
@brainwane
404 spamming –
bad idea
@brainwane
Define your own header!
“Header fields are fully extensible: there is no limit
on the introduction of new field names, each
presumably defining new semantics, nor on the
number of header fields used in a given message.”
-(RFC 7230)
@brainwane
Define your own header!
X­blah­blah­blah
@brainwane
Define your own header!
X­Clacks­Overhead: 
GNU Terry Pratchett
@brainwane
Define your own header!
@brainwane
Define your own header!
@brainwane
Define your own header!
@brainwane
Define your own header!
@brainwane
Defining your own headers –
good idea?
@brainwane
Status codes
100 & 101: Informational
2xx: Successful
3xx: Redirection
4xx: Client error
5xx: Server error
@brainwane
Status (response) codes
404 Not Found
Code Reason-phrase
@brainwane
Status (response) codes
“A client SHOULD ignore
the reason-phrase content.”
@brainwane
Heard of these?
● 410 Gone
It was here, but now it’s not.
● 304 Not Modified
You said, ‘GET this, if it’s been modified since
[date]’. It hasn’t been.
@brainwane
451 Unavailable For Legal 
Reasons
Server is legally required
to reject client’s request
@brainwane
451 Unavailable For Legal 
Reasons
Can’t let you see that; it’s censored.
@brainwane
451 Unavailable For Legal 
Reasons
“This is considered a client-side error even
though the request is well formed and the legal
requirement exists on the server side. After all, that
representation was censored for a reason. There
must be something wrong with you, citizen.”
-RESTful Web APIs,
Leonard Richardson & Mike Amundsen
@brainwane
451 Unavailable For Legal 
Reasons
@brainwane
451 – good idea?
@brainwane
WTF responses
All of these
were found in the wild
@brainwane
WTF responses
Code: 126
Reason: Incorrect key file for table
'/tmp/mysqltmp/#sql_13fb_2.MYI'; try to repair it
SQL=SHOW FULL COLUMNS FROM
`y4dnu_extensions`
@brainwane
WTF responses
Code: 301
Reason: explicit_header_response_code
@brainwane
WTF responses
Code: 403
Reason: You've got to ask yourself one question:
Do I feel lucky?
@brainwane
WTF responses
Code: 403
Reason: can't put wasabi in bed
@brainwane
WTF responses
Code: 404
Reason: HTTP/1.1 404
@brainwane
WTF responses
Code: 404
Reason: Not Found"); ?><?php Header("cache-
Control: no-store, no-cache, must-revalidate
@brainwane
WTF responses
Code: 200
Reason: Forbidden
@brainwane
WTF responses
Code: 404
Reason: Apple WebObjects
@brainwane
WTF responses
Code: 404
Reason: forbidden
@brainwane
WTF responses
Code: 434
Reason: HTTP/1.1 434
@brainwane
WTF responses
Code: 451
Reason: Unknown Reason-Phrase
@brainwane
WTF responses
Code: 503
Reason: Backend is unhealthy
@brainwane
WTF responses
Code: 520
Reason: Origin Error
@brainwane
WTF responses
Code: 525
Reason: Origin SSL Handshake Error
@brainwane
WTF responses
Code: 533
Reason: mtd::http: Unknown: Banned
@brainwane
WTF responses
Code: 732
Reason:
http://www.[hostname].com/intro/copyright.php
@brainwane
WTF responses
Code: 999
Reason: Request denied
@brainwane
Changing Reason-phrases
more at https://gitlab.com/brainwane/http-can-do-that/
@brainwane
@brainwane
@brainwane
Bespoke status codes/reasons –
good idea?
@brainwane
There’s so much more
● “Don’t cache this”
● Pragma – pass instructions to server/client
● CONNECT, TRACE, LINK, & UNLINK methods
● 409 Conflict
● Look-before-you-leap requests
● Resources at HTTPS vs. HTTP URLs can differ
● “q” and preference ranking in the Accept header
● Content-Disposition (e.g. “attachment”)
@brainwane
The feeling of power
The sense of wonder
@brainwane
What might the web have been?
What might it still be?
@brainwane
Read & play
● RFCs 7230-7235
● netcat, wget, netstat, telnet
● basic HTTP servers (in your favorite language)
● https://gitlab.com/brainwane/http-can-do-
that/
@brainwane
Thanks
Leonard Richardson
Greg Hendershott
Zack Weinberg
The Recurse Center
Clay Hallock
Paul Tagliamonte
Open Source Bridge
Julia Evans, Allison Kaptur, Amy Hanlon, and
Katie Silverio
Thank you
Sumana Harihareswara
http://changeset.nyc
@brainwane
https://gitlab.com/brainwane/http-can-do-that/
sumanah@panix.com

Contenu connexe

Tendances

2017 Devoxx MA Deconstructing and Evolving REST Security
2017 Devoxx MA Deconstructing and Evolving REST Security2017 Devoxx MA Deconstructing and Evolving REST Security
2017 Devoxx MA Deconstructing and Evolving REST SecurityDavid Blevins
 
Elegant Rest Design Webinar
Elegant Rest Design WebinarElegant Rest Design Webinar
Elegant Rest Design WebinarStormpath
 
Plug and Play Tools for the Recruiting Empiricist
Plug and Play Tools for the Recruiting EmpiricistPlug and Play Tools for the Recruiting Empiricist
Plug and Play Tools for the Recruiting EmpiricistJung Kim
 
PyCon India 2012: Rapid development of website search in python
PyCon India 2012: Rapid development of website search in pythonPyCon India 2012: Rapid development of website search in python
PyCon India 2012: Rapid development of website search in pythonChetan Giridhar
 
Web performance - Analysing Heart.co.uk
Web performance - Analysing Heart.co.ukWeb performance - Analysing Heart.co.uk
Web performance - Analysing Heart.co.ukgareth53
 
Webinar: Simpler Semantic Search with Solr
Webinar: Simpler Semantic Search with SolrWebinar: Simpler Semantic Search with Solr
Webinar: Simpler Semantic Search with SolrLucidworks
 
DEF CON 27 - BEN SADEGHIPOUR - owning the clout through ssrf and pdf generators
DEF CON 27 - BEN SADEGHIPOUR  - owning the clout through ssrf and pdf generatorsDEF CON 27 - BEN SADEGHIPOUR  - owning the clout through ssrf and pdf generators
DEF CON 27 - BEN SADEGHIPOUR - owning the clout through ssrf and pdf generatorsFelipe Prado
 
Server Logs: After Excel Fails
Server Logs: After Excel FailsServer Logs: After Excel Fails
Server Logs: After Excel FailsOliver Mason
 
Tutorial on-python-programming
Tutorial on-python-programmingTutorial on-python-programming
Tutorial on-python-programmingChetan Giridhar
 
MITH Digital Dialogues: Intro to Programming for Humanists (with Ruby)
MITH Digital Dialogues: Intro to Programming for Humanists (with Ruby)MITH Digital Dialogues: Intro to Programming for Humanists (with Ruby)
MITH Digital Dialogues: Intro to Programming for Humanists (with Ruby)joegilbert
 
Hacking iOS Applications with Proxies
Hacking iOS Applications with ProxiesHacking iOS Applications with Proxies
Hacking iOS Applications with ProxiesKarl Fosaaen
 
Boilerpipe Integration And Improvement
Boilerpipe Integration And ImprovementBoilerpipe Integration And Improvement
Boilerpipe Integration And ImprovementAllan Huang
 
Dangerous Google searching for secrets
Dangerous Google searching for secretsDangerous Google searching for secrets
Dangerous Google searching for secretsPim Piepers
 
2017 JavaOne Deconstructing and Evolving REST Security
2017 JavaOne Deconstructing and Evolving REST Security2017 JavaOne Deconstructing and Evolving REST Security
2017 JavaOne Deconstructing and Evolving REST SecurityDavid Blevins
 
The Google Hacking Database: A Key Resource to Exposing Vulnerabilities
The Google Hacking Database: A Key Resource to Exposing VulnerabilitiesThe Google Hacking Database: A Key Resource to Exposing Vulnerabilities
The Google Hacking Database: A Key Resource to Exposing VulnerabilitiesTechWell
 
2014 database - course 1 - www introduction
2014 database - course 1 - www introduction2014 database - course 1 - www introduction
2014 database - course 1 - www introductionHung-yu Lin
 
HTTP Request Smuggling via higher HTTP versions
HTTP Request Smuggling via higher HTTP versionsHTTP Request Smuggling via higher HTTP versions
HTTP Request Smuggling via higher HTTP versionsneexemil
 
Kiran karnad rtc2014 ghdb-final
Kiran karnad rtc2014 ghdb-finalKiran karnad rtc2014 ghdb-final
Kiran karnad rtc2014 ghdb-finalRomania Testing
 

Tendances (20)

2017 Devoxx MA Deconstructing and Evolving REST Security
2017 Devoxx MA Deconstructing and Evolving REST Security2017 Devoxx MA Deconstructing and Evolving REST Security
2017 Devoxx MA Deconstructing and Evolving REST Security
 
Elegant Rest Design Webinar
Elegant Rest Design WebinarElegant Rest Design Webinar
Elegant Rest Design Webinar
 
Plug and Play Tools for the Recruiting Empiricist
Plug and Play Tools for the Recruiting EmpiricistPlug and Play Tools for the Recruiting Empiricist
Plug and Play Tools for the Recruiting Empiricist
 
PyCon India 2012: Rapid development of website search in python
PyCon India 2012: Rapid development of website search in pythonPyCon India 2012: Rapid development of website search in python
PyCon India 2012: Rapid development of website search in python
 
Web performance - Analysing Heart.co.uk
Web performance - Analysing Heart.co.ukWeb performance - Analysing Heart.co.uk
Web performance - Analysing Heart.co.uk
 
Unit 2 (html)
Unit 2  (html)Unit 2  (html)
Unit 2 (html)
 
Webinar: Simpler Semantic Search with Solr
Webinar: Simpler Semantic Search with SolrWebinar: Simpler Semantic Search with Solr
Webinar: Simpler Semantic Search with Solr
 
DEF CON 27 - BEN SADEGHIPOUR - owning the clout through ssrf and pdf generators
DEF CON 27 - BEN SADEGHIPOUR  - owning the clout through ssrf and pdf generatorsDEF CON 27 - BEN SADEGHIPOUR  - owning the clout through ssrf and pdf generators
DEF CON 27 - BEN SADEGHIPOUR - owning the clout through ssrf and pdf generators
 
Server Logs: After Excel Fails
Server Logs: After Excel FailsServer Logs: After Excel Fails
Server Logs: After Excel Fails
 
Tutorial on-python-programming
Tutorial on-python-programmingTutorial on-python-programming
Tutorial on-python-programming
 
MITH Digital Dialogues: Intro to Programming for Humanists (with Ruby)
MITH Digital Dialogues: Intro to Programming for Humanists (with Ruby)MITH Digital Dialogues: Intro to Programming for Humanists (with Ruby)
MITH Digital Dialogues: Intro to Programming for Humanists (with Ruby)
 
Hacking iOS Applications with Proxies
Hacking iOS Applications with ProxiesHacking iOS Applications with Proxies
Hacking iOS Applications with Proxies
 
Boilerpipe Integration And Improvement
Boilerpipe Integration And ImprovementBoilerpipe Integration And Improvement
Boilerpipe Integration And Improvement
 
Dangerous Google searching for secrets
Dangerous Google searching for secretsDangerous Google searching for secrets
Dangerous Google searching for secrets
 
2017 JavaOne Deconstructing and Evolving REST Security
2017 JavaOne Deconstructing and Evolving REST Security2017 JavaOne Deconstructing and Evolving REST Security
2017 JavaOne Deconstructing and Evolving REST Security
 
The Google Hacking Database: A Key Resource to Exposing Vulnerabilities
The Google Hacking Database: A Key Resource to Exposing VulnerabilitiesThe Google Hacking Database: A Key Resource to Exposing Vulnerabilities
The Google Hacking Database: A Key Resource to Exposing Vulnerabilities
 
2014 database - course 1 - www introduction
2014 database - course 1 - www introduction2014 database - course 1 - www introduction
2014 database - course 1 - www introduction
 
HTTP Request Smuggling via higher HTTP versions
HTTP Request Smuggling via higher HTTP versionsHTTP Request Smuggling via higher HTTP versions
HTTP Request Smuggling via higher HTTP versions
 
Kiran karnad rtc2014 ghdb-final
Kiran karnad rtc2014 ghdb-finalKiran karnad rtc2014 ghdb-final
Kiran karnad rtc2014 ghdb-final
 
Google Dorks and SQL Injection
Google Dorks and SQL InjectionGoogle Dorks and SQL Injection
Google Dorks and SQL Injection
 

En vedette

Silicon Valley Executive Network CMO Futures Series - The Power of Story 10...
Silicon Valley Executive Network   CMO Futures Series - The Power of Story 10...Silicon Valley Executive Network   CMO Futures Series - The Power of Story 10...
Silicon Valley Executive Network CMO Futures Series - The Power of Story 10...FortuneCMO, LLC
 
Luisana escalona(infografia)
Luisana escalona(infografia)Luisana escalona(infografia)
Luisana escalona(infografia)2804900
 
Corporate Profile - Swicons Consultancy Services Pvt Ltd
Corporate Profile -  Swicons  Consultancy Services Pvt LtdCorporate Profile -  Swicons  Consultancy Services Pvt Ltd
Corporate Profile - Swicons Consultancy Services Pvt LtdVinayak Padave
 
Några enkla råd och tips för att polera bilen - Steg-för-steg
Några enkla råd och tips för att polera bilen - Steg-för-stegNågra enkla råd och tips för att polera bilen - Steg-för-steg
Några enkla råd och tips för att polera bilen - Steg-för-stegSaint-Gobain Abrasives AB
 
Mensaje 25-N. Mujeres de Negro de San Francisco (California, EEUU)
Mensaje 25-N. Mujeres de Negro de San Francisco (California, EEUU)Mensaje 25-N. Mujeres de Negro de San Francisco (California, EEUU)
Mensaje 25-N. Mujeres de Negro de San Francisco (California, EEUU)Organización Femenina Popular
 
American Fibertek MR-388SL User Manual
American Fibertek MR-388SL User ManualAmerican Fibertek MR-388SL User Manual
American Fibertek MR-388SL User ManualJMAC Supply
 
Mischief and Whimsy in products and apps
Mischief and Whimsy in products and appsMischief and Whimsy in products and apps
Mischief and Whimsy in products and appsEamonn Carey
 
Medio geográfico
Medio geográficoMedio geográfico
Medio geográficoJose Curet
 
Designing & Orchestrating the Customer Experience
Designing & Orchestrating the Customer ExperienceDesigning & Orchestrating the Customer Experience
Designing & Orchestrating the Customer ExperienceAvanade Nederland
 
How Nonprofits Can Leverage Social To Drive Donations, Awareness and Engagement
How Nonprofits Can Leverage Social To Drive Donations, Awareness and EngagementHow Nonprofits Can Leverage Social To Drive Donations, Awareness and Engagement
How Nonprofits Can Leverage Social To Drive Donations, Awareness and Engagementtracx
 
Creating a workflow with Azure Logic and API Apps
Creating a workflow with Azure Logic and API AppsCreating a workflow with Azure Logic and API Apps
Creating a workflow with Azure Logic and API AppsAvanade Nederland
 
Mobile media consumption presentation philippines
Mobile media consumption presentation  philippinesMobile media consumption presentation  philippines
Mobile media consumption presentation philippinesjoeychee
 
Shared Services in Higher Education: conceps, clients, consumers and stakehol...
Shared Services in Higher Education: conceps, clients, consumers and stakehol...Shared Services in Higher Education: conceps, clients, consumers and stakehol...
Shared Services in Higher Education: conceps, clients, consumers and stakehol...Chazey Partners
 
Philippines Startup Report - 2013
Philippines Startup Report - 2013Philippines Startup Report - 2013
Philippines Startup Report - 2013Ron Hose
 

En vedette (18)

Patrick henry
Patrick henryPatrick henry
Patrick henry
 
Act3 mfbe
Act3 mfbeAct3 mfbe
Act3 mfbe
 
CSS3 Cheat-Sheet
CSS3 Cheat-SheetCSS3 Cheat-Sheet
CSS3 Cheat-Sheet
 
Silicon Valley Executive Network CMO Futures Series - The Power of Story 10...
Silicon Valley Executive Network   CMO Futures Series - The Power of Story 10...Silicon Valley Executive Network   CMO Futures Series - The Power of Story 10...
Silicon Valley Executive Network CMO Futures Series - The Power of Story 10...
 
Luisana escalona(infografia)
Luisana escalona(infografia)Luisana escalona(infografia)
Luisana escalona(infografia)
 
Corporate Profile - Swicons Consultancy Services Pvt Ltd
Corporate Profile -  Swicons  Consultancy Services Pvt LtdCorporate Profile -  Swicons  Consultancy Services Pvt Ltd
Corporate Profile - Swicons Consultancy Services Pvt Ltd
 
Några enkla råd och tips för att polera bilen - Steg-för-steg
Några enkla råd och tips för att polera bilen - Steg-för-stegNågra enkla råd och tips för att polera bilen - Steg-för-steg
Några enkla råd och tips för att polera bilen - Steg-för-steg
 
Mensaje 25-N. Mujeres de Negro de San Francisco (California, EEUU)
Mensaje 25-N. Mujeres de Negro de San Francisco (California, EEUU)Mensaje 25-N. Mujeres de Negro de San Francisco (California, EEUU)
Mensaje 25-N. Mujeres de Negro de San Francisco (California, EEUU)
 
American Fibertek MR-388SL User Manual
American Fibertek MR-388SL User ManualAmerican Fibertek MR-388SL User Manual
American Fibertek MR-388SL User Manual
 
Mischief and Whimsy in products and apps
Mischief and Whimsy in products and appsMischief and Whimsy in products and apps
Mischief and Whimsy in products and apps
 
Medio geográfico
Medio geográficoMedio geográfico
Medio geográfico
 
Designing & Orchestrating the Customer Experience
Designing & Orchestrating the Customer ExperienceDesigning & Orchestrating the Customer Experience
Designing & Orchestrating the Customer Experience
 
How Nonprofits Can Leverage Social To Drive Donations, Awareness and Engagement
How Nonprofits Can Leverage Social To Drive Donations, Awareness and EngagementHow Nonprofits Can Leverage Social To Drive Donations, Awareness and Engagement
How Nonprofits Can Leverage Social To Drive Donations, Awareness and Engagement
 
Creating a workflow with Azure Logic and API Apps
Creating a workflow with Azure Logic and API AppsCreating a workflow with Azure Logic and API Apps
Creating a workflow with Azure Logic and API Apps
 
Tarea 3 grupo 3
Tarea 3  grupo 3Tarea 3  grupo 3
Tarea 3 grupo 3
 
Mobile media consumption presentation philippines
Mobile media consumption presentation  philippinesMobile media consumption presentation  philippines
Mobile media consumption presentation philippines
 
Shared Services in Higher Education: conceps, clients, consumers and stakehol...
Shared Services in Higher Education: conceps, clients, consumers and stakehol...Shared Services in Higher Education: conceps, clients, consumers and stakehol...
Shared Services in Higher Education: conceps, clients, consumers and stakehol...
 
Philippines Startup Report - 2013
Philippines Startup Report - 2013Philippines Startup Report - 2013
Philippines Startup Report - 2013
 

Similaire à Hidden Features in HTTP

Resource-Oriented Web Services
Resource-Oriented Web ServicesResource-Oriented Web Services
Resource-Oriented Web ServicesBradley Holt
 
Interactive web. O rly?
Interactive web. O rly?Interactive web. O rly?
Interactive web. O rly?timbc
 
PHP Training: Module 1
PHP Training: Module 1PHP Training: Module 1
PHP Training: Module 1hussulinux
 
Wireshark http solution_v6.1
Wireshark http solution_v6.1Wireshark http solution_v6.1
Wireshark http solution_v6.1Yasin Abdullah
 
KMUTNB - Internet Programming 2/7
KMUTNB - Internet Programming 2/7KMUTNB - Internet Programming 2/7
KMUTNB - Internet Programming 2/7phuphax
 
Webapp security testing
Webapp security testingWebapp security testing
Webapp security testingTomas Doran
 
Webapp security testing
Webapp security testingWebapp security testing
Webapp security testingTomas Doran
 
RESTful SOA - 中科院暑期讲座
RESTful SOA - 中科院暑期讲座RESTful SOA - 中科院暑期讲座
RESTful SOA - 中科院暑期讲座Li Yi
 
RESTful Web Services
RESTful Web ServicesRESTful Web Services
RESTful Web ServicesGreg Hines
 
BDD to the Bone: Using Behave and Selenium to Test-Drive Web Applications
BDD to the Bone: Using Behave and Selenium to Test-Drive Web ApplicationsBDD to the Bone: Using Behave and Selenium to Test-Drive Web Applications
BDD to the Bone: Using Behave and Selenium to Test-Drive Web ApplicationsPatrick Viafore
 
ReST-ful Resource Management
ReST-ful Resource ManagementReST-ful Resource Management
ReST-ful Resource ManagementJoe Davis
 
HTTP demystified for web developers
HTTP demystified for web developersHTTP demystified for web developers
HTTP demystified for web developersPeter Hilton
 
01. http basics v27
01. http basics v2701. http basics v27
01. http basics v27Eoin Keary
 
Web Development From the Ground Up, a Series for Novice ...
Web Development From the Ground Up, a Series for Novice ...Web Development From the Ground Up, a Series for Novice ...
Web Development From the Ground Up, a Series for Novice ...webhostingguy
 
Fun! with the Twitter API
Fun! with the Twitter APIFun! with the Twitter API
Fun! with the Twitter APIErin Shellman
 
Testing REST Web Services
Testing REST Web ServicesTesting REST Web Services
Testing REST Web ServicesJan Algermissen
 

Similaire à Hidden Features in HTTP (20)

HTTP Basics Demo
HTTP Basics DemoHTTP Basics Demo
HTTP Basics Demo
 
Resource-Oriented Web Services
Resource-Oriented Web ServicesResource-Oriented Web Services
Resource-Oriented Web Services
 
Interactive web. O rly?
Interactive web. O rly?Interactive web. O rly?
Interactive web. O rly?
 
PHP Training: Module 1
PHP Training: Module 1PHP Training: Module 1
PHP Training: Module 1
 
Wireshark http solution_v6.1
Wireshark http solution_v6.1Wireshark http solution_v6.1
Wireshark http solution_v6.1
 
KMUTNB - Internet Programming 2/7
KMUTNB - Internet Programming 2/7KMUTNB - Internet Programming 2/7
KMUTNB - Internet Programming 2/7
 
Webapp security testing
Webapp security testingWebapp security testing
Webapp security testing
 
Webapp security testing
Webapp security testingWebapp security testing
Webapp security testing
 
Web Scraping with PHP
Web Scraping with PHPWeb Scraping with PHP
Web Scraping with PHP
 
RESTful SOA - 中科院暑期讲座
RESTful SOA - 中科院暑期讲座RESTful SOA - 中科院暑期讲座
RESTful SOA - 中科院暑期讲座
 
RESTful Web Services
RESTful Web ServicesRESTful Web Services
RESTful Web Services
 
Starting With Php
Starting With PhpStarting With Php
Starting With Php
 
BDD to the Bone: Using Behave and Selenium to Test-Drive Web Applications
BDD to the Bone: Using Behave and Selenium to Test-Drive Web ApplicationsBDD to the Bone: Using Behave and Selenium to Test-Drive Web Applications
BDD to the Bone: Using Behave and Selenium to Test-Drive Web Applications
 
ReST-ful Resource Management
ReST-ful Resource ManagementReST-ful Resource Management
ReST-ful Resource Management
 
HTTP demystified for web developers
HTTP demystified for web developersHTTP demystified for web developers
HTTP demystified for web developers
 
01. http basics v27
01. http basics v2701. http basics v27
01. http basics v27
 
Web Development From the Ground Up, a Series for Novice ...
Web Development From the Ground Up, a Series for Novice ...Web Development From the Ground Up, a Series for Novice ...
Web Development From the Ground Up, a Series for Novice ...
 
Fun! with the Twitter API
Fun! with the Twitter APIFun! with the Twitter API
Fun! with the Twitter API
 
Testing REST Web Services
Testing REST Web ServicesTesting REST Web Services
Testing REST Web Services
 
Lecture 6- http
Lecture  6- httpLecture  6- http
Lecture 6- http
 

Plus de Great Wide Open

The Little Meetup That Could
The Little Meetup That CouldThe Little Meetup That Could
The Little Meetup That CouldGreat Wide Open
 
Lightning Talk - 5 Hacks to Getting the Job of Your Dreams
Lightning Talk - 5 Hacks to Getting the Job of Your DreamsLightning Talk - 5 Hacks to Getting the Job of Your Dreams
Lightning Talk - 5 Hacks to Getting the Job of Your DreamsGreat Wide Open
 
Breaking Free from Proprietary Gravitational Pull
Breaking Free from Proprietary Gravitational PullBreaking Free from Proprietary Gravitational Pull
Breaking Free from Proprietary Gravitational PullGreat Wide Open
 
Dealing with Unstructured Data: Scaling to Infinity
Dealing with Unstructured Data: Scaling to InfinityDealing with Unstructured Data: Scaling to Infinity
Dealing with Unstructured Data: Scaling to InfinityGreat Wide Open
 
You Don't Know Node: Quick Intro to 6 Core Features
You Don't Know Node: Quick Intro to 6 Core FeaturesYou Don't Know Node: Quick Intro to 6 Core Features
You Don't Know Node: Quick Intro to 6 Core FeaturesGreat Wide Open
 
Using Cryptography Properly in Applications
Using Cryptography Properly in ApplicationsUsing Cryptography Properly in Applications
Using Cryptography Properly in ApplicationsGreat Wide Open
 
Lightning Talk - Getting Students Involved In Open Source
Lightning Talk - Getting Students Involved In Open SourceLightning Talk - Getting Students Involved In Open Source
Lightning Talk - Getting Students Involved In Open SourceGreat Wide Open
 
You have Selenium... Now what?
You have Selenium... Now what?You have Selenium... Now what?
You have Selenium... Now what?Great Wide Open
 
How Constraints Cultivate Growth
How Constraints Cultivate GrowthHow Constraints Cultivate Growth
How Constraints Cultivate GrowthGreat Wide Open
 
Troubleshooting Hadoop: Distributed Debugging
Troubleshooting Hadoop: Distributed DebuggingTroubleshooting Hadoop: Distributed Debugging
Troubleshooting Hadoop: Distributed DebuggingGreat Wide Open
 
The Current Messaging Landscape
The Current Messaging LandscapeThe Current Messaging Landscape
The Current Messaging LandscapeGreat Wide Open
 
Understanding Open Source Class 101
Understanding Open Source Class 101Understanding Open Source Class 101
Understanding Open Source Class 101Great Wide Open
 
Elasticsearch for SQL Users
Elasticsearch for SQL UsersElasticsearch for SQL Users
Elasticsearch for SQL UsersGreat Wide Open
 
Open Source Security Tools for Big Data
Open Source Security Tools for Big DataOpen Source Security Tools for Big Data
Open Source Security Tools for Big DataGreat Wide Open
 

Plus de Great Wide Open (20)

The Little Meetup That Could
The Little Meetup That CouldThe Little Meetup That Could
The Little Meetup That Could
 
Lightning Talk - 5 Hacks to Getting the Job of Your Dreams
Lightning Talk - 5 Hacks to Getting the Job of Your DreamsLightning Talk - 5 Hacks to Getting the Job of Your Dreams
Lightning Talk - 5 Hacks to Getting the Job of Your Dreams
 
Breaking Free from Proprietary Gravitational Pull
Breaking Free from Proprietary Gravitational PullBreaking Free from Proprietary Gravitational Pull
Breaking Free from Proprietary Gravitational Pull
 
Dealing with Unstructured Data: Scaling to Infinity
Dealing with Unstructured Data: Scaling to InfinityDealing with Unstructured Data: Scaling to Infinity
Dealing with Unstructured Data: Scaling to Infinity
 
You Don't Know Node: Quick Intro to 6 Core Features
You Don't Know Node: Quick Intro to 6 Core FeaturesYou Don't Know Node: Quick Intro to 6 Core Features
You Don't Know Node: Quick Intro to 6 Core Features
 
Using Cryptography Properly in Applications
Using Cryptography Properly in ApplicationsUsing Cryptography Properly in Applications
Using Cryptography Properly in Applications
 
Lightning Talk - Getting Students Involved In Open Source
Lightning Talk - Getting Students Involved In Open SourceLightning Talk - Getting Students Involved In Open Source
Lightning Talk - Getting Students Involved In Open Source
 
You have Selenium... Now what?
You have Selenium... Now what?You have Selenium... Now what?
You have Selenium... Now what?
 
How Constraints Cultivate Growth
How Constraints Cultivate GrowthHow Constraints Cultivate Growth
How Constraints Cultivate Growth
 
Inner Source 101
Inner Source 101Inner Source 101
Inner Source 101
 
Running MySQL on Linux
Running MySQL on LinuxRunning MySQL on Linux
Running MySQL on Linux
 
Search is the new UI
Search is the new UISearch is the new UI
Search is the new UI
 
Troubleshooting Hadoop: Distributed Debugging
Troubleshooting Hadoop: Distributed DebuggingTroubleshooting Hadoop: Distributed Debugging
Troubleshooting Hadoop: Distributed Debugging
 
The Current Messaging Landscape
The Current Messaging LandscapeThe Current Messaging Landscape
The Current Messaging Landscape
 
Apache httpd v2.4
Apache httpd v2.4Apache httpd v2.4
Apache httpd v2.4
 
Understanding Open Source Class 101
Understanding Open Source Class 101Understanding Open Source Class 101
Understanding Open Source Class 101
 
Thinking in Git
Thinking in GitThinking in Git
Thinking in Git
 
Antifragile Design
Antifragile DesignAntifragile Design
Antifragile Design
 
Elasticsearch for SQL Users
Elasticsearch for SQL UsersElasticsearch for SQL Users
Elasticsearch for SQL Users
 
Open Source Security Tools for Big Data
Open Source Security Tools for Big DataOpen Source Security Tools for Big Data
Open Source Security Tools for Big Data
 

Dernier

Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 

Dernier (20)

Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 

Hidden Features in HTTP