Sniffování prohlížeče (také známé jako sniffování prohlížeče ) je soubor technik používaných na webových stránkách a webových aplikacích k určení webového prohlížeče , který návštěvník používá, a poskytnutí obsahu, který odpovídá prohlížeči. Používá se také k detekci mobilních prohlížečů a odesílání webových stránek optimalizovaných pro mobily. Tento postup se někdy používá k překonání nekompatibility mezi různými prohlížeči kvůli nesprávné interpretaci HTML , kaskádových stylů (CSS) nebo Document Object Model . Ačkoli World Wide Web Consortium udržuje aktuální centrální verze některých nejdůležitějších webových standardů ve formě doporučení, v praxi žádný vývojář softwaru nevyvinul prohlížeč, který by přesně odpovídal těmto standardům; liší se také implementace dalších standardů a protokolů, jako jsou SVG a XMLHttpRequest . V důsledku toho různé prohlížeče zobrazují stejnou stránku různými způsoby, a proto bylo skenování prohlížeče za účelem zjištění webového prohlížeče navrženo tak, aby zajistilo konzistentní zobrazení obsahu.
Webové stránky mohou používat programovací jazyky jako je JavaScript , které jsou interpretovány User agentem a výsledky jsou odesílány na webový server . Například:
var isIEBrowser = false ; if ( okno . ActiveXObject ) { isIEBrowser = true ; } // Nebo kratší: var isIE = ( okno . ActiveXObject !== undefined );Tento kód spouští klientský počítač a výsledky používá jiný kód k provedení nezbytných úprav na straně klienta. Tento příklad žádá klientský počítač, aby zjistil, zda prohlížeč může používat funkci ActiveX . Protože je tato funkce majetkem společnosti Microsoft , pozitivní výsledek bude znamenat, že klient může spustit Microsoft Internet Explorer . To však již není spolehlivým ukazatelem poté, co Microsoft uvolnil kód ActiveX jako open source, což znamená, že jej lze použít v jakémkoli prohlížeči.
Webový server komunikuje s klientem pomocí komunikačního protokolu známého jako HTTP nebo Hypertext Transfer Protocol, což znamená, že klient odesílá serveru informace o prohlížeči použitém k zobrazení webové stránky v řetězci User agent .
Rozsáhlé technologie prohlížečů umožňují neustále sledovat uživatele, i když se snaží zůstat v anonymitě. Další informace o snímání otisků prstů v prohlížeči, relativně nové technologii pro identifikaci prohlížeče uživatele, najdete v části Device Fingerprinting .
Mnoho webových stránek používá analýzu prohlížeče k určení, zda prohlížeč návštěvníka může používat určité funkce (jako je JavaScript , DHTML , ActiveX nebo kaskádové styly ) a zobrazí chybovou stránku, pokud konkrétní prohlížeč tyto funkce neimplementuje. Je však téměř nemožné vzít v úvahu obrovskou rozmanitost prohlížečů, které mají uživatelé k dispozici. Webový designér, který pomocí čichání prohlížeče určí, kterou stránku má poskytnout, obvykle otestuje tři nebo čtyři nejoblíbenější prohlížeče a poskytne obsah přizpůsobený pro každý z nich. Pokud uživatel používá neověřeného User agenta , není zaručeno, že bude obsloužena použitelná stránka; uživatel tak může být nucen změnit prohlížeč nebo se takovým stránkám vyhnout. World Wide Web Consortium , které nastavuje standardy pro návrh webových stránek, doporučuje, aby byly webové stránky navrženy podle jeho standardů a přizpůsobeny tak, aby při zobrazení v prohlížeči, který nezvládne konkrétní standard, „selhávaly“.