Correct Answer: All of the above
Explanation:
Application layer protocol defines types of messages exchanged, message format, syntax and semantics and rules for when and how processes send and respond to messages.