(fake) raid он не понимает
$data == "\r\n"
делает не то, что надо. Это сравнение вернёт истину только один раз, когда придёт второй CRLF, потому что первый был не сам по себе, а завершал последнюю строчку заголовка. Вообще, типичный HTTP-запрос выглядит примерно так (только полей обычно побольше):GET / HTTP/1.1\r\n
Host: habrahabr.ru\r\n
Accept-Language: ru-RU,ru;q=0.9,en;q=0.8\r\n
Connection: keep-alive\r\n
Referer: http://habrahabr.ru/\r\n
\r\n