问题1:什么是协议?
协议定义:实现网络数据交换而建立的规则、约定或标准就称为网络协议。它最终体现为在网络上传输的数据包的格式。
我的理解:协议就是语言,人与人之间的沟通依靠的是语言,而计算机与计算机之间的沟通依靠的就是协议。理解协议是什么最重要的一点就是弄清楚为什么要有协议这个概念,也就是协议的作用是什么?前面已经回答了:协议的作用就是让两台计算机之间能够沟通,能够理解对方传来的信息是什么意思。两个人使用不同的语言是无法沟通的,必须使用相同的语言,同理两台计算机应该使用相同的协议来沟通(同一层)。在理解协议的作用是什么的基础上,再去弄懂各个协议在计算机沟通的过程中存在的意义,即其在计算机通信时发挥的作用。要从这个整体上来学习协议。
问题2:什么是http协议?
由上所述,协议即是语言,是计算机间通信的语言,只是这个语言是分层的。分层定义是为了使某一层协议的改变不影响其他层次的协议,即解耦的思想。http协议为应用层协议。她也体现在数据包格式上。如:请求行、请求头、请求体,响应行、响应头、响应体。通过这样的规定(约定、规则),两台计算机在应用层层面上就能识别对方传递的信息了。
问题3:什么是rpc协议?
rpc的全称即是:remote process call,远端程序调用。他的作用就是让两个计算机上的程序(进程)相互通信。由于两个进程不在同一台计算机内,即不在同一内存空间上,通过本地调用是无法互相调用的,此时远端程序调用应运而生。rpc采用的客户机/服务器模式,客户端调用服务端的服务,底层是通过反射、代理、io、序列化来实现的。

被折叠的 条评论
为什么被折叠?



