HTTP упорна конекција, такође се зове HTTP одржавање (engl. keep-alive), или Поновно коришћење HTTP конекције, је идеја коришћења једне TCP конекције за слање и примање више HTTP захтева и одговора, супротно отварању нове конекције за сваки појединачан пар захтева и одговора.
Под HTTP 1.0, не постоји стандард како HTTP одржавање функционише. Суштински је додавано постојећем протоколу. Ако клијент подржава HTTP одржавање, он додаје заглавље захтеву:
Онда, када сервер прими овај захтев и генерише одговор, такође додаје залгавље у тај одговор:
Пратећи ово, конекција није прекинута, уместо тога је задржана. Када клијент пошаље још један захтев користи исту конекцију. Ово ће се наставити док клијент или сервер не одлучи да прекине комуникацију, и један од њих затвори конекцију.
У HTTP 1.1, све конекције се сматрају упорним ако се не наведе супротно.[1] HTTP упорне конекције не користе одвојене одржавајуће поруке, оне само допуштају да више захтева користи једну конекцију. Какогод, нормални тајмаут Apache 2.0 сервера 15 а Apache 2.2 свега 5 секунди.[2] Предност кратког трајања је способност да се брзо достави више компоненти веб странице док се не користи превише ресурса за покретање више серверских процеса или нити предуго.[3]
По RFC 2616 (стран 46), клијент за једног корисника не би требало да одржава више од 2 са било којим сервером или проксијем. Прокси би требало да користи 2×N конекција ка другом серверу или проксију, где N представља број истовремено активних корисника. Ове смернице имају за циљ да побољшају HTTP време одзива и избегну загушења. Ако је HTTP pipelining коректно имплементиран, нема добитка перформанси од додатних конекција, а додатне конекције могу да изазову проблеме загушења.[4]
Предложено је да са модерном распрострањеном мрежом са високим пропусним опсегом, и малим кашњењем везе, одржавање не би било корисно као што је некада било. Веб сервер ће држати отворену конекцију одређен број секунди (стандардно 5 код сервера Apache 2.2), и може да више умањи перформансе него што би их повећао.[5]
Одржавање HTTP конекције може изазвати неочекивано понашање ако је клијент подешен да користи прокси. Ако клијент успостави упорну конекцију на прокси, он онда може да шаље HTTP захтеве различитим домаћинима преко исте везе.
Нетскејп навигатор и Интернет експлорер подржавају упорне конекције на веб серверима и проксију.
Нетскејп не затвара упорне конекције користећи временско ограничење. Све упорне конекције које мирују су на стању чекања. Када је потребно да се отвори нова упорна конекција на другом серверу, конекције у стању мировања се затварају од стране прегледача користећи неке видове LRU алгоритама.[6]
Интернет експлорер подржава упоредне везе. По стандарду, верзије 6 и 7 користе 2 упорне везе док верзија 8 користи 6.[7] Упорне конекције се завршавају након 60 секунди неактивности, што се може променити помоћу Виндоуз регистра.
Мозила фајерфокс подржава упорне конекције. Број симултаних конекција може бити измењен (по серверу, по проксију). УПорне конекције нестају након 115 секунди, што се може променити путем подешавања.[8]
Опера подржава упорне конекције од верзије 4.0. Број симултаних конекција може бити промењен.