It turns out the problem wasn't to do with server B, it was server A.
Server A is implemented in Java using the Netty API.
The HTTP response was too long and it was being chunked and I didn't have a HttpChunkAggregator in my pipeline, once I added it in everything was fine.
ClientBootstrap cb = new ClientBootstrap(cf);
cb.getPipeline().addLast("codec", new HttpClientCodec());
cb.getPipeline().addLast("chunkaggregator", new HttpChunkAggregator(1048576));
cb.getPipeline().addLast("inflater", new HttpContentDecompressor());
cb.getPipeline().addLast("handler", new OutboundHandler());
I did check the browser source externally and the code was there, thank you for your comments they did lead me in the right direction!