Вы можете использовать метод isHttp из примера PortUnification . Он проверяет первые два неподписанных байта полученного сообщения, чтобы определить, является ли это, вероятно, глаголом HTTP, поэтому идентифицирует сообщение как запрос HTTP. Возможно, вам придется немного изменить его, в зависимости от вероятного содержания любых ответов.
private static boolean isHttp(int magic1, int magic2) {
return
magic1 == 'G' && magic2 == 'E' || // GET
magic1 == 'P' && magic2 == 'O' || // POST
magic1 == 'P' && magic2 == 'U' || // PUT
magic1 == 'H' && magic2 == 'E' || // HEAD
magic1 == 'O' && magic2 == 'P' || // OPTIONS
magic1 == 'P' && magic2 == 'A' || // PATCH
magic1 == 'D' && magic2 == 'E' || // DELETE
magic1 == 'T' && magic2 == 'R' || // TRACE
magic1 == 'C' && magic2 == 'O'; // CONNECT
}