fix: We should use the standard http protocol to handler the etag header.

We should use the standard http protocol to handler the etag header. The 'headers.etag' in newer versions of express.js will not work anymore. Besides, people should not have to depend on express.js to use socket.io.