java get请求 302_HTTP 302错误和HTTP 404错误浅析

java get请求 302_HTTP 302错误和HTTP 404错误浅析HTTP 返回状态码的含义比较丰富 随着 HTTP 版本的变化 状态码也在逐渐增加 以满足越来越多的状态信息传递 302 错误表示被请求的资源暂时转移 Movedtempora 然后会给出一个转移后的 URL 而浏览器在处理服务器返回的 302 错误时 原则上会重新建立一个 TCP 连接 然后再取重定向后的 URL 的页面 但是如果页面存在于缓存中 则不重新获取 404 错误表示无法找到请求的资源 一般来说是文

HTTP返回状态码的含义比较丰富,随着HTTP版本的变化,状态码也在逐渐增加,以满足越来越多的状态信息传递。

302错误表示被请求的资源暂时转移(Moved

temporatily),然后会给出一个转移后的URL,而浏览器在处理服务器返回的302错误时,原则上会重新建立一个TCP连接,然后再取重定向后

的URL的页面;但是如果页面存在于缓存中,则不重新获取。

404错误表示无法找到请求的资源,一般来说是文件不存在,这时候浏览器直接显示一个错误。

需要说明的是:实际上HTTP/1.1的RFC中对302和404又定义了很多个子状态码,分别表示多种情况,这里不再一一赘述。

一般的网站在用户请求的页面不存在的时候,为了友好起见,会返回一个302错误,然后重定向到一个正常页面。因此可以看出,如果服务器在遭受DDOS静态

页面请求攻击而请求页面又不存在的时候,服务器返回302错误会比404错误消耗的资源更多(当客户端缓存不存在重定向后的页面的时候),因为每次请求会

产生一个附加请求,而这次请求还会产生于一个新的TCP连接上。

如:浏览器缓存中存在重定向后的页面时:

20:08:56. IP 192.168.1.101.2024 > 202.108.22.5.80: S

:(0) win

65535 20:08:56. IP 202.108.22.5.80 > 192.168.1.101.2024: S

:(0) ack

 win 2920

20:08:56. IP 192.168.1.101.2024 > 202.108.22.5.80: . ack 1

win 46537

20:08:56. IP 192.168.1.101.2024 > 202.108.22.5.80: P

1:387(386) ack 1 win 46537

20:08:56. IP 202.108.22.5.80 > 192.168.1.101.2024: . ack

387 win 633

20:08:56. IP 202.108.22.5.80 > 192.168.1.101.2024: P

1:436(435) ack 387 win 730

20:08:56. IP 192.168.1.101.2024 > 202.108.22.5.80: . ack

436 win 46483

20:09:56. IP 192.168.1.101.2024 > 202.108.22.5.80: R

387:387(0) ack 436 win 0

从上面的抓包来看,只有一个TCP连接,也只有一次GET请求。在没有缓存的时候:

20:19:27. IP 192.168.1.101.2199 > 202.108.22.5.80: S

:(0) win 65535

20:19:27. IP 202.108.22.5.80 > 192.168.1.101.2199: S

:(0) ack win 2920

20:19:27. IP 192.168.1.101.2199 > 202.108.22.5.80: . ack 1

win 46537

20:19:27. IP 192.168.1.101.2199 > 202.108.22.5.80: P

1:386(385) ack 1 win 46537

20:19:27. IP 202.108.22.5.80 > 192.168.1.101.2199: . ack

386 win 633

20:19:27. IP 202.108.22.5.80 > 192.168.1.101.2199: P

1:436(435) ack 386 win 730

20:19:27. IP 192.168.1.101.2200 > 202.108.22.5.80: S

:(0) win 65535

20:19:27. IP 202.108.22.5.80 > 192.168.1.101.2200: S

:(0) ack win 2920

20:19:27. IP 192.168.1.101.2200 > 202.108.22.5.80: . ack 1

win 46537

20:19:27. IP 192.168.1.101.2200 > 202.108.22.5.80: P

1:390(389) ack 1 win 46537

20:19:27. IP 202.108.22.5.80 > 192.168.1.101.2200: . ack

390 win 632

20:19:27. IP 202.108.22.5.80 > 192.168.1.101.2200: .

1:1421(1420) ack 390 win 730

20:19:27. IP 202.108.22.5.80 > 192.168.1.101.2200: P

1421:1742(321) ack 390 win 730

