5. nät och protokoll
●
skapade curl och är maintainer
●
leder projekten cares och libssh2
●
deltar inom IETFs arbetsgrupper
bland annat HTTPbis, ftpext2,
httpstate och hybi
6. IETF
● “löst sammansatt organisation som
arrangerar diskussioner och
överenskommelser om den teknik som skall
användas på Internet” (Wikipedia)
● “rough consensus and running code”
● grundades 1986
● RFCer
8. HTTPbis
● startade 2007
● uppdaterar RFC2616, tar in errata, tar
bort saker saker som inte funkar eller
aldrig använts
●
hitta inte på något nytt! det är
fortfarande HTTP 1.1
● klargör svåra avsnitt
● 2010 lades HTTP authentication till
10. httpstate
●
inspirerat av HTTPbisgruppens
jobb
●
dokumentera hur cookies
används
●
Existerande specar obsoletas
●
överväg nyheter som kommit
utanför specar
11. historia
●
Uppfanns av Lou Montulli (Lynx
och sedan Netscape) i början av
90talet
●
(även blinktaggen!)
12. Netscape”specen”
●
1994
●
stora luckor
●
inte HTTPmässigt
●
problem med charset
●
klantig datum/expirehantering
●
domainattribut med problem
18. Nu det tredje försöket
● Baserat på Netscapespecen
● Lägg till MaxAge och HTTPonly
● Browservendors ombord
● Inkluderar saker som ordningssortering, hur man
parsar datum och hur långa cookies får vara.
● Har inte löst TLDdomainproblemet
● Hur gör de flesta?
● Testa
● Dokumentera
20. Cookie RFC på riktigt
●
Därför att det inte är något nytt
●
Därför att alla redan nästan gör
såhär
●
Därför att form+cookie auth är
en dominerande loginteknik på
webben
22. Bidirektionell eller server
initierad HTTP
●
Traditionellt löst med longpolling
eller AJAX
●
WHATWGs arbete med HTML5
introducerade konceptet
●
WHATWG lämnade över
protokolldelen till IETF i mars 2009
●
Det där med serverinitierad...
24. Politiken kunde börja
●
WHATWG är inte en standard
organisation
●
IETF är väldigt annorlunda än
WHATWG
●
En bestämmer vs konsensus
●
Browservendorsklubb vs alla
som vill vara med
25. Requirement document
●
Vad ska Hybi / WebSockets
egentligen klara av?
●
Dokumentet har aldrig blivit till
något som används
●
WebSockets är ett meddelande
baserat protokoll för bidirektionell
trafik över TCP
26. API + protokoll
●
WebSockets är att javascriptAPI
enligt HTML5
●
WebSockets är ett TCPbaserat
protokoll
27. Diskussionspunkter
● text och/eller binärt
● HTTP compliance
● längdfält eller startstop
● fixedlength längdfält eller variabelt
● storlek på fixedlength fält
● hur hantera extensions
● hur undvika crossprotocol attacker
● HTTP upgrade, CONNECT eller annat
● egen port eller port 80 / 443
● Masking eller inte
● Vilken sorts masking: XOR, HMAC eller AES
28. Webbläsare
●
Chrome och Safari skeppar 00
●
Firefox och Opera disablade pga
säkerhet
●
IE är inte med på tåget
●
Alla vill se WebSockets skeppat
35. Client masking
●
The client MUST mask all frames
sent to the server.
●
Omaskerat från servern
●
Syftet är att undvika cross
protocol attacker och cache
poisoning