20170330_请说出HTTP 的两种协议GET 方式和POST 方式的区别

时间:2021-05-20 13:14:53

20170330_请说出HTTP 的两种协议GET 方式和POST 方式的区别


1、请说出HTTP 的两种协议GET 方式和POST 方式的区别?

(1)GET 方式和POST 方式是HTTP 协议中与服务器进行交互的两种方式

(2)我们知道,URL 地址,是用于描述网络上的一个资源,而get、post、put、delete  四个运算符分别对应着对这个资源的查询、修改、增加、删除操作。其中,GET 方式一般用于对这个资源的查询与获取。POST 方式一般用于对这个资源进行更新处理。

(3)它们的区别在于:

  • GET 方式提交的数据会放在URL 地址后面,URL 地址与传输的数据用问号?分割开,其中的参数用 & 符号相连POST 方式提交的数据不会连接在URL 地址后面,而是把它们放在HTTP 包的表单的body 中
  • 因为Web 浏览器对URL 的长度有限制,因此GET 方式传输的数据有大小限制。而POST 方式对传输的数据没有大小限制。
  • GET 方式需要通过地址栏传递值,会带来安全性问题POST 方式需要通过提交表单传递值,不会带来安全性问题。


2、TCP 的长连接和短连接:

(1)TCP 连接:

a、当网络通信采用TCP 协议时,在真正的读写数据之前,server 端和client 端之间必须事先建立一个TCP 连接。

b、当读写数据完成后,双方不再需要这个TCP 连接的时候,它们可以释放这个TCP 连接。

c、TCP 连接的建立需要 3 次握手,而TCP 连接的释放则需要 4 次握手,所以说,每个TCP 连接的建立都是需要消耗资源、消耗时间的。

(2)TCP 短连接:

a、在建立TCP 连接之后,客户端和服务器端就可以进行数据传输了。

b、现在假设,客户端向服务器端发送了一个消息,服务器端返回给客户端一个确认应答信号ACK,以说明自己已经接收到对端发送的数据了,这时,一次读写操作就完成了。

c、此时,双方中的任何一方都可以主动发起 close 操作来断开这个连接(不过通常都是由客户端主动发起close 操作)。

d、从这个例子中可以看到,一般情况下,TCP 短连接时,双方之间只进行一次数据的读写操作

这样的优点就是:TCP 连接便于管理,存在的TCP 连接都是有用处的,不会浪费资源。

PS:简单来说就是:建立连接 --->    进行一次数据传输  ---> 关闭连接


(3)TCP 长连接:

a、同样的,在建立TCP 连接之后,客户端和服务器端就可以进行数据传输了。

b、但是,当一次读写操作完成之后,它们之间的连接并不会主动被断开,后续的数据读写操作依然使用这个TCP 连接

c、这样的缺点就是:TCP 连接之后,不管是否在使用它,它都会保持连接状态,这就会导致对资源的浪费,同时安全性也较差

PS:简单来说就是:建立连接 ---> 一次传输数据---> 二次传输数据---> 三次传输数据--->  ··· ···   ---> 关闭连接


3、IP 地址、MAC地址、端口号的区别:

(1)IP 地址:(32位)

a、IP 地址,指的是使用TCP/IP 协议时指定给主机的32位地址,它用来唯一标识一台主机。

b、IP地址是使用 点分十进制 的形式表示,比如:172.3.68.49 就是一个IP 地址。

c、IP 地址由两部分组成。一部分是网络地址,用来进行路由选择;一部分是主机地址,用来进行在网络内部寻找一个单独的特定的主机。另外,分配给这两部分的 位数 是根据IP 地址的分类来的,包括A类、B类、C类、D类四种。

d、一个IP 地址,使得来自源地址的数据通过路由选择而传递到目的地址变为可能。

(2)MAC地址:(48位)

a、在OSI 参考模型中,有七层,分别是物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。

b、其中的第二层数据链路层又分为两小层,其中之一是逻辑链路层,其中之二便是MAC层,也就是介质访问控制层。

c、这个介质指的就是实际的物理线路,MAC地址也称之为物理地址,与网络无关,就是生产厂家用来标识这些硬件的。MAC地址一般情况下是不可改变,也不可由用户自己设定。

(3)端口号:

a、端口号是用来在一台主机上识别不同的应用程序的。

b、也就是说,一台主机上可以同时运行多个应用程序,那么当这台主机接收到消息后,这个消息送给哪一个应用程序呢?这时就需要端口号来进行寻找了。

c、端口号有两种,一种是固定的端口号,比如HTTP、FTP、TELENT等这些被广泛使用的协议,它们就被分配了固定的端口号,仅供它们自己使用,其他协议使用就是非法的。另一种就是动态分配的端口号,这个时候就需要服务器监听端口号了。



20170330_请说出HTTP 的两种协议GET 方式和POST 方式的区别