{"action":"created","issue":{"url":"https://api.github.com/repos/IIIF/iiif.io/issues/684","labels_url":"https://api.github.com/repos/IIIF/iiif.io/issues/684/labels{/name}","comments_url":"https://api.github.com/repos/IIIF/iiif.io/issues/684/comments","events_url":"https://api.github.com/repos/IIIF/iiif.io/issues/684/events","html_url":"https://github.com/IIIF/iiif.io/issues/684","id":125038086,"number":684,"title":"Allow alternate endpoints","user":{"login":"azaroth42","id":871868,"avatar_url":"https://avatars.githubusercontent.com/u/871868?v=3","gravatar_id":"","url":"https://api.github.com/users/azaroth42","html_url":"https://github.com/azaroth42","followers_url":"https://api.github.com/users/azaroth42/followers","following_url":"https://api.github.com/users/azaroth42/following{/other_user}","gists_url":"https://api.github.com/users/azaroth42/gists{/gist_id}","starred_url":"https://api.github.com/users/azaroth42/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/azaroth42/subscriptions","organizations_url":"https://api.github.com/users/azaroth42/orgs","repos_url":"https://api.github.com/users/azaroth42/repos","events_url":"https://api.github.com/users/azaroth42/events{/privacy}","received_events_url":"https://api.github.com/users/azaroth42/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/IIIF/iiif.io/labels/image","name":"image","color":"207de5"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2016-01-05T19:54:47Z","updated_at":"2016-01-05T20:39:48Z","closed_at":null,"body":"\r\nAs per discussion at Ghent, introduced by Petr Pridal, there is a limited number of connections that a client will use at a point in time that connect to a single hostname.  This is an issue when multiple tiles of a single image, or many thumbnails from multiple images are needed at the same time to populate a UI.\r\n\r\nThe typical solution to this is to have multiple server names (cdn-a.example.com, cdn-b.example.com, ...) and round-robin requests to equivalent, alternative systems that serve the same image content.\r\n\r\nProposal:  Allow an `alternate` key that that has URI values, where each value is the full base URI ( host/prefix/identifier ) \r\n\r\nThus, something like:\r\n```\r\n{\r\n  \"@context\": \"http://iiif.io/api/image/2/context.json\",\r\n  \"@id\": \"http://a.example.org/prefix/id1234\",\r\n  \"alternate\": [\"http://b.example.org/prefix/id1234\", \"http://a2.other.com/etc/someid\"]\r\n}\r\n```\r\n"},"comment":{"url":"https://api.github.com/repos/IIIF/iiif.io/issues/comments/169126418","html_url":"https://github.com/IIIF/iiif.io/issues/684#issuecomment-169126418","issue_url":"https://api.github.com/repos/IIIF/iiif.io/issues/684","id":169126418,"user":{"login":"acdha","id":46565,"avatar_url":"https://avatars.githubusercontent.com/u/46565?v=3","gravatar_id":"","url":"https://api.github.com/users/acdha","html_url":"https://github.com/acdha","followers_url":"https://api.github.com/users/acdha/followers","following_url":"https://api.github.com/users/acdha/following{/other_user}","gists_url":"https://api.github.com/users/acdha/gists{/gist_id}","starred_url":"https://api.github.com/users/acdha/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/acdha/subscriptions","organizations_url":"https://api.github.com/users/acdha/orgs","repos_url":"https://api.github.com/users/acdha/repos","events_url":"https://api.github.com/users/acdha/events{/privacy}","received_events_url":"https://api.github.com/users/acdha/received_events","type":"User","site_admin":false},"created_at":"2016-01-05T20:39:48Z","updated_at":"2016-01-05T20:39:48Z","body":"I'm not sure I see a compelling value of this for the narrow use-case mentioned: the current browser limits are high enough to hit diminishing returns due to connection setup overhead and TCP window scaling, and HTTP/2 solves that problem completely and is supported by a growing majority (currently just under 80%) of browsers:\r\n\r\nhttp://caniuse.com/#feat=http2\r\n\r\nThe use-case which seems more compelling to me would be situations where the same content is available from multiple partner institutions or where institution maintains mirror copies on-site and through a non-profit/government/commercial hosting company, etc. and would like to indicate that relationship in case the main server is overloaded or offline."}}