HTTP协议

一、概念

超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)是互联网上应用最为广泛的一种网络协议。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。通过HTTP或者HTTPS协议请求的资源由统一资源标识符(Uniform Resource Identifiers,URI)来标识。HTTP构建于TCP/IP协议之上,默认端口是80;HTTP是无连接无状态的。

HTTP 协议是基于请求与响应的:


HTTP协议

二、HTTP报文

1.请求方法

HTTP1.1目前支持7种请求方法。

  1. GET
    GET方法是默认的HTTP请求方法,日常用GET方法来提交表单数据,然而用GET方法提交的表单数据只经过了简单的编码,同时它将作为URL的一部分向WEB服务器发送。因此,如果使用GET方法来提交表单数据就存在安全隐患。
    如:https://www.google.co.jp/search?q=http协议&oq=http协议

  2. POST
    主要向服务器提交数据,尤其是大批量数据。POST方法克服了GET方法的一些缺点。通过POST提交数据时,数据不是作为URL请求的一部分而是作为标准数据传送给服务器,克服了GET中信息无法保密和数据量太小的缺点。

  3. HEAD
    请求获取有Request-URI所标识的资源的响应消息报头。

  4. OPTIONS
    请求查询服务器的性能,或查询与资源相关的选项和需求。

  5. PUT
    请求服务器存储一个资源,并用Request-URI作为标识。

  6. DELETE
    请求服务器删除由Request-URI标识的资源。

  7. TRACE
    请求服务器回送收到的请求信息,主要用于测试或诊断。

2.请求报文

请求报文组成

请求报文由三个部分组成:

  • 请求行
    请求行由请求方法、URL和HTTP协议版本组成,用空格分隔。如:GET /index.html HTTP/1.1
  • 请求头


    请求头

    请求头部由关键字/值对组成,每行一对,关键字和值用英文冒号“:”分隔。请求头部通知服务器有关于客户端请求的信息。例如:

User-Agent:产生请求的浏览器类型。
Accept:客户端可识别的内容类型列表。
Host:请求的主机名,允许多个域名同处一个IP地址,即虚拟主机。
  • 请求正文
    请求头和请求正文之间是一个空行,这个行非常重要,它表示请求头已经结束,接下来的是请求正文。请求正文中可以包含客户提交的查询字符串信息。
    下面是一个典型的请求报文:
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=1234

3.响应报文

响应报文

响应报文也由三部分组成:

  • 状态行
    状态行由协议版本、数字形式的状态代码、及相应的状态描述,各元素之间以空格分隔。如: HTTP/1.1 200 OK

状态码由三个数字组成,第一个数字定义了响应的类别:
1xx:指示信息--表示请求已接收,继续处理。
2xx:成功--表示请求已被成功接收、理解、接受。
3xx:重定向--要完成请求必须进行更进一步的操作。
4xx:客户端错误--请求有语法错误或请求无法实现。
5xx:服务器端错误--服务器未能实现合法的请求。

常见的状态码如下:
200 OK 客户端请求成功
301 Moved Permanently 请求永久重定向
302 Moved Temporarily 请求临时重定向
304 Not Modified 文件未修改,可以直接使用缓存的文件。
400 Bad Request 由于客户端请求有语法错误,不能被服务器所理解。
401 Unauthorized 请求未经授权。这个状态代码必须和WWW-Authenticate报头域一起使用
403 Forbidden 服务器收到请求,但是拒绝提供服务。服务器通常会在响应正文中给出不提供服务的原因
404 Not Found 请求的资源不存在,例如,输入了错误的URL
500 Internal Server Error 服务器发生不可预期的错误,导致无法完成客户端的请求。
503 Service Unavailable 服务器当前不能够处理客户端的请求,在一段时间之后,服务器可能会恢复正常。

  • 响应头
    与请求头部类似,为响应报文添加了一些附加信息
    常见响应头部如下:


    响应头
  • 响应正文
    用于存放需要返回给客户端的数据信息。
    一个典型的响应报文如下:
HTTP/1.1 200 OK  状态行
Date: Sun, 17 Mar 2013 08:12:54 GMT  响应头部
Server: Apache/2.2.8 (Win32) PHP/5.2.5
X-Powered-By: PHP/5.2.5
Set-Cookie: PHPSESSID=c0huq7pdkmm5gg6osoe3mgjmm3; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Length: 4393
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html; charset=utf-8
  空行

  响应数据

HTTP响应示例<title>
</head>
<body>
Hello HTTP!
</body>
</html>
</code></pre> 
 <h3>三、无连接和无状态</h3> 
 <p>HTTP有两个重要的特点就是无连接和无状态。怎么理解呢?</p> 
 <h4>1.无连接</h4> 
 <blockquote> 
  <p>它的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。</p> 
 </blockquote> 
 <p>然而随着互联网的发展,一台服务器同一时间处理的请求越来越多,如果依然采用原来的方式,将会在建立和断开连接上花费大部分时间。<br> HTTP/1.0:持久连接被提出来;即当一个TCP连接服务器多次请求:客户端会在请求Header中携带Connection:Keep-Alive;向服务器请求持久连接,如果服务端允许就会在响应报文中加上相同的字段。<br> HTTP/1.1时代:持久连接称为了默认的连接方式;同时持久连接的弊病也展现出来,即所有的连接都是串行的,HOLB;当某一个请求阻塞时就会导致同一条连接的后续请求被阻塞;<br> 为了解决这一问题:提出了pipellining的概念;客户端发起一次请求时不必等待响应便直接发起第二个请求;服务端按照请求的顺序一次返回结果。</p> 
 <p>我们知道 HTTP 协议采用“请求-应答”模式,当使用普通模式,即非 Keep-Alive 模式时,每个请求/应答客户和服务器都要新建一个连接,完成之后立即断开连接(HTTP协议为无连接的协议);当使用 Keep-Alive 模式(又称持久连接、连接重用)时,Keep-Alive 功能使客户端到服务器端的连接持续有效,当出现对服务器的后继请求时,Keep-Alive 功能避免了建立或者重新建立连接。</p> 
 <ul> 
  <li>HTTP Keep-Alive 简单说就是保持当前的TCP连接,避免了重新建立连接。</li> 
  <li>HTTP 长连接不可能一直保持,例如 Keep-Alive: timeout=5, max=100,表示这个TCP通道可以保持5秒,max=100,表示这个长连接最多接收100次请求就断开。</li> 
  <li>HTTP是一个无状态协议,这意味着每个请求都是独立的,Keep-Alive没能改变这个结果。另外,Keep-Alive也不能保证客户端和服务器之间的连接一定是活跃的,在HTTP1.1版本中也如此。唯一能保证的就是当连接被关闭时你能得到一个通知,所以不应该让程序依赖于Keep-Alive的保持连接特性,否则会有意想不到的后果。</li> 
  <li>使用长连接之后,客户端、服务端怎么知道本次传输结束呢?两部分:1. 判断传输数据是否达到了Content-Length 指示的大小;2. 动态生成的文件没有 Content-Length ,它是分块传输(chunked),这时候就要根据 chunked 编码来判断,chunked 编码的数据在最后有一个空 chunked 块,表明本次传输数据结束。</li> 
 </ul> 
 <h4>2.无状态</h4> 
 <blockquote> 
  <p>无状态是指协议对于事务处理没有记忆能力,服务器不知道客户端是什么状态。即我们给服务器发送 HTTP 请求之后,服务器根据请求,会给我们发送数据过来,但是,发送完,不会记录任何信息。HTTP 是一个无状态协议,这意味着每个请求都是独立的,Keep-Alive 没能改变这个结果。</p> 
 </blockquote> 
