﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-anchor110-文章分类-http相关</title><link>http://www.blogjava.net/anchor110/category/45619.html</link><description /><language>zh-cn</language><lastBuildDate>Thu, 19 Sep 2013 22:05:35 GMT</lastBuildDate><pubDate>Thu, 19 Sep 2013 22:05:35 GMT</pubDate><ttl>60</ttl><item><title>tomcat查看并发连接数</title><link>http://www.blogjava.net/anchor110/articles/404240.html</link><dc:creator>小一败涂地</dc:creator><author>小一败涂地</author><pubDate>Thu, 19 Sep 2013 17:28:00 GMT</pubDate><guid>http://www.blogjava.net/anchor110/articles/404240.html</guid><wfw:comment>http://www.blogjava.net/anchor110/comments/404240.html</wfw:comment><comments>http://www.blogjava.net/anchor110/articles/404240.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/anchor110/comments/commentRss/404240.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/anchor110/services/trackbacks/404240.html</trackback:ping><description><![CDATA[<div>netstat -na | grep ESTAB | grep 8080 | wc -l</div><img src ="http://www.blogjava.net/anchor110/aggbug/404240.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/anchor110/" target="_blank">小一败涂地</a> 2013-09-20 01:28 <a href="http://www.blogjava.net/anchor110/articles/404240.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何绑定域名和ip</title><link>http://www.blogjava.net/anchor110/articles/391435.html</link><dc:creator>小一败涂地</dc:creator><author>小一败涂地</author><pubDate>Fri, 16 Nov 2012 04:28:00 GMT</pubDate><guid>http://www.blogjava.net/anchor110/articles/391435.html</guid><wfw:comment>http://www.blogjava.net/anchor110/comments/391435.html</wfw:comment><comments>http://www.blogjava.net/anchor110/articles/391435.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/anchor110/comments/commentRss/391435.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/anchor110/services/trackbacks/391435.html</trackback:ping><description><![CDATA[方法：<br />1、进入注册域名的服务网站，登录后台管理系统。<br />2、选择&#8220;设置域名解析&#8221;，选择要绑定的域名和要绑定的IP地址。<br />3、注：凡是.cn域名，没备案前，都不支持绑定。只有.com域名支持。<br /><br />过个30分钟左右，具体等待时间可能略有差异，ping域名，就能ping通了，此时，就已经绑定了。<br /><br />接下来，就可以用域名替换ip访问网站或自己的WEB程序了。<img src ="http://www.blogjava.net/anchor110/aggbug/391435.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/anchor110/" target="_blank">小一败涂地</a> 2012-11-16 12:28 <a href="http://www.blogjava.net/anchor110/articles/391435.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何替换tomcat下的小猫咪图标</title><link>http://www.blogjava.net/anchor110/articles/391431.html</link><dc:creator>小一败涂地</dc:creator><author>小一败涂地</author><pubDate>Fri, 16 Nov 2012 03:19:00 GMT</pubDate><guid>http://www.blogjava.net/anchor110/articles/391431.html</guid><wfw:comment>http://www.blogjava.net/anchor110/comments/391431.html</wfw:comment><comments>http://www.blogjava.net/anchor110/articles/391431.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/anchor110/comments/commentRss/391431.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/anchor110/services/trackbacks/391431.html</trackback:ping><description><![CDATA[在tomcat下部署应用程序，运行后，发现在地址栏中有个tomcat的小猫咪图标。<br />有时候，我们自己不想显示这个图标，想换成自己定义的的图标，那么按如下方法操作即可：<br />1、将$TOMCAT_HOME/webapps/ROOT/tomcat.svg改名。<br />2、将自定义的图标文件改名为favicon.ico，并覆盖$TOMCAT_HOME/webapps/ROOT/favicon.ico。<br /><br />清空浏览器缓存，刷新界面即可看到自定义效果的图标。<img src ="http://www.blogjava.net/anchor110/aggbug/391431.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/anchor110/" target="_blank">小一败涂地</a> 2012-11-16 11:19 <a href="http://www.blogjava.net/anchor110/articles/391431.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>http状态码301、302区别与联系</title><link>http://www.blogjava.net/anchor110/articles/367653.html</link><dc:creator>小一败涂地</dc:creator><author>小一败涂地</author><pubDate>Sat, 31 Dec 2011 07:51:00 GMT</pubDate><guid>http://www.blogjava.net/anchor110/articles/367653.html</guid><wfw:comment>http://www.blogjava.net/anchor110/comments/367653.html</wfw:comment><comments>http://www.blogjava.net/anchor110/articles/367653.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/anchor110/comments/commentRss/367653.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/anchor110/services/trackbacks/367653.html</trackback:ping><description><![CDATA[<div><p><strong>301和302 Http状态有啥区别？</strong></p><p>301，302 都是HTTP状态的编码，都代表着某个URL发生了转移，不同之处在于：</p><p>301 redirect: 301 代表永久性转移(Permanently Moved)，</p><p>302 redirect: 302 代表暂时性转移(Temporarily Moved )，</p><p>当然　Http 状态 200 标示没有任何问题发生。</p></div><img src ="http://www.blogjava.net/anchor110/aggbug/367653.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/anchor110/" target="_blank">小一败涂地</a> 2011-12-31 15:51 <a href="http://www.blogjava.net/anchor110/articles/367653.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>基本HTTP协议流程是什么</title><link>http://www.blogjava.net/anchor110/articles/353751.html</link><dc:creator>小一败涂地</dc:creator><author>小一败涂地</author><pubDate>Tue, 05 Jul 2011 15:09:00 GMT</pubDate><guid>http://www.blogjava.net/anchor110/articles/353751.html</guid><wfw:comment>http://www.blogjava.net/anchor110/comments/353751.html</wfw:comment><comments>http://www.blogjava.net/anchor110/articles/353751.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/anchor110/comments/commentRss/353751.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/anchor110/services/trackbacks/353751.html</trackback:ping><description><![CDATA[<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1.打开HTTP连接。一定要记住HTTP是一种无状态协议。正因为如此，对于每一个请求你都要建立一个新的连接。<br /> 　　2.初始化方法请求。这里面将包含一些类型的方法指示符用来描述调用什么方法和方法所需要的参数。<br /> 　　3.设置HTTP请求头。这里面包含要传送的数据类型(二进制)和数据的总长。<br /> 　　4.发送请求。将二进制流写到服务器。<br /> 　　5.读取请求。目标servlet程序将被调用并接受HTTP请求数据。servlet程序就调用所有必要的参数选择相应的方法。注意，如果这是这个客户端的第一次请求，一个服务器对象的新的实例就会被创建。<br /> 　　6.调用方法。方法将会被服务器端的对象调用。<br /> 　　7.初始化方法响应。如果调用的方法抛出一个异常，客户将接收到出错信息。否则，返回的类型(如果有)将会被发送。<br /> 　　8.设置HTTP响应头。在响应头中，一定会设置待发送数据的类型和长度。<br /> 　　9.发送响应。二进制数据流将从Web服务器发送并返回给客户端。<br /> 　　10.关闭连接。</div><img src ="http://www.blogjava.net/anchor110/aggbug/353751.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/anchor110/" target="_blank">小一败涂地</a> 2011-07-05 23:09 <a href="http://www.blogjava.net/anchor110/articles/353751.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>http返回头中content-length与Transfer-Encoding: chunked的问题释疑</title><link>http://www.blogjava.net/anchor110/articles/336371.html</link><dc:creator>小一败涂地</dc:creator><author>小一败涂地</author><pubDate>Thu, 28 Oct 2010 04:48:00 GMT</pubDate><guid>http://www.blogjava.net/anchor110/articles/336371.html</guid><wfw:comment>http://www.blogjava.net/anchor110/comments/336371.html</wfw:comment><comments>http://www.blogjava.net/anchor110/articles/336371.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/anchor110/comments/commentRss/336371.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/anchor110/services/trackbacks/336371.html</trackback:ping><description><![CDATA[先说说问题出现的背景：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 公司服务器与手机客户端交互，客户端请求一个动态生成的XML文件，在用firebug查看http响应头的时候，有时候发现有content-length属性，有时候没有这个属性，取而代之的是Transfer-Encoding: chunked属性。由于客户端强制要求，服务器端必须返回content-length,否则，客户端将不予解析。于是测试发现，当XML文件很小的时候，是有content-length属性的，到达一个值时，就成了Tansfer-Encoding:chunked。<br />
<br />
再引用一段话，解释一下Transfer-Encoding:chunked这个属性的意义：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   通常，HTTP协议中使用Content-Length这个头来告知数据的长度。然后，在数据下行的过程中，Content-Length的方式要预先在服务器中缓存所有数据，然后所有数据再一股脑儿地发给客户端。<br />
&nbsp;&nbsp;&nbsp;  如果要一边产生数据，一边发给客户端，WEB 服务器就需要使用"Transfer-Encoding: chunked"这样的方式来代替Content-Length。<br />
<br />
最后说说自己的理解与解决方式：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 通过种种迹象，我得出的结论是，JSP页面有一个缓存大小，当输出数据的长度没有到达这个大小的时候，服务器是知道总的数据长度的，所以服务器会输出content-length头。但如果超过缓存大小，那么，缓存一满，服务器就得输出内容给客户端，所以，不能判断整个内容的大小，于是返回Transfer-Encoding：chunked这个头信息。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 解决方式是：在JSP页面中加入代码，response.setBufferSize(402800);40820即400K，其实只要这个值大于你返回的数据的大小就行了。具体设置多少，你可以根据实际情况，合理配置。另外说一句，在page指令中加入buffer="400kb",是不管用的，我测试的情况是这样。<br />
<img src ="http://www.blogjava.net/anchor110/aggbug/336371.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/anchor110/" target="_blank">小一败涂地</a> 2010-10-28 12:48 <a href="http://www.blogjava.net/anchor110/articles/336371.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>HTTP 416 错误 – 所请求的范围无法满足 (Requested Range not satisfiable)</title><link>http://www.blogjava.net/anchor110/articles/335686.html</link><dc:creator>小一败涂地</dc:creator><author>小一败涂地</author><pubDate>Wed, 20 Oct 2010 06:19:00 GMT</pubDate><guid>http://www.blogjava.net/anchor110/articles/335686.html</guid><wfw:comment>http://www.blogjava.net/anchor110/comments/335686.html</wfw:comment><comments>http://www.blogjava.net/anchor110/articles/335686.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://www.blogjava.net/anchor110/comments/commentRss/335686.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/anchor110/services/trackbacks/335686.html</trackback:ping><description><![CDATA[介绍<br />
<br />
&nbsp;&nbsp;&nbsp; 您的 Web 服务器认为，客户端（如您的浏览器或我们的 CheckUpDown 机器人）发送的 HTTP 数据流包含一个&#8220;范围&#8221;请求，规定了一个无法满足的字节范围 - 因为被访问的资源不覆盖这个字节范围。 例如， 如果一个图像文件资源有 1000 个字节，而被请求的范围是 500-1500 ，那就无法满足。<br />
<br />
HTTP 循环中的 416 错误<br />
<br />
&nbsp;&nbsp;&nbsp; 任何客户端 ( 例如您的浏览器或我们的 CheckUpDown 机器人 ) ，都需要通过以下循环：<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * 从您站点的 IP 名称 ( 即您站点的网址-URL, 不带起始的 &#8216;http://') 获得一个 IP 地址。这个对应关系 ( 即由 IP 名称向 IP 地址转换的对应关系 ) 由域名服务器 (DNSs) 提供。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * 打开一个 IP 套接字 (socket) 连接到该 IP 地址。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * 通过该套接字写 HTTP 数据流。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * 从您的Web服务器接受响应的 HTTP 数据流。该数据流包括状态编码， 其值取决于 HTTP 协议 。 解析该数据流得到 状态编码和其他有用信息。<br />
<br />
&nbsp;&nbsp;&nbsp; 该错误在以上所述的最后一步生成，即当客户端收到 HTTP 状态编码 并识别其为 &#8216;416&#8217; 时<br />
<br />
解决 416 错误 &#8211; 一般方法<br />
<br />
&nbsp;&nbsp;&nbsp; 这个错误在大多数网络传输中都少有发生，特别是当客户端系统是一个浏览器时就更不可能。 网址在这种情况下通常是网页上可见的标准超文本链接， 很少使用&#8220;范围&#8221;规范。<br />
<br />
&nbsp;&nbsp;&nbsp; 如果您的客户端系统不是一个浏览器，这个问题就只有通过以下途径解决， 即先检查客户端在试图做什么，然后与您的互联网服务供应商 (ISP) 商讨为什么 Web 服务器拒绝接受客户端发送的&#8220;范围&#8221;规范。 最常见的原因是编程很差的客户端系统， 使用 ' 范围 ' 规范但忽略所请求资源的大小。<br />
<br />
解决 416 错误 &#8211; CheckUpDown<br />
<br />
&nbsp;&nbsp;&nbsp; 该错误应该永远不会发生在您的 CheckUpDown 帐户上。 如果出现了， 则通常表明我方系统或是管理您网站的 Web 服务器系统在编程上有缺陷。 我们根本不使用范围请求， 因为我们总是希望得到您要求我们监控的网址的完整内容。<br />
<br />
&nbsp;&nbsp;&nbsp; 只要您遇到 416 错误，就请与我们联系（最好通过电子邮件） - 您自己无法解决此类错误。我们必须和您的 ISP 及 Web 服务器软件供应商联络，以确认产生该错误的确切原因<br />
<br />
<img src ="http://www.blogjava.net/anchor110/aggbug/335686.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/anchor110/" target="_blank">小一败涂地</a> 2010-10-20 14:19 <a href="http://www.blogjava.net/anchor110/articles/335686.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>HTTP/1.1 Range和Content-Range(注：转载于http://www.91linux.com/html/article/program/cpp/20090411/16420.html)</title><link>http://www.blogjava.net/anchor110/articles/332189.html</link><dc:creator>小一败涂地</dc:creator><author>小一败涂地</author><pubDate>Thu, 16 Sep 2010 07:33:00 GMT</pubDate><guid>http://www.blogjava.net/anchor110/articles/332189.html</guid><wfw:comment>http://www.blogjava.net/anchor110/comments/332189.html</wfw:comment><comments>http://www.blogjava.net/anchor110/articles/332189.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/anchor110/comments/commentRss/332189.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/anchor110/services/trackbacks/332189.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp; 假设你要开发一个多线程下载工具，你会自然的想到把文件分割成多个部分，比如4个部分，然后创建4个线程，每个线程负责下载一个部分，如果文件大小为
403个byte，那么你的分割方式可以为：0-99
(前100个字节)，100-199(第二个100字节)，200-299(第三个100字节)，300-402（最后103个字节）。<br />
<br />
&nbsp;&nbsp;&nbsp; 分割完成，每个线程都明白自己的任务，比如线程3的任务是负责下载200-299这部分文件，现在的问题是：线程3发送一个什么样的请求报文，才能够保证
只请求文件的200-299字节，而不会干扰其他线程的任务。这时，我们可以使用HTTP1.1的Range头。Range头域可以请求实体的一个或者多
个子范围，Range的值为0表示第一个字节，也就是Range计算字节数是从0开始的：<br />
&nbsp;&nbsp;&nbsp; 表示头500个字节：<span style="color: #0001ff;">Range: bytes=0-499</span><br />
&nbsp;&nbsp;&nbsp; 表示第二个500字节：<span style="color: #0001ff;">Range: bytes=500-999</span><br />
&nbsp;&nbsp;&nbsp; 表示最后500个字节：<span style="color: #0001ff;">Range: bytes=-500</span><br />
&nbsp;&nbsp;&nbsp; 表示500字节以后的范围：<span style="color: #0001ff;">Range: bytes=500-</span><br />
&nbsp;&nbsp;&nbsp; 第一个和最后一个字节：<span style="color: #0001ff;">Range: bytes=0-0,-1</span><br />
&nbsp;&nbsp;&nbsp; 同时指定几个范围：<span style="color: #0001ff;">Range: bytes=500-600,601-999</span><br />
所以，线程3发送的请求报文必须有这一行：<br />
&nbsp;&nbsp;&nbsp; <span style="color: #0001ff;">Range: bytes=200-299</span><br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp; 服务器接收到线程3的请求报文，发现这是一个带有Range头的GET请求，如果一切正常，服务器的响应报文会有下面这行：<br />
HTTP/1.1 206 OK<br />
表示处理请求成功，响应报文还有这一行<br />
Content-Range: bytes 200-299/403<br />
斜杠后面的403表示文件的大小，通常Content-Range的用法为：<span style="font-family: monospace;"><br />
</span>&nbsp;&nbsp;&nbsp;&nbsp; . The first 500 bytes:<br />
&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #0001ff;">Content-Range: b</span><span style="color: #0001ff;">ytes 0-499/1234</span><br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp; . The second 500 bytes:<span style="font-family: monospace;"><br />
&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #0001ff;">Content-Range: bytes 500-999/1234</span><span style="font-family: monospace;"><br />
<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp; . All except for the first 500 bytes:<span style="font-family: monospace;"><br />
&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #0001ff;">Content-Range: bytes 500-1233/1234</span><span style="font-family: monospace;"><br />
<br />
</span>&nbsp;&nbsp;&nbsp;&nbsp; . The last 500 bytes:<span style="font-family: monospace;"><br />
&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="color: #0001ff;">Content-Range: bytes 734-1233/1234</span>
<img src ="http://www.blogjava.net/anchor110/aggbug/332189.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/anchor110/" target="_blank">小一败涂地</a> 2010-09-16 15:33 <a href="http://www.blogjava.net/anchor110/articles/332189.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>