{"action":"created","issue":{"url":"https://api.github.com/repos/javaBin/ems-redux/issues/20","labels_url":"https://api.github.com/repos/javaBin/ems-redux/issues/20/labels{/name}","comments_url":"https://api.github.com/repos/javaBin/ems-redux/issues/20/comments","events_url":"https://api.github.com/repos/javaBin/ems-redux/issues/20/events","html_url":"https://github.com/javaBin/ems-redux/issues/20","id":41142421,"number":20,"title":"If-Modified-Since and Last-Modified for binaries (speaker images)","user":{"login":"chrissearle","id":49564,"avatar_url":"https://avatars.githubusercontent.com/u/49564?v=3","gravatar_id":"","url":"https://api.github.com/users/chrissearle","html_url":"https://github.com/chrissearle","followers_url":"https://api.github.com/users/chrissearle/followers","following_url":"https://api.github.com/users/chrissearle/following{/other_user}","gists_url":"https://api.github.com/users/chrissearle/gists{/gist_id}","starred_url":"https://api.github.com/users/chrissearle/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chrissearle/subscriptions","organizations_url":"https://api.github.com/users/chrissearle/orgs","repos_url":"https://api.github.com/users/chrissearle/repos","events_url":"https://api.github.com/users/chrissearle/events{/privacy}","received_events_url":"https://api.github.com/users/chrissearle/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2014-08-26T06:53:06Z","updated_at":"2015-03-04T15:27:06Z","closed_at":null,"body":"We're updating the iOS app to prevent it downloading speaker images every time you open a session.\r\n\r\nTo do so we're now sending the If-Modified-Since header.\r\n\r\nThis is working fine for gravatar images (48 speakers in 2014) but not for EMS images (111 speakers in 2014).\r\n\r\nNor does EMS send the Last-Modified header - so I have no date to check against.\r\n\r\nOddly - EMS seems to respect If-Modified-Since for non-images - but for images it just returns a 200 OK and the image instead of 304 Not Modified.\r\n\r\nSome sample URLS.\r\n\r\n* http://javazone.no/ems/server/binary/fd901e10-b4fc-4864-9def-a9e75900b324?size=thumb\r\n* http://javazone.no/ems/server/binary/f92f274b-4399-4a08-b464-30192f86cc79?size=thumb\r\n* http://javazone.no/ems/server/binary/03a0d126-f925-4dbc-b4f8-de110b6676a7?size=thumb\r\n* http://javazone.no/ems/server/binary/e737ec8a-74de-491a-9f0f-a4930dcf97e5?size=thumb\r\n* http://javazone.no/ems/server/binary/9f0f547e-8f00-4690-9722-53f1f49d6ebd?size=thumb\r\n* http://javazone.no/ems/server/binary/3b91ecc0-8ce4-466f-a8a6-b725ef5066ab?size=thumb\r\n* http://javazone.no/ems/server/binary/862db91a-4bfd-4dfa-a530-cd68c33c0535?size=thumb\r\n\r\nRelates to https://github.com/javaBin/ems-ios/issues/129"},"comment":{"url":"https://api.github.com/repos/javaBin/ems-redux/issues/comments/77178155","html_url":"https://github.com/javaBin/ems-redux/issues/20#issuecomment-77178155","issue_url":"https://api.github.com/repos/javaBin/ems-redux/issues/20","id":77178155,"user":{"login":"chrissearle","id":49564,"avatar_url":"https://avatars.githubusercontent.com/u/49564?v=3","gravatar_id":"","url":"https://api.github.com/users/chrissearle","html_url":"https://github.com/chrissearle","followers_url":"https://api.github.com/users/chrissearle/followers","following_url":"https://api.github.com/users/chrissearle/following{/other_user}","gists_url":"https://api.github.com/users/chrissearle/gists{/gist_id}","starred_url":"https://api.github.com/users/chrissearle/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chrissearle/subscriptions","organizations_url":"https://api.github.com/users/chrissearle/orgs","repos_url":"https://api.github.com/users/chrissearle/repos","events_url":"https://api.github.com/users/chrissearle/events{/privacy}","received_events_url":"https://api.github.com/users/chrissearle/received_events","type":"User","site_admin":false},"created_at":"2015-03-04T15:27:06Z","updated_at":"2015-03-04T15:27:06Z","body":"OK - weirder than weird.\r\n\r\nThat output was from wireshark - what it actually observed on the wire - not from the client I was testing.\r\n\r\nBut - if I use telnet:\r\n\r\n```\r\n~  » telnet javazone.no 80\r\nTrying 212.71.237.26...\r\nConnected to javazone.no.\r\nEscape character is '^]'.\r\nGET /ems/server/binary/fb08ed18-e50c-4518-af87-bf699dcc7024?size=thumb HTTP/1.1\r\nHost: javazone.no\r\nAccept: */*\r\nIf-Modified-Since: Wed, 18 Jun 2014 10:19:39 GMT\r\nUser-Agent: JavaZone/22 CFNetwork/711.1.12 Darwin/14.1.0\r\nAccept-Language: en-us\r\nAccept-Encoding: gzip, deflate\r\nConnection: keep-alive\r\n\r\nHTTP/1.1 304 Not Modified\r\nServer: nginx/1.1.19\r\nDate: Wed, 04 Mar 2015 15:25:45 GMT\r\nConnection: keep-alive\r\n```\r\n\r\nNote that here I copied and pasted the HTTP conversation above into telnet - and bam - a 304.\r\n\r\nSo now I just don't know what's going on."}}