Browser
Fra engelsk browse: græsse, kigge løseligt i en bog, gå på opdagelse.
Betegnelsen for det klient-program, en bruger af World Wide Web-services anvender. I mange tilfælde er det brugerens vigtigste grænseflade til Internettet. En browser kan fundamentalt hente dokumenter skrevet i HTML fra WWW-servere ved hjælp af protokollen HTTP og præsentere dem for brugeren. I dokumentet kan indgå illustrationer i form af billeder i GIF- eller JPEG-format. Dokumenterne lokaliseres ved deres entydige URL, Uniform Resource Locator. Browsere kan også hente dokumenter fra det lokale filsystem. De mest udbredte browsere (Netscape Navigator, Microsoft Explorer, Lynx) kan udover at følge hypertekstens kæder stort set alle også følge referencer, der resulterer i filtransport, elektronisk post, login, netnews og gopher-menuer.
Da den enkelte bruger ofte kun udnytter en begrænset del af WWW's dokumenter, vil det kunne betale sig at anvende en cache i browseren. Mange WWW-servere vil opretholde en cache over dokumenter, de har hentet på brugerens vegne, andre henter på forhånd særligt populære dokumenter; i disse tilfælde giver cachen i browseren meget begrænset udbytte.
HTTP kan også benyttes til at hente andre filer end dokumenter skrevet i HTML. I det omfang, der ikke er indbygget kode til at præsentere disse filer for brugeren, er der et behov for at aktivere eksterne programmer, der kender filtypen. Dette kan ske i form af aktivering af andre (eksterne) programmer, eller ved at browseren sender filen igennem et "plug-in" modul.
Browsere kan også sende data til en server, f.eks. udfyldte blanketter. Anvendes dette til internet handel, vil der være behov for sikkerhedsmekanismer, og dette kan realiseres ved plug-ins. I moderne browsere findes også gerne SSL indbygget.
Med traditionelle HTML-dokumenter overført ved HTTP er der kun begrænset mulighed for at præsentere "aktive" dokumenter, hvor præsentationen af data er dynamisk og i mere eller mindre grad sker interaktivt. Der er et antal løsninger på dette problem, der alle er baseret på lokal afvikling af programstumper, der overføres dynamisk, i modsætning til "plug-ins", der installeres én gang for alle når behovet opstår. Programstumperne kan være skrevet i Java (Java applets), Javascript eller lignende. Disse programstumper giver et alvorligt sikkerhedsmæssigt problem, som ikke altid er løst tilfredsstillende.
