restful、HTTP、TCP、socket之间的关系

您所在的位置:网站首页 socket和udp的关系 restful、HTTP、TCP、socket之间的关系

restful、HTTP、TCP、socket之间的关系

2023-10-07 22:28| 来源: 网络整理| 查看: 265

1.HTTP和TCP之间的关系? 举个例子:一个浏览器(客户端)向服务器(服务端)请求一个万维网文档的过程就是一次HTTP请求的过程。首先,客户端要和服务端建立TCP连接,这需要使用三次握手,又称三报文握手。当三次握手的前两部分完成后(即经过一个RTT时间后),最精彩之处来了,客户端会把HTTP请求报文作为第三次握手的报文的数据发送给服务端,服务端再收到HTTP请求报文后,TCP连接建立了,而且还拿到了HTTP请求报文。接着,服务端收到HTTP请求报文后,就把所请求的文档作为响应报文返回给客户端。 解释: 1)HTTP使用了面向连接的TCP作为运输层协议,保证了数据传输的可靠性。 2)每一条TCP连接唯一地被通信两端的两个端点所确定。这两个端点是套接字,套接字是由IP和端口号确定,实则是TCP进程。常见的TCP进程有电子邮件(SMTP)、远程终端接入(TELNET)、万维网(HTTP)、文件传送(FTP),但是它们使用的应用层协议是不同的,之所以将它们归类为TCP进程,是因为它们的应用层协议都是基于运输层协议TCP。注意,套接字还可以使用UDP。 在这里插入图片描述 在这里插入图片描述

3)HTTP报文本质上也是TCP报文,它可以分为HTTP请求报文和HTTP响应报文。在浏览器中看到的HTTP报文内容是来自TCP报文段的数据部分,而不是TCP报文段的首部。 4)所有报文都不可避免地要经过交换机、路由器。 5)浏览器最开始还进行了域名解析的操作。

2.restful和http之间的关系? restful是一种制作URL的风格,好比设计模式之于代码制作。在没有使用restful之前,URL是风格非常混乱,就比如有人制作的URL中经常包含动词,这是非常不符合URL自身含义的,因为URL作为资源定位符,不应该出现动词。自从有了restful后,URL就可以彻底避免出现动词这种现象。其实,不仅如此,restful的出现,使得URL风格得到统一,可读性更好,性能更佳。

3.socket套接字 1)进程通信的方法有管道、命名管道、信号、消息队列、共享内存、信号量,这些方法都要求通信的两个进程位于同一个主机。但是如果通信双方不在同一个主机又该如何进行通信呢?在计算机网络中我们就学过了tcp/ip协议族,其实使用tcp/ip协议族就能达到我们想要的效果。但是,当我们使用不同的协议进行通信时就得使用不同的接口,还得处理不同协议的各种细节,这就增加了开发的难度,软件也不易于扩展。于是UNIX BSD就发明了socket这种东西,socket屏蔽了各个协议的通信细节,使得程序员无需关注协议本身,直接使用socket提供的接口来进行互联的不同主机间的进程的通信。这就好比操作系统给我们提供了使用底层硬件功能的系统调用,通过系统调用我们可以方便的使用磁盘(文件操作),使用内存,而无需自己去进行磁盘读写,内存管理。socket其实也是一样的东西,就是提供了tcp/ip协议的抽象,对外提供了一套接口,同过这个接口就可以统一、方便的使用tcp/ip协议的功能了。套接字本质上是作为应用层的进程和运输层协议之间的接口。 未使用socket前 使用socket后

2)在套接字以上的进程受应用程序控制,在套接字以下的运输层协议软件则受操作系统控制。 3)当应用进程(客户或服务器)需要使用网络进行通信时,必须首先发出socket系统调用,请求操作系统为其创建一个“套接字”。这个系统调用的实际效果是请求操作系统把网络通信所需要的一些系统资源(存储器空间、CPU时间、网络带宽等)分配给该应用进程。操作系统把这些资源的总和用一个叫做“套接字描述符”的号码来表示,然后把这个套接字描述符返回给应用进程。此后,应用进程所进行的网络操作(建立连接、收发数据、调整网络通信参数等)都必须使用这个套接字描述符。 4)套接字是由IP和端口号确定,实则最终指向应用进程。 5)套接字即可以基于TCP,也可以基于UDP。 6)tomcat原理详解和请求过程(涉及网卡、套接字等) https://blog.csdn.net/nn1656353506/article/details/104107737 7)【Tomcat8源码学习之十二】Tomcat请求处理过程之套接字监听 https://www.cnblogs.com/cac2020/p/12795359.html



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3