O HTTP não se importa - e é independente - de qualquer um dos protocolos de nível mais baixo usados para se transportar, mesmo que seja ele próprio sem estado.
A tecnologia de transporte pode ser TCP, ou o antigo SPX da Novell, ou SCTP, ou qualquer outra coisa que você possa imaginar, e o HTTP ainda funcionará da mesma forma. O HTTP exige um protocolo orientado por streaming ou conexão - e depende da resolução de URLs, mas não se importa como isso é feito.
Esta é uma das razões pelas quais o modelo em camadas ou a pilha de rede existe: A camada de aplicativo não precisa preocupar-se com as camadas inferiores.
O fato de um protocolo de nível inferior ser stateful não significa que algo em cima dele se torne stateful ou que seja obrigatório.
O próprio HTTP é sem estado. Isso significa que os aplicativos precisam implementar outra camada em cima do HTTP para estabelecer o estado. Isso geralmente é feito com cookies de sessão.