43

My goal is to implement SPDY protocol (a new experimental protocol by GOOGLE) on IIS servers.

SPDY is a TCP based application level protocol and as such I am guessing that I have to work at TCP level (socket programing) as the built in extensions are for HTTP.

My problem is that once I write a socket programing code to do the same, where do I plug it into IIS7? WAS looks like a good candidate and if so, how do I go about doing it?

Kev
  • 118,037
  • 53
  • 300
  • 385
user776131
  • 439
  • 1
  • 4
  • 3
  • 1
    Why would IIS be involved with this protocol? – John Saunders Jun 02 '11 at 04:55
  • 2
    Well... MS is working on its own version of a faster internet called S&M (Speed+Mobile): http://www.extremetech.com/computing/124153-sm-vs-spdy-microsoft-and-google-battle-over-the-future-of-http-2-0 – Kees C. Bakker Apr 06 '12 at 10:30
  • IIS maker's work related with SPDY is distinguished on http://www.extremetech.com/computing/124153-sm-vs-spdy-microsoft-and-google-battle-over-the-future-of-http-2-0 IIS extensibility is through "IIS modules". Once the module is built (MS build chain is available as Windows SDK) and for almost every tool open source alternatives are also available, besides complete cross-compatible chain's commercial alternative by Borland, just plug-in the module onto the target host through web.Config For up-to-date doc on where to plug-in search for:
    IIS modules web.Config
    – Chawathe Vipul S Jan 09 '13 at 17:43
  • https://github.com/MSOpenTech/HTTP-SPEED-PLUS-MOBILITY and/or check this link https://github.com/MSOpenTech/http2-katana – JP Hellemons Aug 21 '13 at 08:02
  • 3
    I find it a bit funny that this post was closed as off topic, but literally every site talking about IIS/Windows+SPDY on the internet links here =p – Cory Mawhorter Jul 09 '14 at 21:28

1 Answers1

47

IIS has little or nothing to do with SPDY. IIS is just an application server that responds to HTTP requests handed off by the http.sys kernel mode driver. All HTTP requests in Windows are handled by this driver.

This is the level at which SPDY would be need to be implemented.

If you were to implement SPDY you'd need to have this as a shim driver between the TCP stack and http.sys, or maybe even write your own http.sys driver.

Alternatively you could write your own SPDY/HTTP stack but if you wanted to use this with IIS then you're in for a lot of work.

Kev
  • 118,037
  • 53
  • 300
  • 385
  • 4
    `IIS has little or nothing to do with SPDY` How would the web server know to serve assets with SPDY? In my head, I would see it as being a configurable setting in IIS. – Jeff Dec 07 '11 at 15:46
  • 1
    @Jeff - absolutely true - if SPDY was built into IIS. But given that OP is trying to implement this from scratch because presently there is no support at all he's on a bit of a hiding to nothing. That is my point. – Kev Jan 24 '12 at 00:33
  • Please mark as answer if the question was answered. – Kosau Jul 13 '12 at 07:29
  • 1
    @Kosau - I wouldn't hold out much hope, I think the user who asked this question has long since left the site (last seen: Jun 3 '11). :) – Kev Jul 13 '12 at 12:08
  • 1
    Or the OP can use Apache/mod_spdy as a proxy to IIS. SPDY is designed to overcome latency/concurrency problems that localhost connections (routed in-memory) don't show – usr-local-ΕΨΗΕΛΩΝ Dec 23 '14 at 14:16