HTTP学习笔记

本人其实对HTTP了解的不是太深,学习HTTP仅仅通过相关的面试问题进行了解,现在做一个整理,希望能够有所深层次的思考

HTTP协议的版本

HTTPHyperText Transfer Protocol)协议是基于TCP的应用层协议,它不关心数据传输的细节,主要是用来规定客户端和服务端的数据传输格式,最初是用来向客户端传输HTML页面的内容。默认端口是80

主要说明一下HTTP1.0 HTTP1.1 HTTP2.0版本,说明这个问题主要可以回答四个问题。

HTTP协议有什么特点 ?

  • 简单快速:每个资源(比如图片、页面)都通过 url 来定位。这都是固定的,在http协议中,处理起来也比较简单,想访问什么资源,直接输入url即可。
  • 灵活:http协议的头部有一个数据类型,通过http协议,就可以完成不同数据类型的传输。
  • 无连接:连接一次,就会断开,不会继续保持连接。(这个特性针对HTTP1.0版本)
  • 无状态:客户端和服务器端是两种身份。第一次请求结束后,就断开了,第二次请求时,服务器端并没有记住之前的状态,也就是说,服务器端无法区分客户端是否为同一个人、同一个身份。(服务端总是被动的,这一点问题在HTTP2.0版本得到了解决)

什么是持久连接/HTTP长连接 ?

  • 轮询http1.0中,客户端每隔很短的时间,都会对服务器发出请求,查看是否有新的消息,只要轮询速度足够快,例如1秒,就能给人造成交互是实时进行的印象。这种做法是无奈之举,实际上对服务器、客户端双方都造成了大量的性能浪费。
  • 长连接HTTP1.1中,通过使用Connection:keep-alive进行长连接。客户端只请求一次,但是服务器会将继续保持连接,当再次请求时,避免了重新建立连接。
注意HTTP 1.1默认进行持久连接。在一次 TCP 连接中可以完成多个 HTTP 请求,但是对每个请求仍然要 单独发 header,Keep-Alive不会永久保持连接,它有一个保持时间,可以在不同的服务器软件(如Apache)中设定这个时间。

说到长连接就不得不提到长连接的管线化问题。

  • 管线化的原理:长连接时,默认的请求这样的:
请求1 --> 响应1 -->请求2 --> 响应2 --> 请求3 --> 响应3
  • 管线化就是,把现在的请求打包,客户端一次性发过去,服务端也给一次响应回来

关于HTTP2.0你知道多少 ?

  • HTTP/2引入了"服务端推(server push)"的概念,它允许服务端在客户端需要数据之前就主动地将数据发送到客户端缓存中,从而提高性能。
  • HTTP/2提供更多的加密支持
  • HTTP/2使用多路技术,允许多个消息在一个连接上同时交差。
  • 它增加了头压缩(header compression),因此即使非常小的请求,其请求和响应的header都只会占用很小比例的带宽

HTTPHTTPS

  • HTTP协议通常承载于TCP协议之上,在HTTPTCP之间添加一个安全协议层(SSL或TSL),这个时候,就成了HTTPS
  • 默认HTTP的端口号为80HTTPS的端口号为443
既然有了HTTP协议,为什么要有HTTPS,因为HTTPS更加的安全,那为什么HTTPS安全

因为网络请求需要中间有很多的服务器路由器的转发。中间的节点都可能篡改信息,而如果使用HTTPS密钥在你和终点站才有。https之所以比http安全,是因为它利用ssl/tls协议传输。它包含证书,卸载,流量转发,负载均衡,页面适配,浏览器适配,refer传递等。保障了传输过程的安全性

HTTP报文

这是一个很大的问题,这个问题不复杂就是麻烦,但是这个很重要。说明报文问题之前,先描述一下报文会在哪里用到,在用户输入URL时,会用到报文。

