Socket接口位于应用层和运输层之间,它是一个编程接口便于进行程序开发,可以基于TCP/UDP,但是通常指一次TCP连接。
HTTP则是一种应用层协议,HTTP是一种请求-响应式连接,必须是一问一答的形式(比如web编程,每次服务器必须等待request才能response)web则是基于HTTP协议的。
反序列化:将在序列化过程中所生成的二进制串转换成数据结构或者对象的过程
java中一切皆对象,但是二进制在不同计算机语言中的数据结构等等都不一样,而序列化解决了这个差异问题,可以实现跨系统跨语言调用,java中的二进制串表示为char[]
RPC则实现了跨主机跨内存的远程过程调用
RPC首先通过序列化将调用的方法参数等序列化,然后通过TCP/HTTP/SOCKET等传输到远端,最后在远端反序列化完毕之后进行方法调用并以上述方式返回结果。RPC框架则简化了RPC编程,eg:RMI、Netty