$30 off During Our Annual Pro Sale. View Details »

HTTP of Future Past

BigBlueHat
September 27, 2014

HTTP of Future Past

Bringing back the greatness of HTTP/1.1 Beta...and other bits on pushing HTTP farther for fun.

BigBlueHat

September 27, 2014
Tweet

More Decks by BigBlueHat

Other Decks in Technology

Transcript

  1. X-tend:
    HTTP of Future Past

    View Slide

  2. Ohai!

    View Slide

  3. Information Management:
    a proposal
    “VAGUE BUT EXCITING” – CIRCA 1989, 1990
    PDF

    View Slide



  4. distributed, collaborative,
    hypermedia information
    systems

    View Slide



  5. An intriguing possibility, given a
    large hypertext database with
    typed links, is that it allows some
    degree of automatic analysis.

    View Slide



  6. Most systems available
    today use a single
    database.
    …some things never change

    View Slide

  7. HTTP/1.1 Beta
    RFC 2068

    View Slide

  8. HTTP/1.1 Beta – RFC 2068
     One year (1997) before RFC 2616 (1998)
     Lots of good stuff
     Much of it got removed
     Due to lack of implementation…

    View Slide

  9. HTTP/1.1 Beta – RFC 2068
    …gone, daddy gone…
     Methods:
    PATCH
    LINK, UNLINK
     Headers:
    Alternates, Content-Version, Derived-From,
    Link, URI, Public and Content-Base

    View Slide

  10. RELIFY
    RELIFY.COM

    View Slide

  11. LINK / UNLINK
     LINK /html/rfc2068
    Host: tools.ietf.org
    Link: ; rel="about"
     HTTP/1.1 202 Accepted

    View Slide



  12. But what about spam!!1!
    - YOU…JUST A FEW SECONDS AGO

    View Slide

  13. From: byoung@bigbluehat
     Not for “insecure…access protection” (fine)
     How ‘bout Verification?!
     “the request is being performed on behalf of
    the person given, who accepts responsibility
    for the method performed” – RFC 2616
     Send (typical) “click to confirm” email

    View Slide

  14. LINK / UNLINK
     LINK /html/rfc2068
    Host: tools.ietf.org
    Link: ; rel="about"
    From: [email protected]
     HTTP/1.1 202 Accepted

    View Slide

  15. Web Linking – RFC 5988
    Brought back the “Link:” header
    “This document specifies relation types
    for Web links, and defines a registry for
    them. It also defines the use of such
    links in HTTP headers with the Link
    header field.”

    View Slide

  16. RFC 5829
     Link Relation Types for Simple Version
    Navigation between Web Resources
    version-history
    latest-version
    working-copy
    working-copy-of
    predecessor-version
    successor-version

    View Slide

  17. RFC 6573 - The Item and Collection
    Link Relations
    item
    collection

    View Slide

  18. UserInfo.me

    View Slide

  19. UserInfo.me
     http://[email protected]/
     GET /
     Host: bigbluehat.com
     UserInfo: byoung
     Content-Type: text/html

    View Slide

  20. UserInfo.me – profile page
     http://[email protected]/
     GET /
     Host: bigbluehat.com
     UserInfo: byoung
    Content-Type: text/html

    View Slide

  21. UserInfo.me – WebFinger response
     http://[email protected]/
     GET /
     Host: bigbluehat.com
     UserInfo: byoung
    Content-Type: application/jrd+json

    View Slide

  22. UserInfo.me – WebID response
     http://[email protected]/
     GET /
     Host: bigbluehat.com
     UserInfo: byoung
    Content-Type: text/turtle

    View Slide

  23. UserInfo.me – photo
     http://[email protected]/
     GET /
     Host: bigbluehat.com
     UserInfo: byoung
    Content-Type: image/jpeg

    View Slide

  24. UserInfo.me – redirect
     http://[email protected]/
     GET /
     Host: bigbluehat.com
     UserInfo: byoung
     HTTP/1.1 302 Found
     Location: http://twitter.com/bigbluehat

    View Slide

  25. UserInfo.me – the Heretic Variant

    View Slide

  26. UserInfo.me – heretic variant
     http://[email protected]/
     GET /
     Host: bigbluehat.com
    Authorization: YnlvdW5nOg==
     Content-Type: text/html

    View Slide

  27. UserInfo.me – try it!
    curl http://[email protected]/
    curl –H “Accept: text/turtle”
    http://[email protected]/
    curl –H “Accept: image/jpeg”
    http://[email protected]/ >
    byoung.jpg

    View Slide

  28. Read Your RFCs, kids!
    THANKS!

    View Slide