20:19:27. IP 192.168.1.101.2200 > 202.108.22.5.80: . ack

1742 win 46537

20:19:27. IP 192.168.1.101.2200 > 202.108.22.5.80: P

390:719(329) ack 1742 win 46537

20:19:27. IP 202.108.22.5.80 > 192.168.1.101.2200: .

1742:3162(1420) ack 719 win 730

20:19:27. IP 202.108.22.5.80 > 192.168.1.101.2200: P

3162:3681(519) ack 719 win 730

20:19:27. IP 192.168.1.101.2200 > 202.108.22.5.80: . ack

3681 win 46537

20:19:27. IP 192.168.1.101.2199 > 202.108.22.5.80: . ack

436 win 46483

20:20:27. IP 192.168.1.101.2199 > 202.108.22.5.80: R

386:386(0) ack 436 win 0

20:20:28. IP 202.108.22.5.80 > 192.168.1.101.2200: F

3681:3681(0) ack 719 win 730

20:20:28. IP 192.168.1.101.2200 > 202.108.22.5.80: . ack

3682 win 46537

20:20:32. IP 192.168.1.101.2200 > 202.108.22.5.80: R

719:719(0) ack 3682 win 0

可用看到,产生了两个TCP连接,一个用的是2199端口,一个用的是2200端口。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/212380.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午8:10
下一篇 2026年3月18日 下午8:11


相关推荐

  • Kafka SCRAM和PLAIN实战

    Kafka SCRAM和PLAIN实战目前 KafkaACL 支持多种权限认证 今天笔者给大家介绍一下 SCRAM 和 PLAIN 的权限认证 验证环境如下 JDK 1 8Kafka 2 3 0KafkaEagle 1 3 8

    2025年11月13日
    3
  • Android直播开发之旅(10):AndroidUSBCamera,UVCCamera开发通用库(支持开启多路摄像头)[通俗易懂]

    Android直播开发之旅(10):AndroidUSBCamera,UVCCamera开发通用库(支持开启多路摄像头)[通俗易懂]AndroidUSBCamera基于[saki4510t/UVCCamera](https://github.com/saki4510t/UVCCamera)开发,该项目对USBCamera(UVC设备)的使用和视频数据采集进行了高度封装,能够帮助开发者通过几个简单的API实现USBCamera设备的检测、连接、预览和音视频数据采集,最重要的是手机无需root,只需支持otg功能即可驱………

    2022年8月13日
    10
  • 【Linux】rm 命令:删除文件/文件夹

    【Linux】rm 命令:删除文件/文件夹文章目录一、删除文件/文件夹:rm命令二、删除文件(即这个文件被删除)三、删除文件夹四、注意参考链接一、删除文件/文件夹:rm命令rm是强大的删除命令,它可以永久性地删除文件系统中指定的文件或目录。在使用rm命令删除文件或目录时,系统不会产生任何提示信息。此命令的基本格式为:rm[选项]文件或目录选项:-f:强制删除(force),和-i选项相反,使用-f,系统将不再询问,而是直接删除目标文件或目录。-i:和-f正好相反,在删除文件或目录之前,系统会给出提示信

    2022年7月13日
    134
  • Effective C++ 条款39

    Effective C++ 条款39

    2022年1月27日
    44
  • jsp和servlet的区别「建议收藏」

    jsp和servlet的区别「建议收藏」jsp和servlet的区别JSP(全称JavaServerPages)是由SunMicrosystems公司主导创建的一种动态网页技术标准。JSP部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成HTML、XML或其他格式文档的Web网页,然后返回给请求者。JSP技术以Java语言作为脚本语言,为用户的HTTP请求提供服务,并能与服务器上的其它Java程序共同处理复杂的…

    2022年6月29日
    27
  • TensorFlow2.0安装_tensorflow中run

    TensorFlow2.0安装_tensorflow中runTensorflow2.4.1前言Tensorflow简介Anaconda简介Anaconda安装TensorFlowCPU&GPUTensorflow安装Pycharm&TensorflowTensorflow&HelloworldHelloworldSession()后序前言目前考虑进入梦寐以求的机器学习、人工智能等领域的学习,因此安装主流的机器学习框架Tensorflow迫在眉睫。然而网上的网上安装教程大多是1.xx版本的。目前安装的环境

    2022年8月27日
    9

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号