网络基础知识(二)-HTTP、TCP、RPC、SOCKET

yuanxl 1年前 ⋅ 270 阅读

 

TCP(Transmission Control Protocol):传输控制协议是一种面向连接的、可靠的、基于字节流的传输层通信协议。

HTTP(Hyper Text Transfer Protocol):超文本传输协议,运行在TCP之上,是一种通用的、无状态的协议。

在了解TCP、HTTP之前,先熟悉下7层模型和4层模型。

OSI 7层模型
应用层(Application Layer):为网络用户之间的通信提供专用的程序。

表示层(Presentation Layer):主要用于处理两个通信系统中数据或信息的表示方式。它包括数据格式交互,数据加密与解密,数据压缩与解压缩等功能。

会话层(Session Layer):主要功能是在不同的主机上组织各种进程进行会话,并管理数据交换。

传输层(Transport Layer):传送数据的单元是报文Message。向用户提供可靠的端到端的数据服务,透明的传送报文。

网络层(Network Layer):传输数据的单位是分组或包Packet,网络层的主要任务是通过路由算法,为数据包通过通信子网选择最合适的路径。
网络层要实现路由选择、拥塞控制和网络互连等功能。

数据链路层(Data Link Layer):传输数据的单位是帧Frame,采用差错控制和流量控制,使有差错的物理线路变成无差错的数据链路。

物理层(Physical Layer):传输数据的单位为比特bit。主要功能是利用物理传输介质为数据链路层提供物理连接,透明的传递比特流。

TCP/IP 4层模型
应用层(Application Layer):负责实现一切与应用程序相关的功能。一般是可见的,如利用FTP传输一个文件,请求一个和目标计算机的连接,在传输文件的过程中,用户和远程计算机交换的一部分是能看到的。

常见协议:

HTTP:超文本传输协议。

FTP:文件传输协议。

Telnet:远程终端协议。

SMTP:简单邮件传输协议。

DNS:域名服务器协议。

传输层(Transport Layer):负责提供可靠的传输服务。其功能包括:格式化信息流;提供可靠传输。

常见协议:

TCP:控制传输协议。

UDP:用户数据报协议。

网络层(Inter-network Layer):负责网络间的寻址。管理离散的计算机间的数据传输,如IP协议为用户和远程计算机提供了信息包的传输方法,确保信息包能正确到达目的机器。

常见协议:

IP:网际协议。

ICMP:Internet 控制消息协议。

ARP:地址解析协议。

RARP:反向地址解析协议。

网络接口层(Host-to-Net Layer):负责实际数据的传输。

常见协议:

Ethernet:以太网。

FDDI:光纤分布式数据接口。

PPP:点对点协议。

Socket

Socket的中文叫套接字或套接口。起源于UNIX。是针对TCP或UDP的具体接口实现

Http


HTTP是第7层(应用层)协议,它运行在TCP传输层协议之上。

HTTP长连接:复用tcp连接,节省tcp连接建立和断开的消耗。HTTP1.0默认短连接,HTTP1.1默认长连接,客户端和服务端的HTTP首部的Connection都要设置为keep-alive,才能支持长连接。

HTTP1.1/HTTP2.0区别:HTTP1.1基于文本格式传输数据,HTTP2.0采用二进制格式传输数据,多路复用,头部压缩。

RPC

RPC是远程过程调用(Remote Procedure Call),是一种框架。RPC中可以使用HTTP作为通讯协议,通讯协议只是RPC中的一部分。RPC中还有序列化、反序列化等等。

全部评论: 0

    我有话说: