Discussion\n\nHTTP/1.1 review\n\n\nWidespread adoption in 1996 with full standard in 1997 RFC 2068 and later replaced with one in 1999 RFC 2616\nRequest (URL, method, headers, body) & Response (status code, headers, body)\nInherently async\nBuilt for HyperText, makes it have problems\n\n\nHead of line blocking\n\n\ncombining payloads to 1 response\nmultiple connections (Connection: Keep-Alive vs Close)\nHTTP Pipelining\n\n\nNo cancellation, have to tear down connection\nNo prioritization, round robin over connections\n\n\niOS/Mac\n\n\nNSURLRequest (NSHTTPURLRequest) and NSURLResponse (NSHTTPURLResponse)\nNSURLConnection and NSURLSession\n\n\n\n\n\nHTTP/2\n\n\nStarted by Google with SPDY (2012 - 2016), latest is SPDY/3.1\nHTTP/2 is a binary protocol, where 1 and 1.1 are text\nPrevious episode on SPDY with M Schore\nReached standard in 2015 with RFC 7540 and adopted by Apple with iOS 9, Mac OS X 10.11\nResolves many issues with new features:\n\n\nmultiplexing (helps with head of line problem in HTTP/1.1)\n\n\ncancellation\nheader compression\n\n\nAlways there\nplain text, optimal for compression\n\n\ndynamic prioritization\n\n\n\n\nbe responsible, set lower priority when possible\n\n\nnot guaranteed that the server will prioritize because it is optional in HTTP/2 spec\npush responses (Nolan\u2019s not a fan)\n\n\nnot supported by Apple\n\n\n\n\nUpgrade to HTTP/2 dynamically with Upgrade Header or ALPN\n\n\nApplication Layer Protocol Negotiation, ALPN is during TLS and far more efficient than Upgrade header\nNPN (Next Protocol Negotiation)\n\n\n\n\n\nPicks\n\nNolan\n\n\nAkamai HTTP/2 Demo - Good info at https://http2.akamai.com\nHTTP/2 Test - Test supported domains\n\n\n\nDarryl\n\n\nWhat Every iOS Developer Should Be Doing With Instruments - Great introduction to Instruments by Kevin Kazmeirczak\n\n\n\nJohn\n\n\nClockKit Tutorial: Add Complication to an Already Existing Watch Project from Kristina Thai\n\n\n\nJason\n\n\nRescueTime - Time management software