\chapter {用于通信编程中的主要协议}
我们将讨论在编程中可以使用多少种协议。

\section {Ethernet}
有人说这是物理协议。 我不信。 即使它们在铜线中运行，您仍然必须使用数字设备来处理它，并且该设备需要被编程。

\section{IP}
IP代表\textbf{Internet协议}。

这是通过网络发送数据的一组规则。

但是对我来说，我认为它是某个特定计算机的身份标识，有了它，您就可以通过Internet访问世界上的任何计算机。

\section{UDP}
UDP代表\textbf{用户数据报协议}。

使用UDP，计算机应用程序可以将消息（在这种情况下称为数据报）发送到网络上的其他主机。

但是UDP不可靠。 UDP应用程序必须能够接受某些数据包丢失、乱序、错误或者重复。

UDP通常会在\textbf {流媒体}，\textbf{实时多人游戏}和\textbf{IP语音（VoIP）}上使用。 因为对于那些应用程序，丢失数据包通常不是致命的问题。

\section{TCP}
TCP是指\textbf{传输控制协议}。

TCP在通过IP网络，在不同主机上运行的不同应用程序之间，提供可靠、有序且经过错误检查的字节流传输。 诸如\textbf {World Wide Web}，\textbf {Email}之类的互联网应用程序都依赖于TCP。

这是一个流行的协议。 许多其他的协议都基于TCP开发。

\section{HTTP}
HTTP指\textbf {超文本传输协议}。

它用于在线表示信息。

我不能再强调它的重要性了。 因为它是现代网络的基础。

网站是使用HTTP协议的最终产品。

\section{HTTPS}
它是HTTP的升级版本。 它使用某种技术来确保HTTP传输的安全性。

因此，在接下来的十年中，如果您看到有人仍在使用纯HTTP协议，那将是不安全的。 通过该协议传输的数据可能会泄露给坏人。

\section{socket}
从技术上讲，它不是协议，只是端点的名称。

实际上，套接字通常是指IP网络中的两个端点，它是一种用于\textbf{一对一连接}的术语。

\section{WebSocket}
有时人们不希望直接将套接字与系统编程语言（例如Python）一起使用，而是希望与浏览器（网站）建立点对点连接。

这就是WebSocket的来源，它是用于在网站或浏览器上创建套接字连接的协议。