Buon giorno!

ho scritto un proxy in C# utilizzando i socket
di fatto semplice..
1. ascolta le richieste fatte dal browser racchiudendole in un array di byte
(quindi niente problemi di codifica....)
2. copio il contenuto in una stringa (usando decodifica ASCII) per leggere la riga Host: www.qualcosa.it
3. tramite le funzioni DNS estraggo l'ip e ad esso mando la richiesta in byte, il quale rispone e sempre usando byte restituisco tutto al browser (chiudo il socket che collega al sito remoto)
4 chiudo il socket che collega il browser al proxy

funziona sempre su tutti i siti ( compreso megavideo, un clone di youtube )
tranne che per 2 siti, facebook e youtube che restituiscono la loro pagina 404 video non trovato per youtube e èagina non trovata per facebook

a quanto so essi usano ajax o "nuove", hanno delle specifiche particolari???
per esempio i socket devono rimanere aperti?
ho provato di tutto per esempio a vedere se l'URL o la riga "Host: .." della richiesta http fossero diverse, ma niente mi ha dato la soluzione

p.s. lo sto scrivendo in c# perchè ho la necissità di fare così