## Meta
OS:  macOS
Selenium Version:  3.11, code indicates this should be in master still
Browser:  Chrome

## Expected Behavior
When visiting a page/servlet that does not exist in Grid, a 404 status code should be returned.

## Actual Behavior
A 200 status code is returned for pages that do not exist.

## Steps to reproduce
1) Launch a hub or node
2) Open your browser's network tab
3) Visit localhost:4444/thisdoesntexist

```
Request URL: http://localhost:4444/thisdoesntexist
Request Method: GET
Status Code: 200 OK
```

## More Information
It appears the design for any [non-registered routes](https://github.com/SeleniumHQ/selenium/blob/5457171bd52747eed2ab625607d29670448f4523/java/server/src/org/openqa/grid/selenium/GridLauncherV3.java#L270) to direct to `DisplayHelpServlet`, which [returns the 200](https://github.com/SeleniumHQ/selenium/blob/5457171bd52747eed2ab625607d29670448f4523/java/server/src/org/openqa/grid/web/servlet/DisplayHelpServlet.java#L122).

Considering I typed a page that should not exist, I feel it may be more obvious if a 404 is returned to indicate a problem.

Context: My application was requesting a custom servlet by the wrong name, and became confused when a 200 was returned but the proper action did not occur. A 404 would have very quickly jumped out as a route issue.
};
    servlet.init();
  }
  @Test
  public void testGetHelpPageForStandalone() throws IOException, ServletException {
    assertEquals(servlet.getInitParameter(DisplayHelpServlet.HELPER_TYPE_PARAMETER), "standalone");
    assertEquals(servlet.getInitParameter(ConsoleServlet.CONSOLE_PATH_PARAMETER), "/wd/hub");
    FakeHttpServletResponse response = sendCommand("GET", "/");
    assertEquals(HttpServletResponse.SC_OK, response.getStatus());
    String body = response.getBody();
    assertNotNull(body);
    assertThat(body, containsString("Whoops! The URL specified routes to this help page."));
    assertThat(body, containsString("\"type\": \"Standalone\""));
    assertThat(body, containsString("\"consoleLink\": \"\\u002fwd\\u002fhub\""));
  }
  @Test
  public void testGetHelpPageAsset() throws IOException, ServletException {
    FakeHttpServletResponse response = sendCommand("GET", "/assets/displayhelpservlet.css");
    assertEquals(HttpServletResponse.SC_OK, response.getStatus());
    assertNotNull(response.getBody());
    assertTrue(response.getBody().contains("#help-heading #logo"));
  }
  @Test(expected = UnsupportedOperationException.class)
  public void testNoSuchAsset() throws IOException, ServletException {
    
    
    sendCommand("GET", "/assets/foo.bar");
  }
}