XHR, neboli XMLHttpRequest, je webové API, které umožňuje webovému prohlížeči odesílat HTTP požadavky na server a přijímat odpovědi na pozadí, aniž by bylo nutné znovu načíst celou stránku. Navzdory svému názvu, který obsahuje "XML", dokáže pracovat s jakýmkoliv formátem dat, přičemž dnes se nejčastěji používá formát JSON.
Tato technologie je základním stavebním kamenem techniky zvané AJAX (Asynchronous JavaScript and XML). Právě "asynchronní" povaha je klíčová – znamená to, že zatímco na pozadí běží komunikace se serverem (například se načítají nové komentáře pod článkem), uživatel může dál nerušeně pracovat se zbytkem stránky. Jakmile server odpoví, skript na stránce může přijatá data zpracovat a dynamicky aktualizovat jen tu část obsahu, které se to týká.
Ačkoliv byl XHR revoluční a stál u zrodu moderních webových aplikací, jak je známe dnes (např. Google Maps), v současném vývoji je často nahrazován modernějším a flexibilnějším nástrojem – Fetch API. Fetch API nabízí jednodušší a logičtější rozhraní pro práci se síťovými požadavky. Porozumění principu XHR je však stále důležité pro pochopení základů, na kterých dynamický web stojí.