Browser sniffing (også kendt som browser sniffing ) er et sæt teknikker, der bruges på websteder og webapplikationer til at bestemme den webbrowser en besøgende bruger og give den besøgende indhold, der matcher browseren. Det bruges også til at registrere mobilbrowsere og sende mobiloptimerede websteder til dem. Denne praksis bruges nogle gange til at omgå inkompatibilitet på tværs af browsere på grund af fejlfortolkning af HTML , Cascading Style Sheets (CSS) eller Document Object Model . Selvom World Wide Web Consortium vedligeholder opdaterede centrale versioner af nogle af de vigtigste webstandarder i form af anbefalinger, er der i praksis ingen softwareudviklere, der har udviklet en browser, der nøjagtigt overholder disse standarder; implementeringen af andre standarder og protokoller såsom SVG og XMLHttpRequest adskiller sig også. Som følge heraf viser forskellige browsere den samme side på forskellige måder, hvilket er grunden til, at browserscanning for at opdage webbrowseren er designet til at sikre ensartet visning af indhold.
Websider kan bruge programmeringssprog såsom JavaScript , som tolkes af brugeragenten, og resultaterne sendes til webserveren . For eksempel:
var isIEBrowser = falsk ; if ( vindue . ActiveXObject ) { isIEBrowser = sand ; } // Eller kortere: var isIE = ( vindue . ActiveXObject !== undefined );Denne kode køres af klientcomputeren, og resultaterne bruges af anden kode til at foretage de nødvendige justeringer på klientsiden. Dette eksempel beder klientcomputeren om at afgøre, om browseren kan bruge ActiveX -funktionen . Da denne funktion er proprietær til Microsoft , vil et positivt resultat betyde, at klienten kan køre Microsoft Internet Explorer . Dette er dog ikke længere en pålidelig indikator, efter at Microsoft frigav ActiveX-koden som open source, hvilket betyder, at den kan bruges i enhver browser.
Webserveren kommunikerer med klienten ved hjælp af en kommunikationsprotokol kendt som HTTP eller Hypertext Transfer Protocol, som angiver, at klienten sender information til serveren om den browser, der bruges til at se webstedet i brugeragentstrengen .
Omfattende browserteknologier gør det muligt konstant at spore brugere, selvom de forsøger at forblive anonyme. Se enhedsfingeraftryk for at få flere oplysninger om browserfingeraftryk, en relativt ny teknologi til at identificere en brugers browser.
Mange websteder bruger browseranalyse til at afgøre, om en besøgendes browser kan bruge bestemte funktioner (såsom JavaScript , DHTML , ActiveX eller Cascading Style Sheets ) og vise en fejlside, hvis den bestemte browser ikke implementerer disse funktioner. Det er dog næsten umuligt at tage højde for det store udvalg af browsere, der er tilgængelige for brugerne. Typisk vil en webdesigner, der bruger browsersniffing til at bestemme, hvilken side der skal leveres, teste for de tre eller fire mest populære browsere og levere indhold, der er skræddersyet til hver. Hvis en bruger bruger en ubekræftet brugeragent , er der ingen garanti for, at en brugbar side vil blive serveret; således kan brugeren blive tvunget til enten at skifte browser eller undgå sådanne sider. World Wide Web Consortium , som sætter standarder for websidedesign, anbefaler, at hjemmesider designes i overensstemmelse med dets standarder og tilpasses til "gracefully fail", når de vises i en browser, der ikke kan håndtere en bestemt standard.