</article>
                            </div>
                        </div>
                    </div>
                    <!--PC和WAP自适应版-->
                    <div id="SOHUCS" sid="1831926215808741376"></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协议)</h4>
        <div id="paradigm-article-related">
            <div class="recommend-post mb30">
                <ul class="widget-links">
                    <li><a href="/article/1939958177902686208.htm"
                           title="Python正式课11_关于cookie和session" target="_blank">Python正式课11_关于cookie和session</a>
                        <span class="text-muted">时寒的笔记</span>
<a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>一、概念"""http,无连接,无状态.我们在淘宝上买东西.用户登陆的状态是必须要有的...工作当中是需要这个状态的.但是http协议是不负责维持这个状态的.loginusernamepassword浏览器想了一个办法.弄了一个本地化的存储.来保持这个状态.本地保存的这个东西.每次发请求的时候.浏览器都会自动携带该信息.这个本地化的存储.我们叫它cookiecookie的生成过程:1.cookie</div>
                    </li>
                    <li><a href="/article/1939454460833099776.htm"
                           title="字节跳动Java开发面试题及参考答案(综合篇)" target="_blank">字节跳动Java开发面试题及参考答案(综合篇)</a>
                        <span class="text-muted">大模型大数据攻城狮</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF%E9%9D%A2%E8%AF%95/1.htm">后端面试</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E5%8E%82%E9%9D%A2%E8%AF%95/1.htm">大厂面试</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E5%8E%82%E6%A0%A1%E6%8B%9B/1.htm">大厂校招</a><a class="tag" taget="_blank" href="/search/%E5%8A%A0%E5%AF%86%E7%AE%97%E6%B3%95/1.htm">加密算法</a><a class="tag" taget="_blank" href="/search/nacos/1.htm">nacos</a><a class="tag" taget="_blank" href="/search/%E7%BA%BF%E7%A8%8B%E6%B1%A0/1.htm">线程池</a>
                        <div>HTTP与HTTPS的区别?HTTP(超文本传输协议)和HTTPS(超文本传输安全协议)主要有以下区别。从安全性角度看,HTTP是明文传输协议,数据在网络中传输时是以原始文本的形式发送的。这就好比在信件传递过程中没有进行密封,任何中间节点(如路由器、代理服务器等)都可以查看信件内容。例如,用户登录一个网站时发送的用户名和密码信息,如果是通过HTTP协议传输,很容易被窃取。而HTTPS是加密的安全协</div>
                    </li>
                    <li><a href="/article/1939287811198873600.htm"
                           title="soapui创建REST 工程操作步骤" target="_blank">soapui创建REST 工程操作步骤</a>
                        <span class="text-muted">为你奋斗!</span>
<a class="tag" taget="_blank" href="/search/soapui/1.htm">soapui</a><a class="tag" taget="_blank" href="/search/json/1.htm">json</a><a class="tag" taget="_blank" href="/search/%E6%B5%8B%E8%AF%95%E5%B7%A5%E5%85%B7/1.htm">测试工具</a>
                        <div>一、HTTP协议GET请求1、创建工程:File---》NewTESTProject2、填写url地址:http://192.168.x.x:0001,默认工程名:RESTProject13、填写获取token的请求,默认请求名Request1,可以重命名,右键--》重命名选择Method:GET,POST方法,比如:GETResource:接口api地址,比如:/api/getTokenPara</div>
                    </li>
                    <li><a href="/article/1939225643044630528.htm"
                           title="HTTP 请求方法" target="_blank">HTTP 请求方法</a>
                        <span class="text-muted">前端小巷子</span>
<a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E7%9B%B8%E5%85%B3/1.htm">网络相关</a><a class="tag" taget="_blank" href="/search/http/1.htm">http</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%8D%8F%E8%AE%AE/1.htm">网络协议</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%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a>
                        <div>在Web开发中,HTTP请求方法是客户端与服务器之间通信的基础。本文将详细介绍HTTP中常用的请求方法,包括GET、POST、PUT、DELETE、OPTIONS、TRACE和CONNECT,并探讨它们在实际开发中的应用。一、HTTP请求方法概述HTTP请求方法是请求行中的第一个单词,它向服务器描述了客户端发出请求的动作类型。虽然HTTP协议允许自定义请求方法,但实际开发中通常使用以下几种常见的方</div>
                    </li>
                    <li><a href="/article/1939106883705040896.htm"
                           title="HTTP协议与MQTT协议的对比:选择哪个更适合编程学习?" target="_blank">HTTP协议与MQTT协议的对比:选择哪个更适合编程学习?</a>
                        <span class="text-muted">CqppDeveloper</span>
<a class="tag" taget="_blank" href="/search/http/1.htm">http</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%8D%8F%E8%AE%AE/1.htm">网络协议</a>
                        <div>在编程学习的过程中,选择合适的通信协议对于实现特定功能至关重要。在本文中,我们将比较HTTP协议和MQTT协议,以确定哪个更适合编程学习的需求。我们将探讨它们的特点、适用场景和提供相应的源代码示例。1.HTTP协议HTTP(HypertextTransferProtocol)是一种应用层协议,广泛用于互联网上的数据传输。它基于请求-响应模型,客户端向服务器发送请求,服务器返回相应的数据。以下是HT</div>
                    </li>
                    <li><a href="/article/1939100195430133760.htm"
                           title="新手友好!从HTTP到HTTPS再到HTTP/2:网站通信的进化之路" target="_blank">新手友好!从HTTP到HTTPS再到HTTP/2:网站通信的进化之路</a>
                        <span class="text-muted">甘露寺</span>
<a class="tag" taget="_blank" href="/search/%E6%B5%8F%E8%A7%88%E5%99%A8/1.htm">浏览器</a><a class="tag" taget="_blank" href="/search/http/1.htm">http</a><a class="tag" taget="_blank" href="/search/https/1.htm">https</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%8D%8F%E8%AE%AE/1.htm">网络协议</a>
                        <div>从HTTP到HTTPS再到HTTP/2:网站通信的进化之路作为一名刚接触Web开发的新手,你可能经常听说HTTPS和HTTP/2,但不太清楚它们具体解决了什么问题,又是如何一步步优化我们上网体验的。这篇博客就用大白话,带你了解网站通信技术的进化史!第一章:HTTP的烦恼-裸奔的网络想象一下,你在网上冲浪,就像在公共场所大声聊天。问题一:信息裸奔,谁都能偷听!HTTP协议:早期的网站大多使用HTTP</div>
                    </li>
                    <li><a href="/article/1939058590232932352.htm"
                           title="针对http协议的监控" target="_blank">针对http协议的监控</a>
                        <span class="text-muted">dog250</span>
<a class="tag" taget="_blank" href="/search/tcp/1.htm">tcp</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a>
                        <div>http协议仅仅是一个应用层协议,它使用了传输层tcp协议的功能而已,因此http协议在tcp的语义成立的情形下可以自由发挥,正是由于这种自由发挥导致了监控http成为了可能,本质原因在于,无疑,http还是要听tcp的。设客户端A,http目的地址为W,监控主机为B,序列如下:A->W:发送正常的http请求B:由于B是A和W之间的旁路主机,因此B能得到此次访问B->A:B快速向A发送一个事先准</div>
                    </li>
                    <li><a href="/article/1939052415294697472.htm"
                           title="websocket多客户端接收消息_WebSocket之消息接收发送" target="_blank">websocket多客户端接收消息_WebSocket之消息接收发送</a>
                        <span class="text-muted">weixin_39940344</span>

                        <div>WebSocket协议是基于TCP的一种新的网络协议。它实现了浏览器与服务器全双工(full-duplex)通信——允许服务器主动发送信息给客户端。在WebSocketAPI中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。http协议是单向通信,一般由客户端发起请求,然后接收服务端响应。如果要实现客户端实时消息跟新功能如:更新聊天消息,更新邮件信息,更</div>
                    </li>
                    <li><a href="/article/1939048003415371776.htm"
                           title="ASP.NET Core通过Websocket建立简单聊天室" target="_blank">ASP.NET Core通过Websocket建立简单聊天室</a>
                        <span class="text-muted"></span>

                        <div>什么是websocket?传统的HTTP协议是一个请求-响应协议,也即是由浏览器主动向服务器发起请求,随后服务器才能进行响应这个请求,再把数据发送给浏览器。也就是说,浏览器不主动发起请求,服务器是不能主动发送数据给浏览器的,很明显,这并不能满足实时聊天的需求。满足这个需求的解法总体来说有三种:轮询、长连接、Comet轮询:轮询是指浏览器通过JavaScript启动一个定时器,然后以固定的间隔给服务</div>
                    </li>
                    <li><a href="/article/1939045354578178048.htm"
                           title="Java web%10" target="_blank">Java web%10</a>
                        <span class="text-muted">好学且牛逼的马</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/AI%E7%BC%96%E7%A8%8B/1.htm">AI编程</a>
                        <div>%10新路线Javawebai笔记阶段时长内容Web前端基础2天HTML、CSS、JS、Vue3、AjaxWeb后端基础4天Maven、HTTP协议、SpringIOC、DI、MySQL、JDBC、MybatisWeb后端实战6天Tlias案例(基于案例讲解web开发的核心知识)Web后端进阶2天SpringAOP、SpringBoot原理、自定义Starter、Maven高级前端web实战4天V</div>
                    </li>
                    <li><a href="/article/1938980166852210688.htm"
                           title="浅谈HttpClient" target="_blank">浅谈HttpClient</a>
                        <span class="text-muted">weixin_34092455</span>
<a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a>
                        <div>为什么80%的码农都做不了架构师?>>>HttpClient简介HttpClient是ApacheJakartaCommon下的子项目,可以用来提供高效的、最新的、功能丰富的支持HTTP协议的客户端编程工具包,并且它支持HTTP协议最新的版本和建议。HttpClient支持的功能如下:支持Http0.9、Http1.0和Http1.1协议。实现了Http全部的方法(GET,POST,PUT,HEA</div>
                    </li>
                    <li><a href="/article/1938797338537553920.htm"
                           title="小程序入门:跳过域名校验、跨域与 Ajax 问题解析" target="_blank">小程序入门:跳过域名校验、跨域与 Ajax 问题解析</a>
                        <span class="text-muted">you4580</span>
<a class="tag" taget="_blank" href="/search/%E5%B0%8F%E7%A8%8B%E5%BA%8F/1.htm">小程序</a>
                        <div>在小程序开发过程中,我们常常会遇到一些和网络请求相关的问题,比如合法域名校验、跨域以及Ajax的使用。今天这篇博客就来为大家详细讲解一下这些内容,帮助大家少走弯路,更高效地进行小程序开发。一、跳过request合法域名校验在小程序中发起网络数据请求,有两个硬性条件:接口必须基于https协议,同时要把接口对应的域名配置到合法域名列表里。可要是后端程序员只提供了http协议的接口,这时候该怎么办呢?</div>
                    </li>
                    <li><a href="/article/1938713888778416128.htm"
                           title="【JavaWeb】Servlet继承结构" target="_blank">【JavaWeb】Servlet继承结构</a>
                        <span class="text-muted">洛上言</span>
<a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/JavaWEB/1.htm">JavaWEB</a><a class="tag" taget="_blank" href="/search/servlet/1.htm">servlet</a><a class="tag" taget="_blank" href="/search/hive/1.htm">hive</a><a class="tag" taget="_blank" href="/search/hadoop/1.htm">hadoop</a>
                        <div>Servlet接口下有一个GenericServlet抽象类。在GenericServlet抽象类下有一个子类HttpServlet,它是基于http协议。javax.servlet.Servlet接口​javax.GenericServlet抽象类​javax.servlet.http.HttpServlet文章目录一、Servlet接口1)介绍2)接口及方法说明二、GenericServlet</div>
                    </li>
                    <li><a href="/article/1938253494221860864.htm"
                           title="纳米体育数据API电竞数据接口:实时数据包接口文档API示例④" target="_blank">纳米体育数据API电竞数据接口:实时数据包接口文档API示例④</a>
                        <span class="text-muted">Nami_Data</span>
<a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/websocket/1.htm">websocket</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/c%E8%AF%AD%E8%A8%80/1.htm">c语言</a>
                        <div>纳米体育数据的数据接口通过JSON拉流方式获取200多个国家的体育赛事实时数据或历史数据的编程接口,无请求次数限制,可按需购买,接口稳定高效;覆盖项目包括足球、篮球、网球、电子竞技、奥运等专题、数据内容。纳米数据API2.0版本包含http协议以及websocket协议,主要通过http获取数据,实时数据通过websocket获取。http协议支持http和https,每个接口都需要传递用户名和密</div>
                    </li>
                    <li><a href="/article/1938253116159881216.htm"
                           title="纳米体育数据足球数据接口:统计数据包接口文档API示例①" target="_blank">纳米体育数据足球数据接口:统计数据包接口文档API示例①</a>
                        <span class="text-muted">NamiData</span>
<a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/websocket/1.htm">websocket</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a>
                        <div>纳米体育数据的数据接口通过JSON拉流方式获取200多个国家的体育赛事实时数据或历史数据的编程接口,无请求次数限制,可按需购买,接口稳定高效;覆盖项目包括足球、篮球、网球、电子竞技、奥运等专题、数据内容。纳米数据API2.0版本包含http协议以及websocket协议,主要通过http获取数据,实时数据通过websocket获取。http协议支持http和https,每个接口都需要传递用户名和密</div>
                    </li>
                    <li><a href="/article/1938253115052584960.htm"
                           title="纳米体育数据足球数据接口:实时数据包接口文档API示例③" target="_blank">纳米体育数据足球数据接口:实时数据包接口文档API示例③</a>
                        <span class="text-muted">NamiData</span>
<a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/websocket/1.htm">websocket</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a>
                        <div>纳米体育数据的数据接口通过JSON拉流方式获取200多个国家的体育赛事实时数据或历史数据的编程接口,无请求次数限制,可按需购买,接口稳定高效;覆盖项目包括足球、篮球、网球、电子竞技、奥运等专题、数据内容。纳米数据API2.0版本包含http协议以及websocket协议,主要通过http获取数据,实时数据通过websocket获取。http协议支持http和https,每个接口都需要传递用户名和密</div>
                    </li>
                    <li><a href="/article/1938160821033037824.htm"
                           title="【Linux】HTTP协议中的cookie和session" target="_blank">【Linux】HTTP协议中的cookie和session</a>
                        <span class="text-muted">加油,旭杏</span>
<a class="tag" taget="_blank" href="/search/Linux%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/1.htm">Linux操作系统</a><a class="tag" taget="_blank" href="/search/http/1.htm">http</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%8D%8F%E8%AE%AE/1.htm">网络协议</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a><a class="tag" taget="_blank" href="/search/cookie/1.htm">cookie</a><a class="tag" taget="_blank" href="/search/session/1.htm">session</a>
                        <div>一、B站的登录和未登录——一种登录场景的演示我们现在上的是B站大学,所以对于B站,我们是很熟悉的。当我们打开浏览器,并访问B站网页时(很熟悉),会发现我们会自动登录上B站,为什么呢??因为在浏览器中,浏览器会有一个Cookie和站点数据,当我们将这些Cookie和站点数据删除以后,再次刷新网站,我们会发现现在我们处于未登录状态。我们来思考两个问题:B站是如何认识我这个登录用户的??HTTP是无状态</div>
                    </li>
                    <li><a href="/article/1938151368602742784.htm"
                           title="前端流式接口/Socket.IO/WebSocket的区别和选用" target="_blank">前端流式接口/Socket.IO/WebSocket的区别和选用</a>
                        <span class="text-muted"></span>

                        <div>WebSocket:定义:WebSocket是一种在单个TCP连接上进行全双工通信的协议,实现了客户端与服务器之间的实时双向通信。特点:基于HTTP协议,但通过握手升级为WebSocket协议,支持持久连接,减少延迟和带宽使用。适用场景:需要实时双向通信的应用,如在线聊天、实时游戏、股票行情等。Socket.IO:定义:Socket.IO是一个基于WebSocket的库,但不仅限于WebSocke</div>
                    </li>
                    <li><a href="/article/1938063272951476224.htm"
                           title="前端领域RESTful API的性能优化技巧大全" target="_blank">前端领域RESTful API的性能优化技巧大全</a>
                        <span class="text-muted">前端视界</span>
<a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF%E8%89%BA%E5%8C%A0%E9%A6%86/1.htm">前端艺匠馆</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/restful/1.htm">restful</a><a class="tag" taget="_blank" href="/search/%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96/1.htm">性能优化</a><a class="tag" taget="_blank" href="/search/ai/1.htm">ai</a>
                        <div>前端领域RESTfulAPI的性能优化技巧大全关键词:RESTfulAPI、性能优化、前端开发、HTTP缓存、数据压缩、分页查询、连接管理、熔断机制摘要:本文系统梳理前端场景下RESTfulAPI性能优化的核心技术体系,从架构设计、网络传输、数据处理、客户端优化四个维度展开,结合HTTP协议原理、缓存策略、压缩算法、分页机制等关键技术,通过具体代码示例和数学模型分析,提供完整的优化实施路径。涵盖开</div>
                    </li>
                    <li><a href="/article/1937865957951205376.htm"
                           title="HttpClient简单理解和使用" target="_blank">HttpClient简单理解和使用</a>
                        <span class="text-muted">令人头秃的bug</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/json/1.htm">json</a><a class="tag" taget="_blank" href="/search/apache/1.htm">apache</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a>
                        <div>HttpClient简单理解和使用HttpClient的简介使用场景依赖代码本人所写不一定是完全正确完善的,欢迎大家指导HttpClient的简介当有连接第一次使用的时候建立连接结束连接不关闭,归还到池中下次同个目的连接可以从池中直接获取定时清理过期连接定义需要的属性与http协议对接使用场景一是爬虫,但是我们不是面向监狱编程,我们是面向对象,所以大多是时候我们选择的是第二种,通过构建HttpCl</div>
                    </li>
                    <li><a href="/article/1937746179269914624.htm"
                           title="简单理解HTTP/HTTPS协议" target="_blank">简单理解HTTP/HTTPS协议</a>
                        <span class="text-muted">zl0_00_0</span>
<a class="tag" taget="_blank" href="/search/http/1.htm">http</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%8D%8F%E8%AE%AE/1.htm">网络协议</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a>
                        <div>具体可以看这个HTTP/HTTPS简介|菜鸟教程基本知识HTTP协议又称超文本传输协议,是一个基于TCP/IP通信协议来传输数据的,是目前最常用的协议之一。HTTP协议通常使用80端口。TCP/IP通信协议是一种网络通信协议,它由传输控制协议(TCP)和网际协议(IP)组成。HTTP基于此协议来传递数据,如HTML文件、图片文件、查询结果等。TCP负责在数据传输时确保数据的准确性和完整性,通过建立</div>
                    </li>
                    <li><a href="/article/1937601950904283136.htm"
                           title="Web服务器(Apache Tomcat)" target="_blank">Web服务器(Apache Tomcat)</a>
                        <span class="text-muted">凯凯的blog</span>
<a class="tag" taget="_blank" href="/search/Web%E6%A0%B8%E5%BF%83/1.htm">Web核心</a><a class="tag" taget="_blank" href="/search/IDEA/1.htm">IDEA</a><a class="tag" taget="_blank" href="/search/Maven/1.htm">Maven</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a><a class="tag" taget="_blank" href="/search/tomcat/1.htm">tomcat</a>
                        <div>Web服务器是一个应用程序,对HTTP协议进行封装,使得程序员不必直接对协议进行操作。将web项目部署到服务器中,对外提供网上浏览的服务Tomcat是一个轻量级Web服务器,支持Servlet/JSP少量的JavaEE规范在IDEA中使用Tomcat(插件)pom.xml添加org.apache.tomcat.maventomcat7-maven-plugin2.1使用mavenhelper插件快</div>
                    </li>
                    <li><a href="/article/1937583929175371776.htm"
                           title="SSE (Server-Sent Events) 技术简介" target="_blank">SSE (Server-Sent Events) 技术简介</a>
                        <span class="text-muted"></span>

                        <div>一、SSE技术概述Server-SentEvents(SSE)是一种允许服务器向客户端实时推送数据的Web技术,它基于HTTP协议实现服务器到客户端的单向通信。基本特点●单向通信:仅服务器→客户端方向●基于HTTP:使用标准HTTP协议,无需特殊协议●文本格式:默认传输UTF-8编码的文本数据●自动重连:内置连接中断恢复机制●轻量级:相比WebSocket更简单轻量二、技术原理1.通信机制SSE通</div>
                    </li>
                    <li><a href="/article/1937299609692991488.htm"
                           title="常见接口测试题" target="_blank">常见接口测试题</a>
                        <span class="text-muted">鱼鱼说测试</span>
<a class="tag" taget="_blank" href="/search/%E6%8E%A5%E5%8F%A3%E6%B5%8B%E8%AF%95/1.htm">接口测试</a>
                        <div>1、按你的理解,软件接口是什么?答:就是指程序中具体负责在不同模块之间传输或接受数据的并做处理的类或者函数。2、HTTP和HTTPS协议区别?答:https协议需要到CA(CertificateAuthority,证书颁发机构)申请证书,一般免费证书较少,因而需要一定费用;http是超文本传输协议,信息是明文传输,Https协议是由SSL+Http协议构建的可进行加密传输、身份认证的网络协议,比h</div>
                    </li>
                    <li><a href="/article/1937111278271131648.htm"
                           title="【软件工程】RESTful API-基于HTTP协议的架构风格" target="_blank">【软件工程】RESTful API-基于HTTP协议的架构风格</a>
                        <span class="text-muted">晴雨日记</span>
<a class="tag" taget="_blank" href="/search/C%2B%2B/1.htm">C++</a><a class="tag" taget="_blank" href="/search/%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/1.htm">软件工程</a><a class="tag" taget="_blank" href="/search/%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB/1.htm">经验分享</a>
                        <div>文章目录RESTfulAPI详细介绍1.**REST的核心概念**2.**RESTfulAPI的六大原则**3.**核心设计要素**3.1**资源(Resource)**3.2**HTTP方法**3.3**HTTP状态码**3.4**请求与响应格式**4.**进阶设计技巧**4.1**分页与过滤**4.2**版本控制**4.3**批量操作**4.4**HATEOAS实现**5.**安全与认证**6</div>
                    </li>
                    <li><a href="/article/1936886389610180608.htm"
                           title="web项目---http请求头和响应头" target="_blank">web项目---http请求头和响应头</a>
                        <span class="text-muted">lbxxzt</span>
<a class="tag" taget="_blank" href="/search/javaweb/1.htm">javaweb</a><a class="tag" taget="_blank" href="/search/http%E5%A4%B4%E5%9F%9F/1.htm">http头域</a><a class="tag" taget="_blank" href="/search/%E8%AF%B7%E6%B1%82%E5%A4%B4/1.htm">请求头</a><a class="tag" taget="_blank" href="/search/%E5%93%8D%E5%BA%94%E5%A4%B4/1.htm">响应头</a><a class="tag" taget="_blank" href="/search/%E5%AE%9E%E4%BD%93%E5%A4%B4/1.htm">实体头</a><a class="tag" taget="_blank" href="/search/%E6%B6%88%E6%81%AF%E5%A4%B4/1.htm">消息头</a>
                        <div>HTTP(HyperTextTransferProtocol)是超文本传输协议的缩写,它用于传送WWW方式的数据,关于HTTP协议的详细内容请参考RFC2616。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求,请求头包含请求的方法、URI、协议版本、以及包含请求修饰符、客户信息和内容的类似于MIME的消息结构。服务器以一个状态行作为响应头,相应的内容包括消息协议的版本,成功或者错误编</div>
                    </li>
                    <li><a href="/article/1936795359300874240.htm"
                           title="nginx 升级http 到 http2" target="_blank">nginx 升级http 到 http2</a>
                        <span class="text-muted">溜达哥</span>
<a class="tag" taget="_blank" href="/search/%E5%A4%A7%E5%89%8D%E7%AB%AF/1.htm">大前端</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1/1.htm">服务</a><a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/http/1.htm">http</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a>
                        <div>同步发布于我的网站背景介绍准备工作配置过程遇到的问题及解决方法验证升级总结参考资料背景介绍HTTP/2是HTTP协议的最新版本,相比HTTP/1.1,它带来了多项重要的改进,包括多路复用、头部压缩和服务端推送。这些特性可以显著提升网页的加载速度,减少延迟,提高用户体验。准备工作在开始升级之前,首先需要检查当前的Nginx版本和支持情况。可以通过以下命令查看Nginx版本和编译选项:nginx-V建</div>
                    </li>
                    <li><a href="/article/1936011422702039040.htm"
                           title="QT Http协议" target="_blank">QT Http协议</a>
                        <span class="text-muted">花落已飘</span>
<a class="tag" taget="_blank" href="/search/QT%E5%AE%9E%E6%88%98%E6%95%99%E5%AD%A6/1.htm">QT实战教学</a><a class="tag" taget="_blank" href="/search/qt/1.htm">qt</a><a class="tag" taget="_blank" href="/search/http/1.htm">http</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>文章目录前言一、HTTP概述二、HTTP的两种模型1.B/S模型2.C/S模型三、请求报文和响应报文三、调试软件Postman四、QT中的HTTP类五、使用HTTP类请求数据总结前言本篇文章来给大家讲解QT中的Http协议,Http协议主要用于网络中数据的请求和响应,那么这篇文章将给大家讲解一下这个协议。一、HTTP概述HTTP(超文本传输协议)是互联网上应用最为广泛的协议之一,它定义了客户端和服</div>
                    </li>
                    <li><a href="/article/1936005751013175296.htm"
                           title="HTTP协议" target="_blank">HTTP协议</a>
                        <span class="text-muted">CSJ20020314</span>
<a class="tag" taget="_blank" href="/search/http/1.htm">http</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%8D%8F%E8%AE%AE/1.htm">网络协议</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a>
                        <div>一web及网络基础1.使用HTTP协议访问Web根据Web浏览器地址栏中指定的URL,Web浏览器从Web服务器端获取文件资源(resource)等信息,从而显示出Web页面。Web使用一种名为GTTP(HyperTextTransferProtocol,超文本传输协议)的协议作为规范,完成从客户端到服务器端等一系列运作流程。而协议是规则的约定。可以说,Web是建立在HTTP协议上通信的。2.UR</div>
                    </li>
                    <li><a href="/article/1935914214392655872.htm"
                           title="HTTP Digest 认证:原理剖析与服务端实现详解" target="_blank">HTTP Digest 认证:原理剖析与服务端实现详解</a>
                        <span class="text-muted">天氰色等烟雨</span>
<a class="tag" taget="_blank" href="/search/http/1.htm">http</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%8D%8F%E8%AE%AE/1.htm">网络协议</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a>
                        <div>HTTPDigest认证:原理剖析与服务端实现详解HTTP协议中的Digest认证(摘要认证)是一种比Basic认证更安全的身份验证机制,其核心设计是避免密码明文传输,并通过动态随机数(Nonce)防范重放攻击。本文将结合标准协议流程与具体服务端代码实现,深入解析Digest认证的技术细节。一、Digest认证的核心原理与流程1.1为什么需要Digest认证?Basic认证直接通过Base64编码</div>
                    </li>
                                <li><a href="/article/78.htm"
                                       title="桌面上有多个球在同时运动,怎么实现球之间不交叉,即碰撞?" target="_blank">桌面上有多个球在同时运动,怎么实现球之间不交叉,即碰撞?</a>
                                    <span class="text-muted">换个号韩国红果果</span>
<a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/%E5%B0%8F%E7%90%83%E7%A2%B0%E6%92%9E/1.htm">小球碰撞</a>
                                    <div>稍微想了一下,然后解决了很多bug,最后终于把它实现了。其实原理很简单。在每改变一个小球的x y坐标后,遍历整个在dom树中的其他小球,看一下它们与当前小球的距离是否小于球半径的两倍?若小于说明下一次绘制该小球(设为a)前要把他的方向变为原来相反方向(与a要碰撞的小球设为b),即假如当前小球的距离小于球半径的两倍的话,马上改变当前小球方向。那么下一次绘制也是先绘制b,再绘制a,由于a的方向已经改变</div>
                                </li>
                                <li><a href="/article/205.htm"
                                       title="《高性能HTML5》读后整理的Web性能优化内容" target="_blank">《高性能HTML5》读后整理的Web性能优化内容</a>
                                    <span class="text-muted">白糖_</span>
<a class="tag" taget="_blank" href="/search/html5/1.htm">html5</a>
                                    <div> 
 读后感 
 
        先说说《高性能HTML5》这本书的读后感吧,个人觉得这本书前两章跟书的标题完全搭不上关系,或者说只能算是讲解了“高性能”这三个字,HTML5完全不见踪影。个人觉得作者应该首先把HTML5的大菜拿出来讲一讲,再去分析性能优化的内容,这样才会有吸引力。因为只是在线试读,没有机会看后面的内容,所以不胡乱评价了。 
  </div>
                                </li>
                                <li><a href="/article/332.htm"
                                       title="[JShop]Spring MVC的RequestContextHolder使用误区" target="_blank">[JShop]Spring MVC的RequestContextHolder使用误区</a>
                                    <span class="text-muted">dinguangx</span>
<a class="tag" taget="_blank" href="/search/jeeshop/1.htm">jeeshop</a><a class="tag" taget="_blank" href="/search/%E5%95%86%E5%9F%8E%E7%B3%BB%E7%BB%9F/1.htm">商城系统</a><a class="tag" taget="_blank" href="/search/jshop/1.htm">jshop</a><a class="tag" taget="_blank" href="/search/%E7%94%B5%E5%95%86%E7%B3%BB%E7%BB%9F/1.htm">电商系统</a>
                                    <div>    在spring mvc中,为了随时都能取到当前请求的request对象,可以通过RequestContextHolder的静态方法getRequestAttributes()获取Request相关的变量,如request, response等。         在jshop中,对RequestContextHolder的</div>
                                </li>
                                <li><a href="/article/459.htm"
                                       title="算法之时间复杂度" target="_blank">算法之时间复杂度</a>
                                    <span class="text-muted">周凡杨</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E6%97%B6%E9%97%B4%E5%A4%8D%E6%9D%82%E5%BA%A6/1.htm">时间复杂度</a><a class="tag" taget="_blank" href="/search/%E6%95%88%E7%8E%87/1.htm">效率</a>
                                    <div>      在 
计算机科学 中, 
算法 的时间复杂度是一个 
函数 ,它定量描述了该算法的运行时间。这是一个关于代表算法输入值的 
字符串 的长度的函数。时间复杂度常用 
大O符号 表述,不包括这个函数的低阶项和首项系数。使用这种方式时,时间复杂度可被称为是 
渐近 的,它考察当输入值大小趋近无穷时的情况。 
这样用大写O()来体现算法时间复杂度的记法,</div>
                                </li>
                                <li><a href="/article/586.htm"
                                       title="Java事务处理" target="_blank">Java事务处理</a>
                                    <span class="text-muted">g21121</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                                    <div>一、什么是Java事务 通常的观念认为,事务仅与数据库相关。 事务必须服从ISO/IEC所制定的ACID原则。ACID是原子性(atomicity)、一致性(consistency)、隔离性(isolation)和持久性(durability)的缩写。事务的原子性表示事务执行过程中的任何失败都将导致事务所做的任何修改失效。一致性表示当事务执行失败时,所有被该事务影响的数据都应该恢复到事务执行前的状</div>
                                </li>
                                <li><a href="/article/713.htm"
                                       title="Linux awk命令详解" target="_blank">Linux awk命令详解</a>
                                    <span class="text-muted">510888780</span>
<a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a>
                                    <div>一.  AWK 说明 
  awk是一种编程语言,用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入、一个或多个文件,或其它命令的输出。它支持用户自定义函数和动态正则表达式等先进功能,是linux/unix下的一个强大编程工具。它在命令行中使用,但更多是作为脚本来使用。 
 
   awk的处理文本和数据的方式:它逐行扫描文件,从第一行到</div>
                                </li>
                                <li><a href="/article/840.htm"
                                       title="android permission" target="_blank">android permission</a>
                                    <span class="text-muted">布衣凌宇</span>
<a class="tag" taget="_blank" href="/search/Permission/1.htm">Permission</a>
                                    <div><uses-permission android:name="android.permission.ACCESS_CHECKIN_PROPERTIES" ></uses-permission>允许读写访问"properties"表在checkin数据库中,改值可以修改上传 
<uses-permission android:na</div>
                                </li>
                                <li><a href="/article/967.htm"
                                       title="Oracle和谷歌Java Android官司将推迟" target="_blank">Oracle和谷歌Java Android官司将推迟</a>
                                    <span class="text-muted">aijuans</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a>
                                    <div>北京时间 10 月 7 日,据国外媒体报道,Oracle 和谷歌之间一场等待已久的官司可能会推迟至 10 月 17 日以后进行,这场官司的内容是 Android 操作系统所谓的 Java 专利权之争。本案法官 William Alsup 称根据专利权专家 Florian Mueller 的预测,谷歌 Oracle 案很可能会被推迟。  该案中的第二波辩护被安排在 10 月 17 日出庭,从目前看来</div>
                                </li>
                                <li><a href="/article/1094.htm"
                                       title="linux shell 常用命令" target="_blank">linux shell 常用命令</a>
                                    <span class="text-muted">antlove</span>
<a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/shell/1.htm">shell</a><a class="tag" taget="_blank" href="/search/command/1.htm">command</a>
                                    <div>grep [options] [regex] [files] 
/var/root # grep -n "o" *                                                       
hello.c:1:/* This C source can be compiled with:                            </div>
                                </li>
                                <li><a href="/article/1221.htm"
                                       title="Java解析XML配置数据库连接(DOM技术连接 SAX技术连接)" target="_blank">Java解析XML配置数据库连接(DOM技术连接 SAX技术连接)</a>
                                    <span class="text-muted">百合不是茶</span>
<a class="tag" taget="_blank" href="/search/sax%E6%8A%80%E6%9C%AF/1.htm">sax技术</a><a class="tag" taget="_blank" href="/search/Java%E8%A7%A3%E6%9E%90xml%E6%96%87%E6%A1%A3/1.htm">Java解析xml文档</a><a class="tag" taget="_blank" href="/search/dom%E6%8A%80%E6%9C%AF/1.htm">dom技术</a><a class="tag" taget="_blank" href="/search/XML%E9%85%8D%E7%BD%AE%E6%95%B0%E6%8D%AE%E5%BA%93%E8%BF%9E%E6%8E%A5/1.htm">XML配置数据库连接</a>
                                    <div>    XML配置数据库文件的连接其实是个很简单的问题,为什么到现在才写出来主要是昨天在网上看了别人写的,然后一直陷入其中,最后发现不能自拔 所以今天决定自己完成 ,,,,现将代码与思路贴出来供大家一起学习 
  
XML配置数据库的连接主要技术点的博客; 
JDBC编程 : JDBC连接数据库 
DOM解析XML:  DOM解析XML文件 
SA</div>
                                </li>
                                <li><a href="/article/1348.htm"
                                       title="underscore.js 学习(二)" target="_blank">underscore.js 学习(二)</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/underscore/1.htm">underscore</a>
                                    <div>        Array Functions 所有数组函数对参数对象一样适用。1.first   _.first(array, [n])   别名: head, take       返回array的第一个元素,设置了参数n,就</div>
                                </li>
                                <li><a href="/article/1475.htm"
                                       title="plSql介绍" target="_blank">plSql介绍</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</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/plsql/1.htm">plsql</a>
                                    <div>/*
 * PL/SQL 程序设计学习笔记
 * 学习plSql介绍.pdf
 * 时间:2010-10-05
*/

--创建DEPT表
create table DEPT
(
  DEPTNO NUMBER(10),
  DNAME  NVARCHAR2(255),
  LOC    NVARCHAR2(255)
)

delete dept;

select </div>
                                </li>
                                <li><a href="/article/1602.htm"
                                       title="【Nginx一】Nginx安装与总体介绍" target="_blank">【Nginx一】Nginx安装与总体介绍</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a>
                                    <div>启动、停止、重新加载Nginx 
nginx            启动Nginx服务器,不需要任何参数u
nginx -s stop    快速(强制)关系Nginx服务器
nginx -s quit    优雅的关闭Nginx服务器
nginx -s reload  重新加载Nginx服务器的配置文件
nginx -s reopen  重新打开Nginx日志文件 
  
 
</div>
                                </li>
                                <li><a href="/article/1729.htm"
                                       title="spring mvc开发中浏览器兼容的奇怪问题" target="_blank">spring mvc开发中浏览器兼容的奇怪问题</a>
                                    <span class="text-muted">bitray</span>
<a class="tag" taget="_blank" href="/search/jquery/1.htm">jquery</a><a class="tag" taget="_blank" href="/search/Ajax/1.htm">Ajax</a><a class="tag" taget="_blank" href="/search/springMVC/1.htm">springMVC</a><a class="tag" taget="_blank" href="/search/%E6%B5%8F%E8%A7%88%E5%99%A8/1.htm">浏览器</a><a class="tag" taget="_blank" href="/search/%E4%B8%8A%E4%BC%A0%E6%96%87%E4%BB%B6/1.htm">上传文件</a>
                                    <div>    最近个人开发一个小的OA项目,属于复习阶段.使用的技术主要是spring mvc作为前端框架,mybatis作为数据库持久化技术.前台使用jquery和一些jquery的插件. 
    在开发到中间阶段时候发现自己好像忽略了一个小问题,整个项目一直在firefox下测试,没有在IE下测试,不确定是否会出现兼容问题.由于jquer</div>
                                </li>
                                <li><a href="/article/1856.htm"
                                       title="Lua的io库函数列表" target="_blank">Lua的io库函数列表</a>
                                    <span class="text-muted">ronin47</span>
<a class="tag" taget="_blank" href="/search/lua+io/1.htm">lua io</a>
                                    <div>1、io表调用方式:使用io表,io.open将返回指定文件的描述,并且所有的操作将围绕这个文件描述 
  io表同样提供三种预定义的文件描述io.stdin,io.stdout,io.stderr 
  2、文件句柄直接调用方式,即使用file:XXX()函数方式进行操作,其中file为io.open()返回的文件句柄 
  多数I/O函数调用失败时返回nil加错误信息,有些函数成功时返回nil</div>
                                </li>
                                <li><a href="/article/1983.htm"
                                       title="java-26-左旋转字符串" target="_blank">java-26-左旋转字符串</a>
                                    <span class="text-muted">bylijinnan</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                                    <div>
public class LeftRotateString {

	/**
	 * Q 26 左旋转字符串
	 * 题目:定义字符串的左旋转操作:把字符串前面的若干个字符移动到字符串的尾部。
	 * 如把字符串abcdef左旋转2位得到字符串cdefab。
	 * 请实现字符串左旋转的函数。要求时间对长度为n的字符串操作的复杂度为O(n),辅助内存为O(1)。
	 */
	pu</div>
                                </li>
                                <li><a href="/article/2110.htm"
                                       title="《vi中的替换艺术》-linux命令五分钟系列之十一" target="_blank">《vi中的替换艺术》-linux命令五分钟系列之十一</a>
                                    <span class="text-muted">cfyme</span>
<a class="tag" taget="_blank" href="/search/linux%E5%91%BD%E4%BB%A4/1.htm">linux命令</a>
                                    <div>vi方面的内容不知道分类到哪里好,就放到《Linux命令五分钟系列》里吧! 
今天编程,关于栈的一个小例子,其间我需要把”S.”替换为”S->”(替换不包括双引号)。 
其实这个不难,不过我觉得应该总结一下vi里的替换技术了,以备以后查阅。 
  
1 
所有替换方案都要在冒号“:”状态下书写。 
2 
如果想将abc替换为xyz,那么就这样 
:s/abc/xyz/ 
不过要特别</div>
                                </li>
                                <li><a href="/article/2237.htm"
                                       title="[轨道与计算]新的并行计算架构" target="_blank">[轨道与计算]新的并行计算架构</a>
                                    <span class="text-muted">comsci</span>
<a class="tag" taget="_blank" href="/search/%E5%B9%B6%E8%A1%8C%E8%AE%A1%E7%AE%97/1.htm">并行计算</a>
                                    <div> 
 
     我在进行流程引擎循环反馈试验的过程中,发现一个有趣的事情。。。如果我们在流程图的每个节点中嵌入一个双向循环代码段,而整个流程中又充满着很多并行路由,每个并行路由中又包含着一些并行节点,那么当整个流程图开始循环反馈过程的时候,这个流程图的运行过程是否变成一个并行计算的架构呢? 
 
     </div>
                                </li>
                                <li><a href="/article/2364.htm"
                                       title="重复执行某段代码" target="_blank">重复执行某段代码</a>
                                    <span class="text-muted">dai_lm</span>
<a class="tag" taget="_blank" href="/search/android/1.htm">android</a>
                                    <div>用handler就可以了 
 

private Handler handler = new Handler();

private Runnable runnable = new Runnable() {
	public void run() {
		update();
		handler.postDelayed(this, 5000);
	}
};
 
开始计时 
 

h</div>
                                </li>
                                <li><a href="/article/2491.htm"
                                       title="Java实现堆栈(list实现)" target="_blank">Java实现堆栈(list实现)</a>
                                    <span class="text-muted">datageek</span>
<a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E2%80%94%E2%80%94%E5%A0%86%E6%A0%88/1.htm">数据结构——堆栈</a>
                                    <div>public interface IStack<T> {
    //元素出栈,并返回出栈元素
    public T pop();
    //元素入栈
    public void push(T element);
    //获取栈顶元素
    public T peek();
    //判断栈是否为空
    public boolean isEmpty</div>
                                </li>
                                <li><a href="/article/2618.htm"
                                       title="四大备份MySql数据库方法及可能遇到的问题" target="_blank">四大备份MySql数据库方法及可能遇到的问题</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/DB/1.htm">DB</a><a class="tag" taget="_blank" href="/search/backup/1.htm">backup</a>
                                    <div>一:通过备份王等软件进行备份前台进不去? 
用备份王等软件进行备份是大多老站长的选择,这种方法方便快捷,只要上传备份软件到空间一步步操作就可以,但是许多刚接触备份王软件的客用户来说还原后会出现一个问题:因为新老空间数据库用户名和密码不统一,网站文件打包过来后因没有修改连接文件,还原数据库是好了,可是前台会提示数据库连接错误,网站从而出现打不开的情况。 
解决方法:学会修改网站配置文件,大多是由co</div>
                                </li>
                                <li><a href="/article/2745.htm"
                                       title="github做webhooks:[1]钩子触发是否成功测试" target="_blank">github做webhooks:[1]钩子触发是否成功测试</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/github/1.htm">github</a><a class="tag" taget="_blank" href="/search/git/1.htm">git</a><a class="tag" taget="_blank" href="/search/webhook/1.htm">webhook</a>
                                    <div>转自: http://jingyan.baidu.com/article/5d6edee228c88899ebdeec47.html 
github和svn一样有钩子的功能,而且更加强大。例如我做的是最常见的push操作触发的钩子操作,则每次更新之后的钩子操作记录都会在github的控制板可以看到!       
工具/原料  
 
   github   
     
方法/步骤  
 
   </div>
                                </li>
                                <li><a href="/article/2872.htm"
                                       title="JSP中<base href="<%=basePath%>">的作用" target="_blank">JSP中<base href="<%=basePath%>">的作用</a>
                                    <span class="text-muted">蕃薯耀</span>

                                    <div>JSP中<base href="<%=basePath%>">的作用 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
</div>
                                </li>
                                <li><a href="/article/2999.htm"
                                       title="linux下SAMBA服务安装与配置" target="_blank">linux下SAMBA服务安装与配置</a>
                                    <span class="text-muted">hanqunfeng</span>
<a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a>
                                    <div>局域网使用的文件共享服务。 
一.安装包: 
rpm -qa | grep samba 
samba-3.6.9-151.el6.x86_64 
samba-common-3.6.9-151.el6.x86_64 
samba-winbind-3.6.9-151.el6.x86_64 
samba-client-3.6.9-151.el6.x86_64 
samba-winbind-clients</div>
                                </li>
                                <li><a href="/article/3126.htm"
                                       title="guava cache" target="_blank">guava cache</a>
                                    <span class="text-muted">IXHONG</span>
<a class="tag" taget="_blank" href="/search/cache/1.htm">cache</a>
                                    <div>缓存,在我们日常开发中是必不可少的一种解决性能问题的方法。简单的说,cache 就是为了提升系统性能而开辟的一块内存空间。 
  缓存的主要作用是暂时在内存中保存业务系统的数据处理结果,并且等待下次访问使用。在日常开发的很多场合,由于受限于硬盘IO的性能或者我们自身业务系统的数据处理和获取可能非常费时,当我们发现我们的系统这个数据请求量很大的时候,频繁的IO和频繁的逻辑处理会导致硬盘和CPU资源的</div>
                                </li>
                                <li><a href="/article/3253.htm"
                                       title="Query的开始--全局变量,noconflict和兼容各种js的初始化方法" target="_blank">Query的开始--全局变量,noconflict和兼容各种js的初始化方法</a>
                                    <span class="text-muted">kvhur</span>
<a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/jquery/1.htm">jquery</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a>
                                    <div>这个是整个jQuery代码的开始,里面包含了对不同环境的js进行的处理,例如普通环境,Nodejs,和requiredJs的处理方法。   还有jQuery生成$, jQuery全局变量的代码和noConflict代码详解    完整资源: 
http://www.gbtags.com/gb/share/5640.htm   jQuery 源码:          
 
  (</div>
                                </li>
                                <li><a href="/article/3380.htm"
                                       title="美国人的福利和中国人的储蓄" target="_blank">美国人的福利和中国人的储蓄</a>
                                    <span class="text-muted">nannan408</span>

                                    <div>   今天看了篇文章,震动很大,说的是美国的福利。 
   美国医院的无偿入院真的是个好措施。小小的改善,对于社会是大大的信心。小孩,税费等,政府不收反补,真的体现了人文主义。 
   美国这么高的社会保障会不会使人变懒?答案是否定的。正因为政府解决了后顾之忧,人们才得以倾尽精力去做一些有创造力,更造福社会的事情,这竟成了美国社会思想、人</div>
                                </li>
                                <li><a href="/article/3507.htm"
                                       title="N阶行列式计算(JAVA)" target="_blank">N阶行列式计算(JAVA)</a>
                                    <span class="text-muted">qiuwanchi</span>
<a class="tag" taget="_blank" href="/search/N%E9%98%B6%E8%A1%8C%E5%88%97%E5%BC%8F%E8%AE%A1%E7%AE%97/1.htm">N阶行列式计算</a>
                                    <div>package gaodai;

import java.util.List;

/**
 * N阶行列式计算
 * @author 邱万迟
 *
 */
public class DeterminantCalculation {
	
	public DeterminantCalculation(List<List<Double>> determina</div>
                                </li>
                                <li><a href="/article/3634.htm"
                                       title="C语言算法之打渔晒网问题" target="_blank">C语言算法之打渔晒网问题</a>
                                    <span class="text-muted">qiufeihu</span>
<a class="tag" taget="_blank" href="/search/c/1.htm">c</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a>
                                    <div>如果一个渔夫从2011年1月1日开始每三天打一次渔,两天晒一次网,编程实现当输入2011年1月1日以后任意一天,输出该渔夫是在打渔还是在晒网。 
代码如下: 
  
#include <stdio.h>
int leap(int a)  /*自定义函数leap()用来指定输入的年份是否为闰年*/
{
	if((a%4 == 0 && a%100 != 0</div>
                                </li>
                                <li><a href="/article/3761.htm"
                                       title="XML中DOCTYPE字段的解析" target="_blank">XML中DOCTYPE字段的解析</a>
                                    <span class="text-muted">wyzuomumu</span>
<a class="tag" taget="_blank" href="/search/xml/1.htm">xml</a>
                                    <div>DTD声明始终以!DOCTYPE开头,空一格后跟着文档根元素的名称,如果是内部DTD,则再空一格出现[],在中括号中是文档类型定义的内容. 而对于外部DTD,则又分为私有DTD与公共DTD,私有DTD使用SYSTEM表示,接着是外部DTD的URL. 而公共DTD则使用PUBLIC,接着是DTD公共名称,接着是DTD的URL. 
  
私有DTD 
<!DOCTYPErootSYST</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>