http request lifecycle