一个页面从输入 URL 到页面加载显示完成,这个过程中都发生了什么 ?

  • 浏览器查找域名对应的IP地址(DNS 查询:浏览器缓存->系统缓存->路由器缓存->ISP DNS 缓存->根域名服务器)
  • 浏览器向 Web 服务器发送一个 HTTP 请求(TCP三次握手)---这里用到了请求报文
  • 服务器 301 重定向(从 http://example.com 重定向到 http://www.example.com
  • 浏览器跟踪重定向地址,请求另一个带 www 的网址
  • 服务器处理请求(通过路由读取资源)
  • 服务器返回一个 HTTP 响应(报头中把 Content-type 设置为 'text/html')---这里用到了响应报文
  • 浏览器根据响应提进行 DOM 树构建
  • 浏览器发送请求获取嵌在 HTML 中的资源(如图片、音频、视频、CSS、JS等)
  • 浏览器显示完成页面
  • 浏览器发送异步请求

HTTP请求报文

连接成功建立后,开始向web服务器发送请求,当浏览器向Web服务器发出请求时,它向服务器传递了一个数据块,也就是请求报文,HTTP请求报文由4部分组成:

  1. 起始行:HTTP请求方法 URL HTTP版本
  2. 请求头:请求头的形式通过一个键值对进行渲染
  3. 空行:当服务器在解析请求头的时候,如果遇到了空行,则表明,后面的内容是请求体
  4. 请求体:get方法的请求体是没有内容的(放在了url里) post方法的请求体包含请求的内容

下面是一个HTTP请求的例子:

GET /sample.jsp HTTP/1.1
Accept:image/gif.image/jpeg,*/*
Accept-Language:zh-cn
Connection:Keep-Alive
Host:localhost
User-Agent:Mozila/4.0(compatible;MSIE5.01;Window NT5.0)
Accept-Encoding:gzip,deflate

username=jinqiao&password=123412345678

起始行

  • 请求的起始行是:”方法 URL http版本GET /sample.jsp HTTP/1.1
  • 根据HTTP标准,HTTP请求可以使用多种请求方法。例如:HTTP1.1支持7种请求方法:GET、POST、HEAD、OPTIONS、PUT、DELETE和TARCE。在Internet应用中,最常用的方法是GETPOST。 
  • URL完整地指定了要访问的网络资源,通常只要给出相对于服务器的根目录的相对目录即可,因此总是以“/”开头。
  • 协议版本声明了通信过程中使用HTTP的版本。

请求头(Request Header)

说明:常用的请求头和响应头,请看下面文章: https://blog.csdn.net/qq_3055...

请求头包含许多有关的客户端环境和请求正文的有用信息。例如,请求头可以声明浏览器所用的语言,请求正文的长度等。

# host表示主机名,User-Agent表示用户代理即浏览器

Accept:image/gif.image/jpeg.*/*
Accept-Language:zh-cn
Connection:Keep-Alive
Host:localhost
User-Agent:Mozila/4.0(compatible:MSIE5.01:Windows NT5.0)
Accept-Encoding:gzip,deflate.123456

请求正文

请求头和请求正文之间是一个空行,这个行非常重要,它表示请求头已经结束,接下来的是请求正文。请求正文中可以包含客户提交的查询字符串信息:

username=frewen&password=12341

HTTP响应

响应 web服务器收到这个请求,进行处理。从它的文档空间中搜索子目录mydir的文件index.html。如果找到该文件,Web服务器把该文件内容传送给相应的Web浏览器。为了告知浏览器,Web服务器首先传送一些HTTP头信息,然后传送具体内容(即HTTP体信息),HTTP头信息和HTTP体信息之间用一个空行分开。

HTTP响应与HTTP请求相似,HTTP响应也由4个部分构成,分别是: 

  1. 起始行:HTTP协议版本 响应状态码 响应状态信息
  2. 响应头(Response Header) :通过键值对的形式进行表示
  3. 空行:当客户端在解析响应头的时候,如果遇到了空行,则表明,后面的内容是响应体
  4. 响应体: 网页代码 HTML、CSS、JS代码文件

下面是一个HTTP响应的例子:

HTTP/1.1 200 OK
Server:Apache Tomcat/5.0.12
Date:Mon,6Oct2003 13:23:42 GMT
Content-Length:112


    
        HTTP响应示例<title>
    </head>
    <body>
        Hello HTTP!
    </body>
</html></code></pre> 
 <p>协议状态代码描述HTTP响应的第一行类似于HTTP请求的第一行,它表示通信所用的协议是HTTP1.1服务器已经成功的处理了客户端发出的请求(200表示成功): <br><code>HTTP/1.1 200 OK</code> <br>响应头(Response Header)响应头也和请求头一样包含许多有用的信息,例如服务器类型、日期时间、内容类型和长度等:</p> 
 <pre><code class="bash">Server:Apache Tomcat/5.0.12
Date:Mon,6Oct2003 13:13:33 GMT
Content-Type:text/html
Last-Moified:Mon,6 Oct 2003 13:23:42 GMT
Content-Length:11212345</code></pre> 
 <p>响应体就是服务器返回的HTML页面:</p> 
 <pre><code class="html"><html>
    <head>
        <title>HTTP响应示例<title>
    </head>
    <body>
        Hello HTTP!
    </body>
</html></code></pre> 
 <h3>HTTP状态码</h3> 
 <p>HTTP应答码由3位数字构成,其中首位数字定义了应答码的类型: </p> 
 <ul> 
  <li> <code>1XX</code>-信息类(Information),表示收到Web浏览器请求,正在进一步的处理中 </li> 
  <li> <code>2XX</code>-成功类(Successful),表示用户请求被正确接收,理解和处理例如:200 OK </li> 
  <li> <code>3XX</code> - 重定向类(Redirection),表示请求没有成功,客户必须采取进一步的动作。 </li> 
  <li> <code>4XX</code> - 客户端错误(Client Error),表示客户端提交的请求有错误 例如:404 NOT Found,意味着请求中所引用的文档不存在。 </li> 
  <li> <code>5XX</code> - 服务器错误(Server Error)表示服务器不能完成对请求的处理:如 500 </li> 
 </ul> 
 <p><strong>常见的状态码</strong></p> 
 <pre><code class="http">100  Continue   继续,一般在发送post请求时,已发送了http header之后服务端将返回此信息,表示确认,之后发送具体参数信息

200  OK         正常返回信息
201  Created    请求成功并且服务器创建了新的资源
202  Accepted   服务器已接受请求,但尚未处理
206  Partial Content:客户端发送一个带有range头的get请求,服务端完成它。206的应用的场景:range指的是请求的范围,客户端只请求某个大文件里的一部分内容。比如说,如果播放视频地址或音频地址的前面一部分,可以用到206。

301  Moved Permanently  请求的网页已永久移动到新位置。(永久重定向)
302  Found       临时性重定向。
303  See Other   临时性重定向,且总是使用 GET 请求新的 URI。
304  Not Modified 自从上次请求后,请求的网页未修改过。(服务器告诉客户端,客户端已经有缓存了,不需要从服务器这里取了。)

400  Bad Request  客户端有语法错误,不能被服务器所理解
401  Unauthorized 请求未授权。
403  Forbidden   禁止访问。
404  Not Found   找不到如何与 URI 相匹配的资源。

500  Internal Server Error  最常见的服务器端错误。
503  Service Unavailable 服务器端暂时无法处理请求(可能是过载或维护)。</code></pre> 
 <p>提到上面的状态码,不得不提到<code>304</code>缓存问题:<strong>304缓存的原理</strong></p> 
 <ul> 
  <li>服务器首先产生ETag,服务器可在稍后使用它来判断页面是否已经被修改。本质上,客户端通过将该记号传回服务器要求服务器验证其(客户端)缓存</li> 
  <li>304是HTTP状态码,服务器用来标识这个文件没修改,不返回内容,浏览器在接收到个状态码后,会使用浏览器已缓存的文件</li> 
  <li>客户端请求一个页面(A)。 服务器返回页面A,并在给A加上一个ETag。 客户端展现该页面,并将页面连同ETag一起缓存。 客户再次请求页面A,并将上次请求时服务器返回的ETag一起传递给服务器。 服务器检查该ETag,并判断出该页面自上次客户端请求之后还未被修改,直接返回响应304(未修改——Not Modified)和一个空的响应体</li> 
 </ul> 
 <h3>HTTP方法</h3> 
 <p><code>HTTP</code>方法主要包括以下几个:</p> 
 <ul> 
  <li> <code>GET</code>:获取资源</li> 
  <li> <code>POST</code>:传输资源</li> 
  <li> <code>PUT</code>:更新资源</li> 
  <li> <code>DELETE</code>:删除资源</li> 
  <li> <code>HEAD</code>:获得报文首部</li> 
 </ul> 
 <p><strong>说明一下<code>get</code>和<code>post</code>的区别</strong></p> 
 <ol> 
  <li>浏览器在回退时,<code>get</code> <strong>不会重新请求</strong>,但是<code>post</code>会重新请求。【重要】</li> 
  <li> <code>get</code>请求会被浏览器<strong>主动缓存</strong>,而<code>post</code>不会。【重要】</li> 
  <li> <code>get</code>请求的参数,会报<strong>保留</strong>在浏览器的<strong>历史记录</strong>里,而<code>post</code>不会。做业务时要注意。为了防止<code>CSRF</code>攻击,很多公司把<code>get</code>统一改成了<code>post</code>。</li> 
  <li> <code>get</code>请求在<code>url</code>中传递的参数有大小限制,基本是 <code>2kb</code>,不同的浏览器略有不同。而post没有注意。</li> 
  <li> <code>get</code>的参数是直接暴露在<code>url</code>上的,相对不安全。而<code>post</code>是放在请求体中的。</li> 
 </ol> 
</article>
                            </div>
                        </div>
                    </div>
                    <!--PC和WAP自适应版-->
                    <div id="SOHUCS" sid="1297789157858418688"></div>
                    <script type="text/javascript" src="/views/front/js/chanyan.js"></script>
                    <!-- 文章页-底部 动态广告位 -->
                    <div class="youdao-fixed-ad" id="detail_ad_bottom"></div>
                </div>
                <div class="col-md-3">
                    <div class="row" id="ad">
                        <!-- 文章页-右侧1 动态广告位 -->
                        <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_1"> </div>
                        </div>
                        <!-- 文章页-右侧2 动态广告位 -->
                        <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_2"></div>
                        </div>
                        <!-- 文章页-右侧3 动态广告位 -->
                        <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_3"></div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
    <div class="container">
        <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(http,http首部,http缓存)</h4>
        <div id="paradigm-article-related">
            <div class="recommend-post mb30">
                <ul class="widget-links">
                    <li><a href="/article/1892563561364910080.htm"
                           title="解决win11下taskmgr放在“启动”文件夹中无法自启动问题" target="_blank">解决win11下taskmgr放在“启动”文件夹中无法自启动问题</a>
                        <span class="text-muted">nicekwell</span>
<a class="tag" taget="_blank" href="/search/windows%E7%9A%84%E4%BD%BF%E7%94%A8/1.htm">windows的使用</a><a class="tag" taget="_blank" href="/search/windows/1.htm">windows</a>
                        <div>https://superuser.com/questions/1647652/why-the-task-manager-automatically-does-not-start-from-the-startup-folder-at-usewindows中设置开机自动启动的常用方法是把要启动的程序或文件的快捷方式放到C:\Users\\AppData\Roaming\Microsoft\Windo</div>
                    </li>
                    <li><a href="/article/1892562929576898560.htm"
                           title="Tomcat 8 安装包下载" target="_blank">Tomcat 8 安装包下载</a>
                        <span class="text-muted">m0_74824517</span>
<a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0%E8%B7%AF%E7%BA%BF/1.htm">学习路线</a><a class="tag" taget="_blank" href="/search/%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4/1.htm">阿里巴巴</a><a class="tag" taget="_blank" href="/search/tomcat/1.htm">tomcat</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                        <div>Tomcat8安装包下载【下载地址】Tomcat8安装包下载本仓库提供了一个包含Windows和Linux版本的Tomcat8安装包,方便用户快速下载并部署Tomcat8服务器[这里是图片001]项目地址:https://gitcode.com/open-source-toolkit/fda7c简介本仓库提供了一个包含Windows和Linux版本的Tomcat8安装包,方便用户快速下载并部署To</div>
                    </li>
                    <li><a href="/article/1892562047128891392.htm"
                           title="Ubuntu22.4.03服务器版安装及搭建深度学习环境的问题总结" target="_blank">Ubuntu22.4.03服务器版安装及搭建深度学习环境的问题总结</a>
                        <span class="text-muted">蜡笔小祎在线学习</span>
<a class="tag" taget="_blank" href="/search/%E9%97%AE%E9%A2%98%E9%9B%86%E5%90%88/1.htm">问题集合</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a>
                        <div>Ubuntu22.4.03服务器版安装流程整个流程已经有很多分享帖了,这里概述一下:下载iso制作启动U盘,按f2进入安装,选择语言,键盘布局english,ubuntuserver安装,DHCP自动配置网络(问题1),代理服务器我们没填,配置阿里云镜源http://mirrors.aliyun.com/ubuntu/,磁盘分区(问题2),设置服务器密码,安装ssh远程工具,重启reboot。可参</div>
                    </li>
                    <li><a href="/article/1892557130049843200.htm"
                           title="Kate文本编辑器 v24.12.9013 开源高级文本代码编辑器" target="_blank">Kate文本编辑器 v24.12.9013 开源高级文本代码编辑器</a>
                        <span class="text-muted">SSASASA11</span>
<a class="tag" taget="_blank" href="/search/%E7%BC%96%E8%BE%91%E5%99%A8/1.htm">编辑器</a>
                        <div>链接:https://pan.quark.cn/s/5577e74ab648Kate是一个可以跨平台使用的免费高级文本编辑器,支持标签页、代码高亮、显示行号、显示缩略图的滚动条、多文件查找、横向或者纵向显示多个视图等众多高级特性。软件功能1、双击当前标签页创建新标签页。2、支持启用/禁用自动换行。3、强大的多文件查找和替换功能。利用这个功能可以一键查找/替换所有已打开的文本中的内容。支持正则表达式</div>
                    </li>
                    <li><a href="/article/1892555994295234560.htm"
                           title="ffmpeg-python安装" target="_blank">ffmpeg-python安装</a>
                        <span class="text-muted">neverayever</span>
<a class="tag" taget="_blank" href="/search/%E8%AE%A1%E7%AE%97%E6%9C%BA/1.htm">计算机</a><a class="tag" taget="_blank" href="/search/ffmpeg/1.htm">ffmpeg</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a>
                        <div>centos-ffmpeg-python安装安装ffmpeg一:下载并解压wgethttp://www.ffmpeg.org/releases/ffmpeg-4.2.tar.gztar-zxvfffmpeg-4.2.tar.gz若linux服务器没网,可以在windows上直接访问http://www.ffmpeg.org/releases/ffmpeg-4.2.tar.gz就可下载,然后上传至服</div>
                    </li>
                    <li><a href="/article/1892551831830196224.htm"
                           title="“深入浅出”系列之QT:(10)Qt接入Deepseek" target="_blank">“深入浅出”系列之QT:(10)Qt接入Deepseek</a>
                        <span class="text-muted">我真不会起名字啊</span>
<a class="tag" taget="_blank" href="/search/qt/1.htm">qt</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>项目配置:在.pro文件中添加网络模块:QT+=corenetworkAPI配置:将apiUrl替换为实际的DeepSeekAPI端点将apiKey替换为你的有效API密钥根据API文档调整请求参数(模型名称、温度值等)功能说明:使用QNetworkAccessManager处理HTTP请求自动处理JSON序列化/反序列化支持异步请求处理包含基本的错误处理扩展建议:添加更完善的错误处理(HTTP状</div>
                    </li>
                    <li><a href="/article/1892549561214365696.htm"
                           title="PHP 网络编程介绍" target="_blank">PHP 网络编程介绍</a>
                        <span class="text-muted">来恩1003</span>
<a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a><a class="tag" taget="_blank" href="/search/%E4%BB%8E%E5%85%A5%E9%97%A8%E5%88%B0%E7%B2%BE%E9%80%9A/1.htm">从入门到精通</a><a class="tag" taget="_blank" href="/search/php/1.htm">php</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>PHP学习资料PHP学习资料PHP学习资料在当今数字化时代,网络编程是开发各类应用必不可少的技能。PHP作为一门广泛应用于Web开发的编程语言,同样具备强大的网络编程能力。接下来,我们将深入探讨PHP中网络连接的建立、Socket编程、HTTP请求与响应等网络相关的操作。一、网络连接的建立在PHP中建立网络连接,主要是通过使用内置的函数来实现与远程服务器的通信。最常见的是使用fsockopen函数</div>
                    </li>
                    <li><a href="/article/1892545271611584512.htm"
                           title="新电脑配置安装下载" target="_blank">新电脑配置安装下载</a>
                        <span class="text-muted">今天吃了嘛o</span>
<a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a>
                        <div>1、谷歌浏览器地址https://www.google.cn/chrome/下载安装即可。2、nvm下载下载地址:地址https://nvm.uihtm.com/#google_vignettenvminstall相对应的node版本//安装nvmlist可以查看已下载的node版本//查看nvmuse相对应的node版本号//使用nvmuninstall对应版本号//卸载3、git下载官网地址h</div>
                    </li>
                    <li><a href="/article/1892543379292614656.htm"
                           title="vue中使用ueditor上传到服务器_vue+Ueditor集成 [前后端分离项目][图片、文件上传][富文本编辑]..." target="_blank">vue中使用ueditor上传到服务器_vue+Ueditor集成 [前后端分离项目][图片、文件上传][富文本编辑]...</a>
                        <span class="text-muted">小西超人</span>

                        <div>写在最前面的话:鉴于近期很多的博友讨论,说我按照文章的一步一步来,弄好之后,怎么会提示后端配置项http错误,文件上传会提示上传错误。这里提别申明一点,ueditor在前端配置好后,需要与后端部分配合进行,后端部分的项目代码git地址:https://github.com/coderliguoqing/UeditorSpringboot,然后将配置ueditor.config.js里的server</div>
                    </li>
                    <li><a href="/article/1892542748079222784.htm"
                           title="java新技术" target="_blank">java新技术</a>
                        <span class="text-muted">计算机毕业设计系统</span>

                        <div>转载:http://lj6684.iteye.com/blog/895010最近在网上查资料碰到好多没接触过的技术,先汇总在这里备用,以后慢慢吸收1.JNAJNI的替代品,调用方式比JNI更直接,不再需要JNI那层中间接口,几乎达到Java直接调用动态库2.SmallSQL基于JDBC3.0转为Desktop应用设计的嵌入式数据库,纯Java,本地访问,不支持网络但目前好像不太活跃,最新版本是0.</div>
                    </li>
                    <li><a href="/article/1892540600499105792.htm"
                           title="uni.request 发起网络请求3种回调结果调用" target="_blank">uni.request 发起网络请求3种回调结果调用</a>
                        <span class="text-muted">治金的blog</span>
<a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/uni-app/1.htm">uni-app</a>
                        <div>第一种标题:{{item.title}}内容:{{item.body}}import{ref}from'vue';letarrs=ref([]);//uni.request请求的三种方式functionrequest(){uni.request({url:"https://jsonplaceholder.typicode.com/posts",success:res=>{console.log(r</div>
                    </li>
                    <li><a href="/article/1892539968312635392.htm"
                           title="基于若依和flowable6.7.2的ruoyi-nbcio流程管理系统正式发布" target="_blank">基于若依和flowable6.7.2的ruoyi-nbcio流程管理系统正式发布</a>
                        <span class="text-muted">宁波阿成</span>
<a class="tag" taget="_blank" href="/search/ruoyi-nbcio/1.htm">ruoyi-nbcio</a><a class="tag" taget="_blank" href="/search/%E8%8B%A5%E4%BE%9D/1.htm">若依</a><a class="tag" taget="_blank" href="/search/flowable/1.htm">flowable</a><a class="tag" taget="_blank" href="/search/flowable/1.htm">flowable</a><a class="tag" taget="_blank" href="/search/%E8%8B%A5%E4%BE%9D/1.htm">若依</a><a class="tag" taget="_blank" href="/search/ruoyi-nbcio/1.htm">ruoyi-nbcio</a><a class="tag" taget="_blank" href="/search/ruoyi/1.htm">ruoyi</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/vue/1.htm">vue</a>
                        <div>更多ruoyi-nbcio功能请看演示系统gitee源代码地址前后端代码:https://gitee.com/nbacheng/ruoyi-nbcio演示地址:RuoYi-Nbcio后台管理系统项目概要本项目基于RuoYi-Flowable-Plus进行二次开发,从nbcio-boot(https://gitee.com/nbacheng/nbcio-boot)项目</</div>
                    </li>
                    <li><a href="/article/1892538578999767040.htm"
                           title="基于Transformer的YOLOv8检测头架构改进:提升目标检测精度的全新突破(YOLOv8)" target="_blank">基于Transformer的YOLOv8检测头架构改进:提升目标检测精度的全新突破(YOLOv8)</a>
                        <span class="text-muted">步入烟尘</span>
<a class="tag" taget="_blank" href="/search/transformer/1.htm">transformer</a><a class="tag" taget="_blank" href="/search/YOLO/1.htm">YOLO</a><a class="tag" taget="_blank" href="/search/%E7%9B%AE%E6%A0%87%E6%A3%80%E6%B5%8B/1.htm">目标检测</a>
                        <div>本专栏专为AI视觉领域的爱好者和从业者打造。涵盖分类、检测、分割、追踪等多项技术,带你从入门到精通!后续更有实战项目,助你轻松应对面试挑战!立即订阅,开启你的YOLOv8之旅!专栏订阅地址:https://blog.csdn.net/mrdeam/category_12804295.html文章目录基于Transformer的YOLOv8检测头架构改进:提升目标检测精度的全新突破什么是DAtten</div>
                    </li>
                    <li><a href="/article/1892537949245992960.htm"
                           title="Python爬虫TLS" target="_blank">Python爬虫TLS</a>
                        <span class="text-muted">dme.</span>
<a class="tag" taget="_blank" href="/search/Python%E7%88%AC%E8%99%AB%E9%9B%B6%E5%9F%BA%E7%A1%80%E5%85%A5%E9%97%A8/1.htm">Python爬虫零基础入门</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a>
                        <div>TLS指纹校验原理和绕过浏览器可以正常访问,但是用requests发送请求失败。后端是如何监测得呢?为什么浏览器可以返回结果,而requests模块不行呢?https://cn.investing.com/equities/amazon-com-inc-historical-data1.指纹校验案例1.1案例:ascii2dhttps://ascii2d.net/importrequestsres</div>
                    </li>
                    <li><a href="/article/1892533535663779840.htm"
                           title="vue根据vue-admin-template封装导出excel数据文件组件" target="_blank">vue根据vue-admin-template封装导出excel数据文件组件</a>
                        <span class="text-muted">Nikki_u</span>
<a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a>
                        <div>(1)由于Export2Excel不仅依赖js-xlsx还依赖file-saver和script-loader。先需要安装如下命令npminstallxlsxfile-saver-Snpminstallscript-loader-S-D(2)导出表格地址https://github.com/PanJiaChen/vue-element-admin/blob/master/src/vendor/Ex</div>
                    </li>
                    <li><a href="/article/1892531896454279168.htm"
                           title="《沙雕传奇》手游官网:爆笑冒险,传奇之旅等你开启!" target="_blank">《沙雕传奇》手游官网:爆笑冒险,传奇之旅等你开启!</a>
                        <span class="text-muted">林舟Jie</span>
<a class="tag" taget="_blank" href="/search/%E6%B8%B8%E6%88%8F/1.htm">游戏</a><a class="tag" taget="_blank" href="/search/%E6%B8%B8%E6%88%8F/1.htm">游戏</a><a class="tag" taget="_blank" href="/search/%E6%89%8B%E6%B8%B8%E6%B8%B8%E6%88%8F/1.htm">手游游戏</a><a class="tag" taget="_blank" href="/search/%E4%BC%A0%E5%A5%87%E6%B8%B8%E6%88%8F/1.htm">传奇游戏</a>
                        <div>沙雕传奇手游官网:https://sdcq.qn185.com沙雕传奇手游官网《沙雕传奇》手游作为一款以“爆笑冒险”为主打的游戏,听起来就充满了趣味性和创意。以下是一些建议,帮助玩家更好地体验这款游戏:一、游戏初探与角色创建官网注册与下载:首先,前往《沙雕传奇》手游官网进行注册和下载。确保下载的是官方正版游戏,以避免遇到安全问题或盗版内容。角色创建:在创建角色时,可以根据自己的喜好选择性别、职业和</div>
                    </li>
                    <li><a href="/article/1892529998733045760.htm"
                           title="axios" target="_blank">axios</a>
                        <span class="text-muted">是小傲雨呀^_^</span>
<a class="tag" taget="_blank" href="/search/axios/1.htm">axios</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a>
                        <div>1.简介:Axios是一个基于Promise的现代化HTTP客户端库,广泛用于浏览器和Node.js环境中发送HTTP请求。它的设计目标是简化前后端数据交互,提供更高效、更易用的API。2.Axios的核心作用发送HTTP请求支持所有常见请求方法(GET、POST、PUT、DELETE等),并自动处理请求参数和响应数据。拦截请求和响应可以在请求发送前或响应返回后添加统一的处理逻辑(例如添加认证To</div>
                    </li>
                    <li><a href="/article/1892529999513186304.htm"
                           title="AJAX使用和固定格式" target="_blank">AJAX使用和固定格式</a>
                        <span class="text-muted">乐多_L</span>
<a class="tag" taget="_blank" href="/search/ajax/1.htm">ajax</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a>
                        <div>ajax的全称AsynchronousJavaScriptandXML(异步JavaScript和XML)。ajax是一种创建交互式网页应用的网页开发技术。其中最核心的依赖是浏览器提供的XMLHttpRequest对象,是这个对象使得浏览器可以发出HTTP请求与接收HTTP响应。实现了在页面不刷新的情况下和服务器进行交互。方法描述newXMLHttpRequest()生成一个XMLHttpRequ</div>
                    </li>
                    <li><a href="/article/1892528359695511552.htm"
                           title="详细介绍:封装简易的 Axios 函数获取省份列表" target="_blank">详细介绍:封装简易的 Axios 函数获取省份列表</a>
                        <span class="text-muted">还是鼠鼠</span>
<a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/vscode/1.htm">vscode</a><a class="tag" taget="_blank" href="/search/ajax/1.htm">ajax</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF%E6%A1%86%E6%9E%B6/1.htm">前端框架</a>
                        <div>目录关键步骤:完整代码(html):代码解析:程序运行结果:本示例展示了如何通过封装一个简易的myAxios函数来模拟axios的功能,使用原生的XMLHttpRequest(XHR)对象来发起HTTP请求。我们将实现一个简单的功能,通过该封装函数从服务器获取省份列表数据,并在网页上显示这些省份。关键步骤:封装myAxios函数:myAxios函数接收一个配置对象(如请求的URL和方法),并返回一</div>
                    </li>
                    <li><a href="/article/1892524576919842816.htm"
                           title="【架构】分层架构 (Layered Architecture)" target="_blank">【架构】分层架构 (Layered Architecture)</a>
                        <span class="text-muted">_君莫笑</span>
<a class="tag" taget="_blank" href="/search/%E8%BD%AF%E4%BB%B6%E6%9E%B6%E6%9E%84/1.htm">软件架构</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a>
                        <div>一、分层模型基础理论![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/0365cf0bfa754229bdedca6b472bffc7.png1.核心定义分层架构(LayeredArchitecture)模型是一种常见的软件设计架构,它将软件系统按照功能划分为不同的层次,每个层次都有特定的职责和功能,层与层之间存在清晰的依赖关系。这种架构有助于提高软件的可</div>
                    </li>
                    <li><a href="/article/1892509329303597056.htm"
                           title="YashanDB数据分区" target="_blank">YashanDB数据分区</a>
                        <span class="text-muted"></span>
<a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a>
                        <div>本文内容来自YashanDB官网,原文内容请见https://doc.yashandb.com/yashandb/23.3/zh/%E6%A6%82%E5%BF%B5%...#分区概述YashanDB可以将大规模数据拆分成更小、更便于管理的对象,即分区。通过对数据进行分区管理,可以减少无效数据的访问,提升大规模数据下的访问、操作性能。表可以根据某些条件进行分区,不同分区独立管理。分区表提供了更高效</div>
                    </li>
                    <li><a href="/article/1892508687893852160.htm"
                           title="Nginx配置反向代理不成功的原因(Docker安装版)" target="_blank">Nginx配置反向代理不成功的原因(Docker安装版)</a>
                        <span class="text-muted">程序员迪迦</span>
<a class="tag" taget="_blank" href="/search/%E9%A1%B9%E7%9B%AE%E5%AE%9E%E6%88%98/1.htm">项目实战</a><a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a>
                        <div>问题背景在linux服务器中使用docker下载了Nginx,然后根据网上的教程来配置反向代理的时候发现80端口无法访问server块的配置server{listen80;server_name127.0.0.1;#access_log/var/log/nginx/host.access.logmain;location/{proxy_passhttp://127.0.0.1:8080;#inde</div>
                    </li>
                    <li><a href="/article/1892507680455585792.htm"
                           title="Android arcgis加载在线底图" target="_blank">Android arcgis加载在线底图</a>
                        <span class="text-muted">Angie洛林</span>
<a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/arcgis/1.htm">arcgis</a>
                        <div>我整理的一些关于【信息系统】的项目学习资料(附讲解~~)和大家一起分享、学习一下:https://edu.51cto.com/mic-position/757.html在Android中使用ArcGIS加载在线底图ArcGIS是Esri提供的一套强大的地理信息系统(GIS)解决方案,支持多种平台,包括Android。本文将介绍如何在Android应用中使用ArcGIS加载在线底图,并配有相关代码示</div>
                    </li>
                    <li><a href="/article/1892506419761049600.htm"
                           title="深度学习环境配置——Anaconda安装" target="_blank">深度学习环境配置——Anaconda安装</a>
                        <span class="text-muted">tyyhmtyyhm</span>
<a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE/1.htm">深度学习环境配置</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a>
                        <div>目录Ⅰ.Windows系统安装Anaconda1.1下载安装Ⅱ.Linux系统安装Anaconda(适用于服务器安装)2.1下载2.2安装操作系统:windows11/ubuntu20/ubuntu18更新时间:20240221Ⅰ.Windows系统安装Anaconda1.1下载安装https://www.anaconda.com/download默认安装即可。Ⅱ.Linux系统安装Anacond</div>
                    </li>
                    <li><a href="/article/1892502890174541824.htm"
                           title="Jupyter使用Nginx做反向代理" target="_blank">Jupyter使用Nginx做反向代理</a>
                        <span class="text-muted">syuszu</span>
<a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a>
                        <div>1.在/nginx/conf/nginx.conf上进行修改因为jupyter对于header有过滤,需要将header复制,实例如下:server{server_name127.0.0.1;#入口地址listen80;location/{proxy_passhttp://127.0.0.1:8888;#jupyter服务器地址proxy_set_headerHost$host;proxy_set</div>
                    </li>
                    <li><a href="/article/1892502881513304064.htm"
                           title="nginx反向代理导致jupyter 或jupyterlab 无法输出" target="_blank">nginx反向代理导致jupyter 或jupyterlab 无法输出</a>
                        <span class="text-muted">NEOzhuo</span>
<a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/jupyter/1.htm">jupyter</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a>
                        <div>代码运行能力依赖于websocket,因此需要设置nginx的反向代理server{server_nameDOMAINIP_ADDRESS;#服务器域名和IP地址listen80;location/{proxy_passhttp://127.0.0.1:JUPYTER_PORT/;#JUPYTER_PORT为Jupyter运行端口proxy_set_headerX-Real-IP$remote_a</div>
                    </li>
                    <li><a href="/article/1892501257092919296.htm"
                           title="AI 如何接口调试?可以展示推理过程" target="_blank">AI 如何接口调试?可以展示推理过程</a>
                        <span class="text-muted"></span>
<a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/1.htm">人工智能深度学习机器学习</a>
                        <div>如何在开发AI接口的同时,能看到实时的AI回复,避免传统的轮询方式,而无需长时间等待。常用的AI模型(比如Deepseek、Gemini)都是支持流式输出,那有没有一款API接口软件可以实现这功能?近期Apifox增强了调试SSE接口功能,实现了发起HTTP请求流式响应就会自动合并为可读文本,实时以自然语言呈现响应。而且针对Deepseek还能展示思考推理过程!这大大降低AI应用开发难度,有图为证</div>
                    </li>
                    <li><a href="/article/1892500097330114560.htm"
                           title="简易java调用DeepSeek Api教程" target="_blank">简易java调用DeepSeek Api教程</a>
                        <span class="text-muted">m0_62519278</span>
<a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0%E5%B0%8F%E6%9C%AC%E6%9C%AC/1.htm">学习小本本</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>一、请求格式首先观察官方文档给出的访问api的样例脚本curlhttps://api.deepseek.com/chat/completions\-H"Content-Type:application/json"\-H"Authorization:Bearer"\-d'{"model":"deepseek-chat","messages":[{"role":"system","content":"</div>
                    </li>
                    <li><a href="/article/1892498963177730048.htm"
                           title="ArcGIS Runtime SDK for iOS 开发之地图范围(map extent)" target="_blank">ArcGIS Runtime SDK for iOS 开发之地图范围(map extent)</a>
                        <span class="text-muted">hlj184</span>
<a class="tag" taget="_blank" href="/search/ArcGIS/1.htm">ArcGIS</a><a class="tag" taget="_blank" href="/search/for/1.htm">for</a><a class="tag" taget="_blank" href="/search/IOS/1.htm">IOS</a><a class="tag" taget="_blank" href="/search/arcgis/1.htm">arcgis</a><a class="tag" taget="_blank" href="/search/ios%E5%BC%80%E5%8F%91/1.htm">ios开发</a><a class="tag" taget="_blank" href="/search/map/1.htm">map</a><a class="tag" taget="_blank" href="/search/extent/1.htm">extent</a>
                        <div>注:本篇文章翻译自:https://developers.arcgis.com/ios/objective-c/guide/iphonesdk-mapnavigation.htm;地图视图包含了地图范围被定义和改变的选项。值得注意的是,底图(加载到地图中的第一层图层)定义了下列地图属性:初始化范围全部范围空间参考系其中,初始范围可以被改变,而空间参考不可以改变。本篇文章主要讨论针对开发者和最终用户</div>
                    </li>
                    <li><a href="/article/1892498835721220096.htm"
                           title="探索单片机世界的音乐之旅 —— 51单片机简易电子琴项目解析" target="_blank">探索单片机世界的音乐之旅 —— 51单片机简易电子琴项目解析</a>
                        <span class="text-muted">蔡松宽</span>

                        <div>探索单片机世界的音乐之旅——51单片机简易电子琴项目解析电子琴.rar项目地址:https://gitcode.com/open-source-toolkit/67c65项目概况:旋律与科技的融合在浩瀚的电子海洋里,51单片机始终是那座引领初学者进入嵌入式开发殿堂的桥梁。51单片机实战之简易电子琴项目,正是专为此而生的一盏明灯。它不仅是技术实践的绝佳示例,更是每一位电子爱好者发掘硬件音乐潜能的钥匙</div>
                    </li>
                                <li><a href="/article/121.htm"
                                       title="jquery实现的jsonp掉java后台" target="_blank">jquery实现的jsonp掉java后台</a>
                                    <span class="text-muted">知了ing</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/jsonp/1.htm">jsonp</a><a class="tag" taget="_blank" href="/search/jquery/1.htm">jquery</a>
                                    <div> 什么是JSONP? 
 
先说说JSONP是怎么产生的: 
 
其实网上关于JSONP的讲解有很多,但却千篇一律,而且云里雾里,对于很多刚接触的人来讲理解起来有些困难,小可不才,试着用自己的方式来阐释一下这个问题,看看是否有帮助。 
 
1、一个众所周知的问题,Ajax直接请求普通文件存在跨域无权限访问的问题,甭管你是静态页面、动态网页、web服务、WCF,只要是跨域请求,一律不准; 
 
2、</div>
                                </li>
                                <li><a href="/article/248.htm"
                                       title="Struts2学习笔记" target="_blank">Struts2学习笔记</a>
                                    <span class="text-muted">caoyong</span>
<a class="tag" taget="_blank" href="/search/struts2/1.htm">struts2</a>
                                    <div>SSH : Spring + Struts2 + Hibernate 
三层架构(表示层,业务逻辑层,数据访问层) MVC模式 (Model View Controller) 
分层原则:单向依赖,接口耦合 
 
1、Struts2  =  Struts  + Webwork 
2、搭建struts2开发环境 
   a>、到www.apac</div>
                                </li>
                                <li><a href="/article/375.htm"
                                       title="SpringMVC学习之后台往前台传值方法" target="_blank">SpringMVC学习之后台往前台传值方法</a>
                                    <span class="text-muted">满城风雨近重阳</span>
<a class="tag" taget="_blank" href="/search/springMVC/1.htm">springMVC</a>
                                    <div>springMVC控制器往前台传值的方法有以下几种: 
1.ModelAndView 
   通过往ModelAndView中存放viewName:目标地址和attribute参数来实现传参: 
    
 ModelAndView mv=new ModelAndView(); 
 mv.setViewName="success</div>
                                </li>
                                <li><a href="/article/502.htm"
                                       title="WebService存在的必要性?" target="_blank">WebService存在的必要性?</a>
                                    <span class="text-muted">一炮送你回车库</span>
<a class="tag" taget="_blank" href="/search/webservice/1.htm">webservice</a>
                                    <div>做Java的经常在选择Webservice框架上徘徊很久,Axis  Xfire Axis2 CXF ,他们只有一个功能,发布HTTP服务然后用XML做数据传输。 
是的,他们就做了两个功能,发布一个http服务让客户端或者浏览器连接,接收xml参数并发送xml结果。 
当在不同的平台间传输数据时,就需要一个都能解析的数据格式。 
但是为什么要使用xml呢?不能使json或者其他通用数据</div>
                                </li>
                                <li><a href="/article/629.htm"
                                       title="js年份下拉框" target="_blank">js年份下拉框</a>
                                    <span class="text-muted">3213213333332132</span>
<a class="tag" taget="_blank" href="/search/java+web+ee/1.htm">java web ee</a>
                                    <div>
  <div id="divValue">test...</div>测试

 //年份 
    <select id="year"></select>
   <script type="text/javascript">
     window.onload = </div>
                                </li>
                                <li><a href="/article/756.htm"
                                       title="简单链式调用的实现技术" target="_blank">简单链式调用的实现技术</a>
                                    <span class="text-muted">归来朝歌</span>
<a class="tag" taget="_blank" href="/search/%E6%96%B9%E6%B3%95%E8%B0%83%E7%94%A8/1.htm">方法调用</a><a class="tag" taget="_blank" href="/search/%E9%93%BE%E5%BC%8F%E5%8F%8D%E5%BA%94/1.htm">链式反应</a><a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B%E6%80%9D%E6%83%B3/1.htm">编程思想</a>
                                    <div>在编程中,我们可以经常遇到这样一种场景:一个实例不断调用它自身的方法,像一条链条一样进行调用 
这样的调用你可能在Ajax中,在页面中添加标签: 
$("<p>").append($("<span>").text(list[i].name)).appendTo("#result"); 
  
也可能在HQ</div>
                                </li>
                                <li><a href="/article/883.htm"
                                       title="JAVA调用.net 发布的webservice 接口" target="_blank">JAVA调用.net 发布的webservice 接口</a>
                                    <span class="text-muted">darkranger</span>
<a class="tag" taget="_blank" href="/search/webservice/1.htm">webservice</a>
                                    <div> /** 
	* @Title: callInvoke 
	* @Description: TODO(调用接口公共方法) 
	* @param @param url 地址
	* @param @param method 方法
	* @param @param pama 参数
	* @param @return
	* @param @throws BusinessException  </div>
                                </li>
                                <li><a href="/article/1010.htm"
                                       title="Javascript模糊查找 | 第一章 循环不能不重视。" target="_blank">Javascript模糊查找 | 第一章 循环不能不重视。</a>
                                    <span class="text-muted">aijuans</span>
<a class="tag" taget="_blank" href="/search/Way/1.htm">Way</a>
                                    <div>  最近受我的朋友委托用js+HTML做一个像手册一样的程序,里面要有可展开的大纲,模糊查找等功能。我这个人说实在的懒,本来是不愿意的,但想起了父亲以前教我要给朋友搞好关系,再加上这也可以巩固自己的js技术,于是就开始开发这个程序,没想到却出了点小问题,我做的查找只能绝对查找。具体的js代码如下: 
  
function search(){
	var arr=new Array("my</div>
                                </li>
                                <li><a href="/article/1137.htm"
                                       title="狼和羊,该怎么抉择" target="_blank">狼和羊,该怎么抉择</a>
                                    <span class="text-muted">atongyeye</span>
<a class="tag" taget="_blank" href="/search/%E5%B7%A5%E4%BD%9C/1.htm">工作</a>
                                    <div>狼和羊,该怎么抉择 
 
在做一个链家的小项目,只有我和另外一个同事两个人负责,各负责一部分接口,我的接口写完,并全部测联调试通过。所以工作就剩下一下细枝末节的,工作就轻松很多。每天会帮另一个同事测试一些功能点,协助他完成一些业务型不强的工作。 
 
今天早上到公司没多久,领导就在QQ上给我发信息,让我多协助同事测试,让我积极主动些,有点责任心等等,我听了这话,心里面立马凉半截,首先一个领导轻易说</div>
                                </li>
                                <li><a href="/article/1264.htm"
                                       title="读取android系统的联系人拨号" target="_blank">读取android系统的联系人拨号</a>
                                    <span class="text-muted">百合不是茶</span>
<a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/sqlite%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">sqlite数据库</a><a class="tag" taget="_blank" href="/search/%E5%86%85%E5%AE%B9%E6%8F%90%E4%BE%9B%E8%80%85/1.htm">内容提供者</a><a class="tag" taget="_blank" href="/search/%E7%B3%BB%E7%BB%9F%E6%9C%8D%E5%8A%A1%E7%9A%84%E4%BD%BF%E7%94%A8/1.htm">系统服务的使用</a>
                                    <div>  
     联系人的姓名和号码是保存在不同的表中,不要一下子把号码查询来,我开始就是把姓名和电话同时查询出来的,导致系统非常的慢 
  
关键代码: 
  
  
1, 使用javabean操作存储读取到的数据 
package com.example.bean;

/**
 * 
 * @author Admini</div>
                                </li>
                                <li><a href="/article/1391.htm"
                                       title="ORACLE自定义异常" target="_blank">ORACLE自定义异常</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/%E8%87%AA%E5%AE%9A%E4%B9%89%E5%BC%82%E5%B8%B8/1.htm">自定义异常</a>
                                    <div>实例: 
CREATE OR REPLACE PROCEDURE test_Exception
(
  ParameterA IN varchar2,
  ParameterB IN varchar2,
  ErrorCode  OUT varchar2  --返回值,错误编码
)
AS
  /*以下是一些变量的定义*/
  V1    NUMBER;
  V2    nvarc</div>
                                </li>
                                <li><a href="/article/1518.htm"
                                       title="查看端号使用情况" target="_blank">查看端号使用情况</a>
                                    <span class="text-muted">征客丶</span>
<a class="tag" taget="_blank" href="/search/windows/1.htm">windows</a>
                                    <div>一、查看端口 
在windows命令行窗口下执行: 
>netstat -aon|findstr "8080" 
显示结果: 
TCP     127.0.0.1:80         0.0.0.0:0    &</div>
                                </li>
                                <li><a href="/article/1645.htm"
                                       title="【Spark二十】运行Spark Streaming的NetworkWordCount实例" target="_blank">【Spark二十】运行Spark Streaming的NetworkWordCount实例</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/wordcount/1.htm">wordcount</a>
                                    <div>Spark Streaming简介 
  NetworkWordCount代码 
  
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
</div>
                                </li>
                                <li><a href="/article/1772.htm"
                                       title="Struts2 与 SpringMVC的比较" target="_blank">Struts2 与 SpringMVC的比较</a>
                                    <span class="text-muted">BlueSkator</span>
<a class="tag" taget="_blank" href="/search/struts2/1.htm">struts2</a><a class="tag" taget="_blank" href="/search/spring+mvc/1.htm">spring mvc</a>
                                    <div>1. 机制:spring mvc的入口是servlet,而struts2是filter,这样就导致了二者的机制不同。 2. 性能:spring会稍微比struts快。spring mvc是基于方法的设计,而sturts是基于类,每次发一次请求都会实例一个action,每个action都会被注入属性,而spring基于方法,粒度更细,但要小心把握像在servlet控制数据一样。spring</div>
                                </li>
                                <li><a href="/article/1899.htm"
                                       title="Hibernate在更新时,是可以不用session的update方法的(转帖)" target="_blank">Hibernate在更新时,是可以不用session的update方法的(转帖)</a>
                                    <span class="text-muted">BreakingBad</span>
<a class="tag" taget="_blank" href="/search/Hibernate/1.htm">Hibernate</a><a class="tag" taget="_blank" href="/search/update/1.htm">update</a>
                                    <div>地址:http://blog.csdn.net/plpblue/article/details/9304459 
public void synDevNameWithItil() 
{Session session = null;Transaction tr = null;try{session = HibernateUtil.getSession();tr = session.beginTran</div>
                                </li>
                                <li><a href="/article/2026.htm"
                                       title="读《研磨设计模式》-代码笔记-观察者模式" target="_blank">读《研磨设计模式》-代码笔记-观察者模式</a>
                                    <span class="text-muted">bylijinnan</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a>
                                    <div>声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/ 
 
 



import java.util.ArrayList;
import java.util.List;
import java.util.Observable;
import java.util.Observer;

/**
 * “观</div>
                                </li>
                                <li><a href="/article/2153.htm"
                                       title="重置MySQL密码" target="_blank">重置MySQL密码</a>
                                    <span class="text-muted">chenhbc</span>
<a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/%E9%87%8D%E7%BD%AE%E5%AF%86%E7%A0%81/1.htm">重置密码</a><a class="tag" taget="_blank" href="/search/%E5%BF%98%E8%AE%B0%E5%AF%86%E7%A0%81/1.htm">忘记密码</a>
                                    <div>如果你也像我这么健忘,把MySQL的密码搞忘记了,经过下面几个步骤就可以重置了(以Windows为例,Linux/Unix类似): 
1、关闭MySQL服务 
2、打开CMD,进入MySQL安装目录的bin目录下,以跳过权限检查的方式启动MySQL 
mysqld --skip-grant-tables 
 3、新开一个CMD窗口,进入MySQL 
mysql -uroot 
 </div>
                                </li>
                                <li><a href="/article/2280.htm"
                                       title="再谈系统论,控制论和信息论" target="_blank">再谈系统论,控制论和信息论</a>
                                    <span class="text-muted">comsci</span>
<a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a><a class="tag" taget="_blank" href="/search/%E7%94%9F%E7%89%A9/1.htm">生物</a><a class="tag" taget="_blank" href="/search/%E8%83%BD%E6%BA%90/1.htm">能源</a><a class="tag" taget="_blank" href="/search/%E4%BC%81%E4%B8%9A%E5%BA%94%E7%94%A8/1.htm">企业应用</a><a class="tag" taget="_blank" href="/search/%E9%A2%86%E5%9F%9F%E6%A8%A1%E5%9E%8B/1.htm">领域模型</a>
                                    <div> 
                           再谈系统论,控制论和信息论 
 
 
    偶然看</div>
                                </li>
                                <li><a href="/article/2407.htm"
                                       title="oracle moving window size与 AWR retention period关系" target="_blank">oracle moving window size与 AWR retention period关系</a>
                                    <span class="text-muted">daizj</span>
<a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a>
                                    <div>转自: http://tomszrp.itpub.net/post/11835/494147 
 
晚上在做11gR1的一个awrrpt报告时,顺便想调整一下AWR snapshot的保留时间,结果遇到了ORA-13541这样的错误.下面是这个问题的发生和解决过程. 
 
SQL> select * from v$version; 
 
BANNER 
-------------------</div>
                                </li>
                                <li><a href="/article/2534.htm"
                                       title="Python版B树" target="_blank">Python版B树</a>
                                    <span class="text-muted">dieslrae</span>
<a class="tag" taget="_blank" href="/search/python/1.htm">python</a>
                                    <div>话说以前的树都用java写的,最近发现python有点生疏了,于是用python写了个B树实现,B树在索引领域用得还是蛮多了,如果没记错mysql的默认索引好像就是B树... 
 
首先是数据实体对象,很简单,只存放key,value 
 

class Entity(object):
    '''数据实体'''
    
    def __init__(self,key,value)</div>
                                </li>
                                <li><a href="/article/2661.htm"
                                       title="C语言冒泡排序" target="_blank">C语言冒泡排序</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a>
                                    <div>代码示例: 
# include <stdio.h>

//冒泡排序
void sort(int * a, int len)
{
	int i, j, t;

	for (i=0; i<len-1; i++)
	{
		for (j=0; j<len-1-i; j++)
		{
			if (a[j] > a[j+1])	// >表示升序 </div>
                                </li>
                                <li><a href="/article/2788.htm"
                                       title="自定义导航栏样式" target="_blank">自定义导航栏样式</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/%E8%87%AA%E5%AE%9A%E4%B9%89/1.htm">自定义</a>
                                    <div>-(void)setupAppAppearance
{
    [[UILabel appearance] setFont:[UIFont fontWithName:@"FZLTHK—GBK1-0" size:20]];
    [UIButton appearance].titleLabel.font =[UIFont fontWithName:@"FZLTH</div>
                                </li>
                                <li><a href="/article/2915.htm"
                                       title="11.性能优化-优化-JVM参数总结" target="_blank">11.性能优化-优化-JVM参数总结</a>
                                    <span class="text-muted">frank1234</span>
<a class="tag" taget="_blank" href="/search/jvm%E5%8F%82%E6%95%B0/1.htm">jvm参数</a><a class="tag" taget="_blank" href="/search/%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96/1.htm">性能优化</a>
                                    <div>1.堆 
-Xms --初始堆大小 
-Xmx --最大堆大小 
-Xmn --新生代大小 
-Xss --线程栈大小 
-XX:PermSize  --永久代初始大小 
-XX:MaxPermSize  --永久代最大值 
-XX:SurvivorRatio --新生代和suvivor比例,默认为8 
-XX:TargetSurvivorRatio --survivor可使用</div>
                                </li>
                                <li><a href="/article/3042.htm"
                                       title="nginx日志分割 for linux" target="_blank">nginx日志分割 for linux</a>
                                    <span class="text-muted">HarborChung</span>
<a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E8%84%9A%E6%9C%AC/1.htm">脚本</a>
                                    <div>nginx日志分割 for linux   默认情况下,nginx是不分割访问日志的,久而久之,网站的日志文件将会越来越大,占用空间不说,如果有问题要查看网站的日志的话,庞大的文件也将很难打开,于是便有了下面的脚本        使用方法,先将以下脚本保存为 cutlog.sh,放在/root 目录下,然后给予此脚本执行的权限    
   
复制代码代码如下:   
chmo</div>
                                </li>
                                <li><a href="/article/3169.htm"
                                       title="Spring4新特性——泛型限定式依赖注入" target="_blank">Spring4新特性——泛型限定式依赖注入</a>
                                    <span class="text-muted">jinnianshilongnian</span>
<a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/spring4/1.htm">spring4</a><a class="tag" taget="_blank" href="/search/%E6%B3%9B%E5%9E%8B%E5%BC%8F%E4%BE%9D%E8%B5%96%E6%B3%A8%E5%85%A5/1.htm">泛型式依赖注入</a>
                                    <div>Spring4新特性——泛型限定式依赖注入 
Spring4新特性——核心容器的其他改进 
Spring4新特性——Web开发的增强 
Spring4新特性——集成Bean Validation 1.1(JSR-349)到SpringMVC  
Spring4新特性——Groovy Bean定义DSL 
Spring4新特性——更好的Java泛型操作API  
Spring4新</div>
                                </li>
                                <li><a href="/article/3296.htm"
                                       title="centOS安装GCC和G++" target="_blank">centOS安装GCC和G++</a>
                                    <span class="text-muted">liuxihope</span>
<a class="tag" taget="_blank" href="/search/centos/1.htm">centos</a><a class="tag" taget="_blank" href="/search/gcc/1.htm">gcc</a>
                                    <div>Centos支持yum安装,安装软件一般格式为yum install .......,注意安装时要先成为root用户。 
 
按照这个思路,我想安装过程如下: 
 
安装gcc:yum install gcc 
 
安装g++: yum install g++ 
 
实际操作过程发现,只能有gcc安装成功,而g++安装失败,提示g++ command not found。上网查了一下,正确安装应该</div>
                                </li>
                                <li><a href="/article/3423.htm"
                                       title="第13章 Ajax进阶(上)" target="_blank">第13章 Ajax进阶(上)</a>
                                    <span class="text-muted">onestopweb</span>
<a class="tag" taget="_blank" href="/search/Ajax/1.htm">Ajax</a>
                                    <div>index.html 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/</div>
                                </li>
                                <li><a href="/article/3550.htm"
                                       title="How to determine BusinessObjects service pack and fix pack" target="_blank">How to determine BusinessObjects service pack and fix pack</a>
                                    <span class="text-muted">blueoxygen</span>
<a class="tag" taget="_blank" href="/search/BO/1.htm">BO</a>
                                    <div>http://bukhantsov.org/2011/08/how-to-determine-businessobjects-service-pack-and-fix-pack/ 
  
The table below is helpful. Reference 
  BOE XI 3.x 
     12.0.0.
y  BOE XI 3.0   12.0.
x.
y  BO</div>
                                </li>
                                <li><a href="/article/3677.htm"
                                       title="Oracle里的自增字段设置" target="_blank">Oracle里的自增字段设置</a>
                                    <span class="text-muted">tomcat_oracle</span>
<a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a>
                                    <div> 大家都知道吧,这很坑,尤其是用惯了mysql里的自增字段设置,结果oracle里面没有的。oh,no     我用的是12c版本的,它有一个新特性,可以这样设置自增序列,在创建表是,把id设置为自增序列   
create table t
(
id        number generated by default as identity (start with 1 increment b</div>
                                </li>
                                <li><a href="/article/3804.htm"
                                       title="Spring Security(01)——初体验" target="_blank">Spring Security(01)——初体验</a>
                                    <span class="text-muted">yang_winnie</span>
<a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/Security/1.htm">Security</a>
                                    <div>Spring Security(01)——初体验 
 
    博客分类: spring Security 
 
Spring Security入门安全认证 
 
       首先我们为Spring Security专门建立一个Spring的配置文件,该文件就专门用来作为Spring Security的配置</div>
                                </li>
                </ul>
            </div>
        </div>
    </div>

<div>
    <div class="container">
        <div class="indexes">
            <strong>按字母分类:</strong>
            <a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a
                href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a
                href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a
                href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a
                href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a
                href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a
                href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a
                href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a
                href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a>
        </div>
    </div>
</div>
<footer id="footer" class="mb30 mt30">
    <div class="container">
        <div class="footBglm">
            <a target="_blank" href="/">首页</a> -
            <a target="_blank" href="/custom/about.htm">关于我们</a> -
            <a target="_blank" href="/search/Java/1.htm">站内搜索</a> -
            <a target="_blank" href="/sitemap.txt">Sitemap</a> -
            <a target="_blank" href="/custom/delete.htm">侵权投诉</a>
        </div>
        <div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved.
<!--            <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>-->
        </div>
    </div>
</footer>
<!-- 代码高亮 -->
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script>
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script>
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script>
<link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/>
<script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script>





</body>

</html>