title: NodeJS is throwing an error on a route starting with a percent sign
body: <p>I have a server written NodeJS, where the backend setup is something like this</p>
  
  <pre><code>app.use(express.static(__dirname))
  
  app.get('/', function(req, res){
    res.send('main page here')
  });
  
  app.get('/*', function(req, res){
    res.send('404 dude')
  });
  
  app.use(function(err, req, res, next){
    console.error(err.stack);
  });
  </code></pre>
  
  <p>When I hit my server at <code>/%</code>, I get this stack trace:</p>
  
  <pre><code>Error: Bad Request
      at SendStream.error (/Users/danielchao/code/node/node_modules/express/node_modules/send/index.js:239:16)
      at SendStream.pipe (/Users/danielchao/code/node/node_modules/express/node_modules/send/index.js:411:32)
      at serveStatic (/Users/danielchao/code/node/node_modules/express/node_modules/serve-static/index.js:107:12)
      at Layer.handle [as handle_request] (/Users/danielchao/code/node/node_modules/express/lib/router/layer.js:82:5)
      at trim_prefix (/Users/danielchao/code/node/node_modules/express/lib/router/index.js:270:13)
      at /Users/danielchao/code/node/node_modules/express/lib/router/index.js:237:9
      at Function.proto.process_params (/Users/danielchao/code/node/node_modules/express/lib/router/index.js:312:12)
      at /Users/danielchao/code/node/node_modules/express/lib/router/index.js:228:12
      at Function.match_layer (/Users/danielchao/code/node/node_modules/express/lib/router/index.js:295:3)
      at next (/Users/danielchao/code/node/node_modules/express/lib/router/index.js:189:10)
  </code></pre>
  
  <p>Why is my static assets handler erroring out on this? Ideally this should really be handled as a 404.</p>