java get请求 302_HTTP 302错误和HTTP 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.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错误浅析相关推荐
- mvc 404错误 php,java - springmvc 请求无法到达controller,出现404错误
springmvc 请求无法到达controller,出现404错误 web.xml testmvc index.html index.htm index.jsp default.html defau ...
- HTTP 302错误和HTTP 404错误浅析
HTTP 302错误和HTTP 404错误浅析 HTTP返回状态码的含义比较丰富,随着HTTP版本的变化,状态码也在逐渐增加,以满足越来越多的状态信息传递. 302错误表示被请求的资源暂时转移(Mov ...
- html网页启动不了404错误,造成网页 404 错误的几大原因介绍
我们在浏览网页时可能会遇到提示"404 错误",这表示该网页出现了访问错误,造成网站出现 404 页面的原因到底是什么呢?一起来看下文的详细介绍. 404 页面是服务器无法正常提供信息,或是服务器无法 ...
- 服务器如何设置404错误页面
(网站打不开或者出现死链接的时候都需要有一个美观的404页面,这样才能减少网站的调试率.) - 01 什么是自定义404错误页面? 404自定义错误页面就是当用户输入了错误的url地址或者输入了一个不 ...
- [Windows Server 2008] 404错误设置方法
★ 欢迎来到[护卫神·V课堂],网站地址:http://v.huweishen.com ★ 护卫神·V课堂 是护卫神旗下专业提供服务器教学视频的网站,每周更新视频. ★ 本节我们将带领大家:如何设置4 ...
- java httpclient 302_HttpClient的POST请求返回302解决
原标题:HttpClient的POST请求返回302解决 HttpClient请求POST提示302,而且返回的response中的Localtion是我访问时使用的URL, 例如:我使用的URL是h ...
- Java开发者写SQL时常犯的10个错误
首页 所有文章 资讯 Web 架构 基础技术 书籍 教程 我要投稿 更多频道 » - 导航条 -首页所有文章资讯Web架构基础技术书籍教程我要投稿更多频道 »- iOS- Python- Androi ...
- java访问错误404_如何解决 Java web 项目中的 404 错误
在使用 Tomcat 进行 Java Web 开发的时候,经常会遇到以下 HTTP 404 错误: 错误代码为 HTTP 404(未找到),描述信息是: "The origin server ...
- java http请求_如何设置Fiddler来拦截Java代码发送HTTP请求,进行各种问题排查
我们使用Java的RestTemplate或者Apache的HTTPClient编程的时候,经常遇到需要跟踪Java 代码发送的HTTP请求明细的情况.和javascript代码在浏览器里发送请求可以 ...
最新文章
- C#打印控件的使用实例
- Linux下的gdb调试makefile的编写
- windows下 , py运用了 进程池, 将py打包成exe,出现错误的 解决思路之一
- 第四十五期:万亿级日访问量下,Redis在微博的9年优化历程
- 【C语言】数据结构C语言版 实验4 栈与字符串
- Python中直接查看对象值和使用print()输出的区别
- 【译】Vue 的小奇技(第七篇):在 vue-multiselect 基础上创建 ImageSelect 组件
- 7-12 我是升旗手 (10 分)
- 特殊字符搜索网站 http://symbolhound.com/
- iOS多线程编程--NSOperation(转)
- 第21期状元简讯:自贸区首个跨境电商平台将上线
- 微信小程序云开发———云存储
- 鲲鹏Devkit代码迁移工具课堂总结
- 合肥工业大学机器人技术期末_合肥工业大学 机器人技术 作业和实验
- python怎么接单子平台有哪些_17个Python接私活的平台,总有适合你的,有技术就有收入...
- \r\n,\n,\r简介
- JS实现手机号码以及姓名的脱敏处理
- 人民日报:让中国大数据跑起来!
- 【正一专栏】战长沙——血性尊严
- esriControlsMousePointer控制鼠标指针选项