首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

直击春招01-计算机网络

HTTP请求的GET与POST方式的区别

从语义上理解,GET用于从指定资源获取数据,POST用于向指定资源提交数据,实际上也没有完全这样做;

GET的数据会作为url的一部分,POST把提交的数据则放置在是HTTP包的包体中,因为这个原因,GET请求被看做比POST更安全;

因为浏览器和服务器的原因,不能处理那么长的url,对GET请求数据长度做了限制,POST则没有限制;

GET请求是可以缓存的,POST请求一般不被缓存;

GET请求页面后退时,不产生影响,POST请求页面后退时,会重新提交请求

TCP三次握手中,最后一次握手可不可以不要?

最后一次确认主要是为了防止已失效的连接请求报文段又传回到服务器,产生错误。在日常生活中,如果我要请你吃饭,只要向你发出请求,然后收到你的确认就可以了,不用我再确认。但是假象这种情况,我在一号给你发消息说请你吃饭,但是一直没有收到你的回复,我就在二号再次发消息说请你吃饭,这次终于收到你的回复并在二号一起吃了饭。但是后来出现了戏剧性的一幕,你又收到了我请你吃饭的消息,没错,这个消息正是我第一次发给你的,它被阻塞在某个结点,但是你直到现在才收到,你以为我又要请你吃饭。。。

对于TCP来说,如果连接释放后服务器才收到客户端第一次发送的连接请求,服务器会发出确认,如果没有第三次握手,那么连接到这里就建立了,客户端因为没有发送连接请求,不会理睬服务器的确认,但是服务器一直在等客户端发送数据,服务器的资源就被浪费了。

TCP四次挥手中为什么客户端在TIME-WAIT转态必须等待2*MSL时间呢?

一是为了保证客户端发送的最后一个确认报文能够到达服务器。这个ACK报文可能会丢失,如果服务器在LAST-ACK状态没有收到确认,它就会重传FIN+ACK报文,如果A不等待而是直接关闭,那么就无法收到服务器的重传报文,服务器就不能正常进入CLOSE状态。

二是为了防止上文所说的“已失效的连接请求”,等待一段时间使本次连接中所有产生的报文段都从网络中消失

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190109G14JX000?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券