计算机网络里有应用层握手的概念吗 HTTP需要执行应用层握手吗

该问题探讨的是协议本身的特性。协议指的是通信的时候,通信的参与方之间的约定。答案中很清楚地指出了“握手意味着通信双方在发送数据前先要交换控制报文”。我们看 SMTP 协议,在发送邮件前,客户端和服务器要相互发送 ELHO 和响应等交互信息,这就是 SMTP 协议的握手过程。至于 HTTP 协议(我们暂时不管 HTTP2),我们可以看到,协议的交互过程是,客户端发送请求,指明资源(URI)和方法(GET 或 POST 等)以及其他必要信息,然后服务器进行响应,响应发送完毕后交互过程即结束。因此并没有“握手过程”。

TCP 需要三次握手是没问题的,因此 TCP 也属于需要握手的这类协议。由于网络的分层特性,TCP 的上层协议不当然也是需要握手的。TCP 握手的过程对上层协议是不可见也不可知的。

■网友
计算机网络里有应用层握手的概念吗?有;
2. HTTP需要执行应用层握手吗?
HTTPS是有的
HTTP和HTTPS的区别,SSL的握手过程 - L_mj - 博客园 HTTP是没有的,直接就可以进行request和response的交互的;

3.很疑惑为什么答案说“SMTP在应用层使用握手而HTTP不使用”? 我知道SMTP和HTTP都建立在传输层TCP之上,TCP是需要三次握手的.
这些需要协议握手认证的大都是需要进行端的合法性校验或者要进行内容加密
可以参看
什么是挑战握手认证协议协议,在现实中有哪些应用? 【计算机网络里有应用层握手的概念吗 HTTP需要执行应用层握手吗】


    推荐阅读