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

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

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

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

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

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

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

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

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

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

20:08:56.343584 IP 192.168.1.101.2024 > 202.108.22.5.80: S

71017818:71017818(0) win

65535 20:08:56.374726 IP 202.108.22.5.80 > 192.168.1.101.2024: S

3060545990:3060545990(0) ack

71017819 win 2920

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

win 46537

20:08:56.374939 IP 192.168.1.101.2024 > 202.108.22.5.80: P

1:387(386) ack 1 win 46537

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

387 win 633

20:08:56.412714 IP 202.108.22.5.80 > 192.168.1.101.2024: P

1:436(435) ack 387 win 730

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

436 win 46483

20:09:56.550674 IP 192.168.1.101.2024 > 202.108.22.5.80: R

387:387(0) ack 436 win 0

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

20:19:27.639228 IP 192.168.1.101.2199 > 202.108.22.5.80: S

3150289762:3150289762(0) win 65535

20:19:27.670576 IP 202.108.22.5.80 > 192.168.1.101.2199: S

3636433172:3636433172(0) ack 3150289763 win 2920

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

win 46537

20:19:27.670864 IP 192.168.1.101.2199 > 202.108.22.5.80: P

1:386(385) ack 1 win 46537

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

386 win 633

20:19:27.708550 IP 202.108.22.5.80 > 192.168.1.101.2199: P

1:436(435) ack 386 win 730

20:19:27.742161 IP 192.168.1.101.2200 > 202.108.22.5.80: S

4011694727:4011694727(0) win 65535

20:19:27.770606 IP 202.108.22.5.80 > 192.168.1.101.2200: S

3523825087:3523825087(0) ack 4011694728 win 2920

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

win 46537

20:19:27.770784 IP 192.168.1.101.2200 > 202.108.22.5.80: P

1:390(389) ack 1 win 46537

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

390 win 632

20:19:27.811804 IP 202.108.22.5.80 > 192.168.1.101.2200: .

1:1421(1420) ack 390 win 730

20:19:27.812486 IP 202.108.22.5.80 > 192.168.1.101.2200: P

1421:1742(321) ack 390 win 730

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

1742 win 46537

20:19:27.816437 IP 192.168.1.101.2200 > 202.108.22.5.80: P

390:719(329) ack 1742 win 46537

20:19:27.855014 IP 202.108.22.5.80 > 192.168.1.101.2200: .

1742:3162(1420) ack 719 win 730

20:19:27.856652 IP 202.108.22.5.80 > 192.168.1.101.2200: P

3162:3681(519) ack 719 win 730

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

3681 win 46537

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

436 win 46483

20:20:27.857048 IP 192.168.1.101.2199 > 202.108.22.5.80: R

386:386(0) ack 436 win 0

20:20:28.277933 IP 202.108.22.5.80 > 192.168.1.101.2200: F

3681:3681(0) ack 719 win 730

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

3682 win 46537

20:20:32.857107 IP 192.168.1.101.2200 > 202.108.22.5.80: R

719:719(0) ack 3682 win 0

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

java get请求 302_HTTP 302错误和HTTP 404错误浅析相关推荐

  1. mvc 404错误 php,java - springmvc 请求无法到达controller,出现404错误

    springmvc 请求无法到达controller,出现404错误 web.xml testmvc index.html index.htm index.jsp default.html defau ...

  2. HTTP 302错误和HTTP 404错误浅析

    HTTP 302错误和HTTP 404错误浅析 HTTP返回状态码的含义比较丰富,随着HTTP版本的变化,状态码也在逐渐增加,以满足越来越多的状态信息传递. 302错误表示被请求的资源暂时转移(Mov ...

  3. html网页启动不了404错误,造成网页 404 错误的几大原因介绍

    我们在浏览网页时可能会遇到提示"404 错误",这表示该网页出现了访问错误,造成网站出现 404 页面的原因到底是什么呢?一起来看下文的详细介绍. 404 页面是服务器无法正常提供信息,或是服务器无法 ...

  4. 服务器如何设置404错误页面

    (网站打不开或者出现死链接的时候都需要有一个美观的404页面,这样才能减少网站的调试率.) - 01 什么是自定义404错误页面? 404自定义错误页面就是当用户输入了错误的url地址或者输入了一个不 ...

  5. [Windows Server 2008] 404错误设置方法

    ★ 欢迎来到[护卫神·V课堂],网站地址:http://v.huweishen.com ★ 护卫神·V课堂 是护卫神旗下专业提供服务器教学视频的网站,每周更新视频. ★ 本节我们将带领大家:如何设置4 ...

  6. java httpclient 302_HttpClient的POST请求返回302解决

    原标题:HttpClient的POST请求返回302解决 HttpClient请求POST提示302,而且返回的response中的Localtion是我访问时使用的URL, 例如:我使用的URL是h ...

  7. Java开发者写SQL时常犯的10个错误

    首页 所有文章 资讯 Web 架构 基础技术 书籍 教程 我要投稿 更多频道 » - 导航条 -首页所有文章资讯Web架构基础技术书籍教程我要投稿更多频道 »- iOS- Python- Androi ...

  8. java访问错误404_如何解决 Java web 项目中的 404 错误

    在使用 Tomcat 进行 Java Web 开发的时候,经常会遇到以下 HTTP 404 错误: 错误代码为 HTTP 404(未找到),描述信息是: "The origin server ...

  9. java http请求_如何设置Fiddler来拦截Java代码发送HTTP请求,进行各种问题排查

    我们使用Java的RestTemplate或者Apache的HTTPClient编程的时候,经常遇到需要跟踪Java 代码发送的HTTP请求明细的情况.和javascript代码在浏览器里发送请求可以 ...

最新文章

  1. C#打印控件的使用实例
  2. Linux下的gdb调试makefile的编写
  3. windows下 , py运用了 进程池, 将py打包成exe,出现错误的 解决思路之一
  4. 第四十五期:万亿级日访问量下,Redis在微博的9年优化历程
  5. 【C语言】数据结构C语言版 实验4 栈与字符串
  6. Python中直接查看对象值和使用print()输出的区别
  7. 【译】Vue 的小奇技(第七篇):在 vue-multiselect 基础上创建 ImageSelect 组件
  8. 7-12 我是升旗手 (10 分)
  9. 特殊字符搜索网站 http://symbolhound.com/
  10. iOS多线程编程--NSOperation(转)
  11. 第21期状元简讯:自贸区首个跨境电商平台将上线
  12. 微信小程序云开发———云存储
  13. 鲲鹏Devkit代码迁移工具课堂总结
  14. 合肥工业大学机器人技术期末_合肥工业大学 机器人技术 作业和实验
  15. python怎么接单子平台有哪些_17个Python接私活的平台,总有适合你的,有技术就有收入...
  16. \r\n,\n,\r简介
  17. JS实现手机号码以及姓名的脱敏处理
  18. 人民日报:让中国大数据跑起来!
  19. 【正一专栏】战长沙——血性尊严
  20. esriControlsMousePointer控制鼠标指针选项

热门文章

  1. 《零基础学Python》——极客时间——学习笔记
  2. Elasticsearch 7.10 之 Index blocks
  3. 【torch.argmax与torch.max详解】
  4. 温相-做人的基本原则
  5. 干货整理!ERP在制造业的发展趋势如何,看这一篇就够了
  6. Emmet语法及设置
  7. OAuth2四种认证模式
  8. 使用友善之臂Mini2440开发板使用网口下载程序不成功血与泪的经验教训
  9. imx6ull开发板 通过usb网卡uboot ping通虚拟机和windows主机
  10. 2018年总结:你是我最想靠近的温柔