my http protocol implementation