Internetska utičnica je izraz koji se koristi za identifikaciju točke veze koju bilo koji računalni softverski program može koristiti za prijenos podataka putem Interneta. Oni nisu fizička konstrukcija, poput zidne električne utičnice, već su koncept računalnog softvera. S takvom utičnicom, svi potrebni podaci mogu putovati naprijed-natrag od programa koji se izvodi na jednom računalu do programa koji se izvodi na drugom; u mnogim slučajevima, to je za i od klijenta i poslužitelja. Pojam se također koristi za označavanje sučelja za programiranje aplikacija (API) koje računalni programeri mogu koristiti za stvaranje takvih mrežnih aplikacija koje mogu slati i primati podatke putem Interneta.
Utičnice rade na gornjim slojevima hrpe internetskog protokola (IP), poznatom kao transportni sloj, gdje se podaci prenose iz aplikacije prema dolje u mrežu putem operativnog sustava. Kada aplikacija na računalu želi slati i primati podatke s mrežne veze, traži od operativnog sustava da otvori internetsku utičnicu. Utičnica je postavljena koja se sastoji od informacija o protokolu, kao što je protokol korisničkih datagrama (UDP) ili protokol kontrole prijenosa (TCP), kao i adrese za slanje i primanje oba računala i broj IP porta za vezu. Također je moguće stvoriti internetsku utičnicu koja zaobilazi operativni sustav i šalje neobrađene pakete bez prethodnog dopuštanja operativnom sustavu računala da se bavi dodatnim informacijama o utičnici.
Kako se obično koristi na internetskom poslužitelju, poslužiteljski softver se pokreće i otvara utičnicu za slušanje. Kako poslužitelj prima zahtjev za podacima, tada stvara jedinstvenu utičnicu za klijenta koji je zatražio, koju zatim koristi za prijenos svih traženih podataka. Ove vrste veza također se nazivaju sesijom, budući da poslužitelj zatvori utičnicu nakon što klijent završi. Na taj način poslužitelj može stvoriti bilo koji broj istodobnih utičnica s drugim klijentima, svaki sa svojim jedinstvenim identifikatorom, i isporučiti podatke koji su jedinstveni za svakog klijenta.
Kao takve, postoje tri općenite vrste internetskih utičnica. Jedan takav tip je datagram socket. To su brze utičnice koje ne zahtijevaju dodatnu komunikaciju za uspostavljanje namjenske veze prije slanja paketa podataka. Iz tog razloga se često nazivaju utičnicama bez veze i koriste UDP kao svoj transportni protokol. Oni su nešto poput metode pali i zaboravi, jer nema provjere slijeda paketa ili ispravljanja pogrešaka.
Međutim, utičnice orijentirane na povezivanje, koje se nazivaju stream socket, prolaze kroz nekoliko dodatnih koraka za uspostavljanje komunikacijske veze između klijenta i poslužitelja. Oni koriste TCP, ili drugi protokol poznat kao protokol prijenosa kontrole toka (SCTP), za transport. Ova vrsta internetske utičnice je pouzdanija i ima sredstva za rješavanje grešaka kao što su paketi koji nedostaju.
Još jedna jedinstvena vrsta internetske utičnice koristi se prvenstveno za usmjeravanje računalne mreže. Ova vrsta utičnice preskače transportni sloj IP stoga, umjesto da prosljeđuje paket iz mreže ravno u aplikaciju s još netaknutim informacijama o utičnici. Takve neobrađene utičnice omogućuju puno bržu isporuku paketa aplikaciji, budući da operacijski sustav računala ne mora prvi proći put s paketima. Internetski protokol kontrolnih poruka (ICMP) koristi takve sirove utičnice kada jedno računalo jednostavno želi “pingovati” drugo.