1) Un "file JPG" può essere identificato dall'estensione sulla richiesta HTTP, ed è banale che un proxy blocchi. Ma le estensioni non sono molto significative sul web, quindi quello che un proxy dovrebbe davvero cercare è quando il server web restituisce i dati con il tipo di contenuto "image / jpeg", a quel punto può scegliere di intraprendere azioni alternative. Ma le intestazioni del tipo di contenuto non sono nemmeno l'ultima parola; i browser non si basano esclusivamente sulle intestazioni del tipo di contenuto. Un tag img farà sì che il browser effettui una richiesta alla risorsa indicata nell'attributo src e farà del suo meglio per visualizzare i dati restituiti come immagine, indipendentemente dall'intestazione del tipo di contenuto (che potrebbe essere errata a causa di una configurazione errata o come atto di malizia). Quindi un proxy che voleva davvero bloccare i dati JPEG avrebbe bisogno di esaminare il corpo di ogni risposta. Le intestazioni dei file JPEG sono abbastanza facilmente identificabili, quindi non sarebbe troppo difficile.
2) Se la connessione è crittografata end-to-end, non può vedere o modificare i dati. Non è raro che un firewall aziendale esegua attivamente connessioni HTTPS man-in-the-middle, generando certificati del sito firmati con un certificato di origine che è stato inviato a tutte le workstation. In questo caso, è lo stesso del caso 1.
3) La domanda implica che il tunnel VPN sia terminato prima di B. Quindi ciò che B vede è HTTP non crittografato, come nel caso 1.