应用消息格式:
为什么要定义消息格式?
我们发送的消息就是要传递的内容,比如字符串。
我们在企业中开发的程序通讯,消息往往是有格式定义的。消息格式的定义可以归入OSI网络模型的表示层。
比如:定义的消息包括消息头和消息体。
消息头存放消息的格式数据,比如消息的长度(content-length)、类型(Post/get/delete)、状态(200/404)等等,而消息体存放具体的传送数据。
对于使用TCP传输协议的程序来说,格式定义是一定要明确规定 消息的边界。
因为TCP协议传输的是字节流(bytes stream)如果消息中没有指定边界或者长度,接收方就不知道一个完整的消息从字节流的哪里开始,到哪里结束。
UDP协议通常不需要指定消息边界,因为UDP是数据报协议,应用程序从socket接收到的必定是发送方发送的完整消息。