How do HTTP requests and responses work, including status codes, headers, and the TLS handshake process?