web基础+HTTP协议+httpd详细配置

目目录录

  • 一、Web基础
    • 1.1 HTML概述
      • 1.1.1 HTML的文件结构
      • 1.1.2 HTML中的部分基本标签
    • 1.3 MIME
    • 1.4 URI 和 URL
      • 1.4 定义
      • 1.4.2 URI 和 URL 的区别
  • 二、静态资源和动态资源
    • 2.1 静态资源
    • 2.2 动态资源
  • 三、HTTP协议
    • 3.1 HTTP协议简介
    • 3.2 HTTP协议版本
    • 3.2 HTTP方法
    • 3.3 HTTP请求访问的完整过程
    • 3.4 HTTP状态码
    • 3.5 HTTP的请求报文和响应报文
      • 3.5.1 请求报文
      • 3.5.2 响应报文
    • 3.6 HTTP连接优化
  • 四、httpd概述
    • 4.1 安装
    • 4.2 httpd相关文件
      • 4.2.1 配置文件
      • 4.2.2 服务单元文件和主服务器程序文件
      • 4.2.3 模块文件
    • 4.3 httpd服务控制和启动(命令部分)
  • 五、httpd配置
    • 5.1 虚拟主机
      • 5.1.1 基于ip地址
        • 5.1.1.1 原理
        • 5.1.1.2 模拟实现
      • 5.1.2 基于端口地址
        • 5.1.2.1 原理
        • 5.1.2.2 模拟实现
      • 5.1.3 基于域名
        • 5.1.3.1 原理
        • 5.1.3.2 模拟实现
    • 5. 2 三种工作模式
      • 5.2.1 Worker模式
      • 5.2.2 Event模式
      • 5.2.3 Pre-Fork模式
  • 六、Cookie和Session
    • 6.1 Cookie
    • 6.2 Session

在这里插入图片描述

一、Web基础

1.1 HTML概述

HTML(全称为Hypertext Markup Language)是一种标记语言,用于创建和组织Web页面的结构和内容。

HTML是构建Web页面的基础,定义了页面的结构和内容,通过标记和元素来实现。

1.1.1 HTML的文件结构

 <html>
     <head>网页的头部信息head>
     <body>网页内容body>
 html>

1.1.2 HTML中的部分基本标签

基本标签 含义
HTML文档的根元素,包含文档的全部内容
文档的头部,通常用于引入样式表、脚本以及设置文档的元信息
</code></td> <td>文档的<font color="blue">标题</font>,显示在浏览器的标题栏或标签页上</td> </tr> <tr> <td><code><body></code></td> <td>文档的<font color="blue">主体部分</font>,包含页面上的可见内容</td> </tr> <tr> <td><code><h1></code>到<code><h6></code></td> <td>标题标签,用于表示不同级别的标题,<code><h1></code>是最高级别的标题</td> </tr> <tr> <td><code><p></code></td> <td>段落标签,用于表示一个段落</td> </tr> <tr> <td><code><a></code></td> <td>链接标签,用于创建一个超链接,并指定链接的目标URL</td> </tr> <tr> <td><code><img></code></td> <td>图像标签,用于插入图像到页面中,并指定图像的源文件路径</td> </tr> <tr> <td><code><ul></code>和<code><li></code></td> <td>无序列表标签,用于创建一个无序列表和列表项</td> </tr> <tr> <td><code><ol></code>和<code><li></code></td> <td>有序列表标签,用于创建一个有序列表和列表项</td> </tr> <tr> <td><code><div></code></td> <td>通用的容器标签,用于分组和组织页面中的内容</td> </tr> <tr> <td><code><span></code></td> <td>内联容器标签,用于对文本的一部分进行特殊处理,如应用样式或事件</td> </tr> </tbody> </table> <h2>1.3 MIME</h2> <p>MIME是一种互联网标准,是一种用于<font color="blue">标识文件类型</font>的方法。</p> <p>MIME类型由一个<font color="blue">主类型和一个子类型组成</font>,用斜杠(/)分隔,MIME类型的作用是告诉接收方如何解释和处理接收到的文件。</p> <pre><code class="prism language-bash"><span class="token comment">#常见的MIME类型</span> text/html HTML网页 text/plain 纯文本文件 image/jpeg JPEG图像 image/png PNG图像 audio/mpeg MP3音频 video/mp4 MP4视频 </code></pre> <pre><code class="prism language-bash"><span class="token comment">#举个例子</span> 通过指定MIME类型为text/html,服务器可以告诉浏览器接收到的数据是HTML格式的网页,浏览器会相应地解析和显示该网页 </code></pre> <h2>1.4 URI 和 URL</h2> <h3>1.4 定义</h3> <p><font color="orange">URI</font>(Uniform Resource Identifier):统一资源标识,分为URL 和 URN。</p> <p><font color="orange">URL</font>(Uniform Resorce Locator):统一资源定位符,用于描述某服务器某特定资源位置</p> <h3>1.4.2 URI 和 URL 的区别</h3> <ul> <li> <p>定义范围:URI是一个广义的概念,用于标识和命名互联网上的资源,可以是URL、URN或其他形式。URL是URI的一种具体实现形式,用于资源的定位和访问。</p> </li> <li> <p>功能重点:URI强调资源的标识性,用于唯一标识和命名资源。URL则更注重资源的位置性,其中包含了定位和访问资源所需的详细信息。</p> </li> </ul> <p><a href="http://img.e-com-net.com/image/info8/377584aefaa041baaaffc45d3d7944ca.gif" target="_blank"><img src="http://img.e-com-net.com/image/info8/377584aefaa041baaaffc45d3d7944ca.gif" alt="在这里插入图片描述" width="82" height="82"></a></p> <h1>二、静态资源和动态资源</h1> <p>静态资源和动态资源是两种常见的<font color="blue">网络资源类型</font>。</p> <p>静态资源和动态资源的<font color="red">区别</font>在于<font color="red">内容是否固定不变</font>。</p> <h2>2.1 静态资源</h2> <p><font color="red">静态资源</font>指的是在服务器上保存的文件,其<font color="red">内容</font>在请求和传输过程中<font color="red">不发生变化</font>。</p> <p>静态资源可以是图片、CSS样式表、JavaScript文件、HTML文件等。</p> <p>静态资源的请求一般是通过URL直接访问,当客户端发送请求时,服务器直接将这些文件返回给客户端,<font color="red">不进行任何处理</font>。</p> <h2>2.2 动态资源</h2> <p>动态资源则是在服务器端通过执行脚本或程序生成的内容,<font color="red">需要占用服务器的资源</font>。</p> <p>服务器会根据请求中的参数和数据,执行相应的脚本或程序来<font color="red">生成动态内容</font>,然后将生成的内容返回给客户端。</p> <p>动态资源可以是动态网页、API接口等。</p> <p><a href="http://img.e-com-net.com/image/info8/c7fa91e769a7451d83c976e59f75cdd4.gif" target="_blank"><img src="http://img.e-com-net.com/image/info8/c7fa91e769a7451d83c976e59f75cdd4.gif" alt="在这里插入图片描述" width="82" height="82"></a></p> <h1>三、HTTP协议</h1> <h2>3.1 HTTP协议简介</h2> <p>HTTP协议采用了<font color="red">请求/响应模型</font>。</p> <p><font color="blue">客户端向服务器发送一个请求</font>,请求头包含请求的方法、URL、协议版本、以及包含请求修饰符、客户信息和内容的类似于MIME的消息结构。</p> <p><font color="blue">服务器以一个状态行作为响应</font>,响应的内容包括消息协议的版本,成功或者错误编码加上服务器信息、实体元信息以及可能的实体内容。</p> <h2>3.2 HTTP协议版本</h2> <pre><code class="prism language-bash">http <span class="token number">0.9</span> 功能简陋,仅支持GET方法 </code></pre> <pre><code class="prism language-bash">http <span class="token number">1.0</span> 相较以前版本可以支持POST、HEAD方法,支持HTML文件以外的其他类型,但不支持持久连接 </code></pre> <pre><code class="prism language-bash">http <span class="token number">1.1</span> 支持持久连接,即在一个TCP连接里面完成多个http请求和响应,但是每个请求和响应是按照顺序一一对应的 </code></pre> <pre><code class="prism language-bash">http <span class="token number">2.0</span> 支持完全多路复用,在一个连接里,客户端和浏览器都可以同时发送多个请求或回应,而且不用按照顺序一一对应( 也支持压缩,服务端主动推送)。 </code></pre> <h2>3.2 HTTP方法</h2> <p>HTTP定义了一组请求方法,用于指定客户端对资源的操作方式,这些<font color="red">请求命令</font>称为HTTP方法。</p> <table> <thead> <tr> <th>方法</th> <th>作用</th> </tr> </thead> <tbody> <tr> <td>GET</td> <td>对服务器资源获取的<font color="red">简单请求</font></td> </tr> <tr> <td>PUT</td> <td>向服务器<font color="red">上传指定的资源</font>,如果资源已存在,则替换为新的内容</td> </tr> <tr> <td>POST</td> <td>向服务器<font color="red">提交数据</font></td> </tr> <tr> <td>DELETE</td> <td><font color="red">删除</font>服务器上的某些资源</td> </tr> <tr> <td>HEAD</td> <td>请求页面的首部,获取资源的元信息</td> </tr> <tr> <td>CONNECT</td> <td>用于ssl隧道的基于代理的请求</td> </tr> <tr> <td>OPTIONS</td> <td>返回所有可用的方法,常用于跨域</td> </tr> <tr> <td>TRACE</td> <td>追踪 请求–响应的传输路径</td> </tr> </tbody> </table> <pre><code class="prism language-bash"><span class="token number">1</span>、GET请求会向数据库发索取数据的请求,从而来获取信息,该请求不会产生副作用。无论进行多少次操作,结果都是一样的。 <span class="token number">2</span>、与GET不同的是,PUT请求是向服务器端发送数据的,从而改变信息,无论进行多少次PUT操作,其结果并没有不同。 <span class="token number">3</span>、POST请求同PUT请求类似,都是向服务器端发送数据的,但是该请求会改变数据的种类等资源,几乎目前所有的提交操作都是用POST请求的。 <span class="token number">4</span>、DELETE请求顾名思义,就是用来删除某一个资源的。 </code></pre> <h2>3.3 HTTP请求访问的完整过程</h2> <p><a href="http://img.e-com-net.com/image/info8/d69fad402c244574ac2d586b17a752f2.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/d69fad402c244574ac2d586b17a752f2.jpg" alt="web基础+HTTP协议+httpd详细配置_第1张图片" width="275" height="570" style="border:1px solid black;"></a></p> <h2>3.4 HTTP状态码</h2> <p>HTTP状态码是服务器在处理请求时返回给客户端的<font color="red">数字代码</font>,用于<font color="red">表示请求的处理结果</font>。</p> <p><strong>HTTP协议状态码分类</strong></p> <table> <thead> <tr> <th>状态码首位</th> <th>范围</th> <th>含义</th> </tr> </thead> <tbody> <tr> <td>1xx</td> <td>100-101</td> <td><font color="red">信息提示</font>,表示请求已被接收,需要进一步处理</td> </tr> <tr> <td>2xx</td> <td>200-206</td> <td><font color="red">成功</font>,表示请求已成功处理</td> </tr> <tr> <td>3xx</td> <td>300-305</td> <td><font color="red">重定向</font>,表示需要进一步的操作以完成请求</td> </tr> <tr> <td>4xx</td> <td>400-415</td> <td><font color="red">客户端错误</font>,表示客户端发送的请求有错误</td> </tr> <tr> <td>5xx</td> <td>500-505</td> <td><font color="red">服务器错误</font>,表示服务器在处理请求时发生了错误</td> </tr> </tbody> </table> <p><strong>HTTP协议常用的状态码</strong></p> <table> <thead> <tr> <th>状态码</th> <th>含义</th> </tr> </thead> <tbody> <tr> <td>200</td> <td>一切正常</td> </tr> <tr> <td>301</td> <td>永久重定向</td> </tr> <tr> <td>302</td> <td>临时重定向</td> </tr> <tr> <td>307</td> <td>浏览器内部重定向</td> </tr> <tr> <td>401</td> <td>用户名或密码错误</td> </tr> <tr> <td>403</td> <td>禁止访问(客户端IP地址被拒绝)</td> </tr> <tr> <td><font color="red">404</font></td> <td><font color="red">请求的资源在服务器上不存在</font></td> </tr> <tr> <td>414</td> <td>请求URL头部过长</td> </tr> <tr> <td>500</td> <td>服务器内部错误。比如脚本错误,编程语言语法错误</td> </tr> <tr> <td><font color="red">502</font></td> <td><font color="red">无效网关</font></td> </tr> <tr> <td><font color="red">503</font></td> <td>服务器暂时无法处理请求,通常用于服务器维护或过载</td> </tr> <tr> <td><font color="red">504</font></td> <td>网关请求超时。程序执行时间过长导致响应超时,例如程序需要执行20秒,而nginx最大响应等待时间为10秒,这样就会出现超时。</td> </tr> </tbody> </table> <pre><code class="prism language-bash"><span class="token comment">#产生502(无效网关)的原因:</span> 数据包没有送到网卡,网络问题; 数据包送进去了(交换机能抓到包),但是网卡没收到,网卡问题或防火墙问题; 网卡接收到了,处理不了,服务问题。(比如服务器当前连接太多,响应太慢;页面素材太多,带宽不够。) </code></pre> <h2>3.5 HTTP的请求报文和响应报文</h2> <h3>3.5.1 请求报文</h3> <p><a href="http://img.e-com-net.com/image/info8/9854def868e245a49a056e91fa1ec52e.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/9854def868e245a49a056e91fa1ec52e.jpg" alt="web基础+HTTP协议+httpd详细配置_第2张图片" width="603" height="383" style="border:1px solid black;"></a></p> <pre><code class="prism language-bash"><span class="token comment">#request 报文格式 </span> <span class="token operator"><</span>method<span class="token operator">></span> <span class="token operator"><</span>request-URL<span class="token operator">></span> <span class="token operator"><</span>version<span class="token operator">></span> <span class="token operator"><</span>headers<span class="token operator">></span> <span class="token operator"><</span>entity-body<span class="token operator">></span> 第一行为请求行,包含请求方法、请求目标和HTTP协议版本号 第二行为请求头部,包含与请求相关的各种元数据信息 空行用于分隔头部和请求体的空行 第四行为请求体,可选项,包含实际的请求数据 </code></pre> <pre><code class="prism language-bash"><span class="token comment">#举个例子</span> <span class="token function">curl</span> <span class="token number">192.168</span>.2.100 <span class="token operator">|</span><span class="token function">head</span> <span class="token comment">#从此服务器获取内容</span> </code></pre> <p><a href="http://img.e-com-net.com/image/info8/fba4d0eb2adc41acab8814bf321d28c8.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/fba4d0eb2adc41acab8814bf321d28c8.jpg" alt="web基础+HTTP协议+httpd详细配置_第3张图片" width="650" height="184" style="border:1px solid black;"></a></p> <pre><code class="prism language-bash"><span class="token comment">#状态行</span> <span class="token operator">></span> GET / HTTP/1.1 <span class="token comment">#HTTP GET请求,即获取指定路径的内容,请求的路径为根路径("/"),表示请求服务器的默认页面</span> <span class="token comment">#头部字段</span> <span class="token operator">></span> User-Agent: curl/7.29.0 <span class="token comment">#指定客户端使用的User-Agent,该请求由curl/7.29.0发送</span> <span class="token operator">></span> Host: <span class="token number">192.168</span>.2.100 <span class="token comment">#指定了要访问的服务器的主机地址</span> <span class="token operator">></span> Accept: */* <span class="token comment">#指定了客户端可以接受的响应内容的类型,表示客户端可以接受任何类型的内容</span> </code></pre> <h3>3.5.2 响应报文</h3> <p><a href="http://img.e-com-net.com/image/info8/e09764a23a734165b89130714264e46c.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/e09764a23a734165b89130714264e46c.jpg" alt="web基础+HTTP协议+httpd详细配置_第4张图片" width="574" height="381" style="border:1px solid black;"></a></p> <pre><code class="prism language-bash"><span class="token comment">#response报文格式</span> <span class="token operator"><</span>version<span class="token operator">></span> <span class="token operator"><</span>status<span class="token operator">></span> <span class="token operator"><</span>reason-phrase<span class="token operator">></span> <span class="token operator"><</span>headers<span class="token operator">></span> <span class="token operator"><</span>entity-body<span class="token operator">></span> 第一行为状态行,状态行由协议版本,状态码,状态码描述三部分组成。 第二行为响应头部,响应头包含与响应相关的各种元数据信息。 第三行为空行,用于分隔头部和响应体的空行。 第四行为响应体,可选项,包含实际的响应数据。 </code></pre> <pre><code class="prism language-bash"><span class="token comment">#举个例子</span> <span class="token function">curl</span> <span class="token number">192.168</span>.2.100 <span class="token operator">|</span><span class="token function">head</span> <span class="token comment">#从此服务器获取内容</span> </code></pre> <p><a href="http://img.e-com-net.com/image/info8/6d1d654aacde45349e326adc94a1b8d9.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/6d1d654aacde45349e326adc94a1b8d9.jpg" alt="web基础+HTTP协议+httpd详细配置_第5张图片" width="650" height="346" style="border:1px solid black;"></a></p> <pre><code class="prism language-bash"><span class="token comment">#响应状态行</span> <span class="token operator"><</span> HTTP/1.1 <span class="token number">403</span> Forbidden <span class="token comment">#表示请求被拒绝,状态码403表示禁止访问</span> <span class="token comment">#头部字段</span> <span class="token operator"><</span> Date: Mon, <span class="token number">21</span> Aug <span class="token number">2023</span> <span class="token number">11</span>:00:34 GMT <span class="token comment">#表示响应的日期和时间</span> <span class="token operator"><</span> Server: Apache/2.4.6 <span class="token punctuation">(</span>CentOS<span class="token punctuation">)</span> <span class="token comment">#表示服务器正在使用的软件名称和版本</span> <span class="token operator"><</span> Last-Modified: Thu, <span class="token number">16</span> Oct <span class="token number">2014</span> <span class="token number">13</span>:20:58 GMT <span class="token comment">#表示所请求资源的最后修改日期和时间</span> <span class="token operator"><</span> ETag: <span class="token string">"1321-5058a1e728280"</span> <span class="token comment">#表示所请求资源的实体标签</span> <span class="token operator"><</span> Accept-Ranges: bytes <span class="token comment">#服务器是否支持断点续传。</span> <span class="token operator"><</span> Content-Length: <span class="token number">4897</span> <span class="token comment">#响应实体主体的长度。</span> <span class="token operator"><</span> Content-Type: text/html<span class="token punctuation">;</span> <span class="token assign-left variable">charset</span><span class="token operator">=</span>UTF-8 <span class="token comment">#实体主体的类型和字符编码,表示响应内容是以UTF-8编码的HTML文本。</span> </code></pre> <h2>3.6 HTTP连接优化</h2> <p>1)并行连接:并行连接通过<font color="red">同时建立多个连接</font> ,使得客户端可以并发地发送多个请求,以提高并发性和响应速度。</p> <p>2)<font color="red">持久连接</font> :持久连接允许客户端和服务器之间在<font color="red">单个连接上发送多个HTTP请求和响应</font> ,而不是每个请求都要重新建立连接。</p> <p>3) 管道化连接:管道化连接是一种<font color="red">在持久连接上发送多个请求而无需等待服务器响应</font> 的机制。</p> <p><a href="http://img.e-com-net.com/image/info8/708c73ecef0a4d76bf425d56113a0e83.gif" target="_blank"><img src="http://img.e-com-net.com/image/info8/708c73ecef0a4d76bf425d56113a0e83.gif" alt="在这里插入图片描述" width="82" height="82"></a></p> <h1>四、httpd概述</h1> <h2>4.1 安装</h2> <pre><code class="prism language-bash">yum <span class="token function">install</span> <span class="token parameter variable">-y</span> httpd <span class="token comment">#安装</span> </code></pre> <h2>4.2 httpd相关文件</h2> <h3>4.2.1 配置文件</h3> <pre><code class="prism language-bash"><span class="token comment">#主配置文件</span> /etc/httpd/conf/httpd.conf <span class="token comment">#子配置文件</span> /etc/httpd/conf.d/*.conf <span class="token comment">#模块加载的配置文件</span> /etc/httpd/conf.d/conf.modules.d/ </code></pre> <p><font color="red">检查配置语法</font>:<code>httpd -t</code> 或 <code>apache2 -t</code></p> <p><font color="red">站点网页文档根目录</font>:<code>/var/www/html</code></p> <h3>4.2.2 服务单元文件和主服务器程序文件</h3> <p><font color="orange">服务单元文件</font></p> <pre><code class="prism language-bash">/usr/lib/systemd/system/httpd.service 配置文件:/etc/sysconfig/httpd </code></pre> <p><font color="orange">主服务器程序文件</font></p> <pre><code class="prism language-bash">/usr/sbin/httpd </code></pre> <h3>4.2.3 模块文件</h3> <pre><code class="prism language-bash">/etc/httpd/modules /usr/lib64/httpd/modules </code></pre> <h2>4.3 httpd服务控制和启动(命令部分)</h2> <pre><code class="prism language-bash"><span class="token comment">#开启自启动/开机自动关闭 httpd服务</span> systemctl <span class="token builtin class-name">enable</span><span class="token operator">|</span>disable httpd.service </code></pre> <p><font color="orange">开启httpd服务</font></p> <pre><code class="prism language-bash">systemctl start httpd.service or apachectl start or <span class="token function">service</span> httpd start </code></pre> <p><font color="orange">重启httpd服务</font></p> <pre><code class="prism language-bash">systemctl start httpd.service or apachectl restart or <span class="token function">service</span> httpd restart </code></pre> <p><font color="orange">停止httpd服务</font></p> <pre><code class="prism language-bash">systemctl stop httpd.service or apachectl stop or <span class="token function">service</span> httpd stop </code></pre> <p><font color="orange">查看httpd服务的运行状态</font></p> <pre><code class="prism language-bash">systemctl status httpd </code></pre> <p><font color="orange">配置文件语法检查</font></p> <pre><code class="prism language-bash">apachectl configtest or <span class="token function">service</span> httpd configtest </code></pre> <p><a href="http://img.e-com-net.com/image/info8/27fb69fa0e4a48d5bd0a306f1836f328.gif" target="_blank"><img src="http://img.e-com-net.com/image/info8/27fb69fa0e4a48d5bd0a306f1836f328.gif" alt="在这里插入图片描述" width="82" height="82"></a></p> <h1>五、httpd配置</h1> <h2>5.1 虚拟主机</h2> <p>httpd虚拟主机的作用是<font color="red">通过一个物理服务器来托管多个域名或网站</font>,实现资源共享、个性化配置和多域名指向不同网站的功能,提高服务器资源利用率和降低成本。</p> <h3>5.1.1 基于ip地址</h3> <h4>5.1.1.1 原理</h4> <p>每个虚拟主机分配一个唯一的IP地址,并通过服务器软件来指定每个虚拟主机使用的IP地址。</p> <h4>5.1.1.2 模拟实现</h4> <pre><code class="prism language-bash">systemctl stop firewalld setenforce <span class="token number">0</span> <span class="token function">rpm</span> <span class="token parameter variable">-q</span> httpd <span class="token comment">#没安装就装一下</span> systemctl start httpd <span class="token builtin class-name">cd</span> /var/www/html/ <span class="token comment">#进入httpd站点文件目录</span> <span class="token function">vim</span> index.html <span class="token comment">#设定默认主页,默认主页名字必须为index.html</span> systemctl restart httpd //重启httpd服务 </code></pre> <p><a href="http://img.e-com-net.com/image/info8/b58a34afc31a451a892c4d952e7ca2a7.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/b58a34afc31a451a892c4d952e7ca2a7.jpg" alt="web基础+HTTP协议+httpd详细配置_第6张图片" width="650" height="190" style="border:1px solid black;"></a></p> <pre><code class="prism language-bash"><span class="token function">mkdir</span> ipv1 <span class="token comment">#创建虚拟机 所需目录</span> <span class="token function">vim</span> ipv1/index.html <span class="token comment">#测试页面主页</span> </code></pre> <p><a href="http://img.e-com-net.com/image/info8/75d964d6a6914511b98446a297567f94.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/75d964d6a6914511b98446a297567f94.jpg" alt="web基础+HTTP协议+httpd详细配置_第7张图片" width="616" height="175" style="border:1px solid black;"></a></p> <pre><code class="prism language-bash"><span class="token function">vim</span> /etc/httpd/conf.d/ipv.conf <span class="token comment">#新建配置文件 除了IP地址不同</span> </code></pre> <p><a href="http://img.e-com-net.com/image/info8/d17c16134bd14048873d4737e89d6896.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/d17c16134bd14048873d4737e89d6896.jpg" alt="web基础+HTTP协议+httpd详细配置_第8张图片" width="650" height="352" style="border:1px solid black;"></a></p> <pre><code class="prism language-bash">httpd <span class="token parameter variable">-t</span> <span class="token comment">#语法检查</span> </code></pre> <p><a href="http://img.e-com-net.com/image/info8/8f1301ba10184d3882aee53550def8ca.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/8f1301ba10184d3882aee53550def8ca.jpg" alt="在这里插入图片描述" width="650" height="99"></a></p> <pre><code class="prism language-bash"><span class="token comment">#有报错时</span> <span class="token function">vim</span> /etc/httpd/conf/httpd.conf ServerName www.example.com:80 <span class="token comment">#添加到主配置文件中</span> </code></pre> <p><a href="http://img.e-com-net.com/image/info8/ec168e3ba6fe4ef4bbe21ad13e863228.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/ec168e3ba6fe4ef4bbe21ad13e863228.jpg" alt="web基础+HTTP协议+httpd详细配置_第9张图片" width="650" height="416" style="border:1px solid black;"></a><br> <a href="http://img.e-com-net.com/image/info8/ab5341da2ccc4657b57953759082c046.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/ab5341da2ccc4657b57953759082c046.jpg" alt="web基础+HTTP协议+httpd详细配置_第10张图片" width="650" height="133" style="border:1px solid black;"></a></p> <pre><code class="prism language-bash"><span class="token comment">#配置IP地址为192.168.2.103的虚拟机,以此为例</span> <span class="token function">vim</span> /etc/httpd/conf/httpd.conf <span class="token function">mkdir</span> /var/www/html/ipv1 <span class="token comment">#创建所需目录</span> httpd <span class="token parameter variable">-t</span> <span class="token function">vim</span> /var/www/html/ipv1/index.html <span class="token comment">#编辑主页</span> </code></pre> <p><a href="http://img.e-com-net.com/image/info8/fd27a5fbc2ff4f4c9f61931d9b4f28d4.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/fd27a5fbc2ff4f4c9f61931d9b4f28d4.jpg" alt="web基础+HTTP协议+httpd详细配置_第11张图片" width="650" height="172" style="border:1px solid black;"></a><br> <a href="http://img.e-com-net.com/image/info8/d5de0c9589b24ab1a6c5562c6b6fe243.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/d5de0c9589b24ab1a6c5562c6b6fe243.jpg" alt="web基础+HTTP协议+httpd详细配置_第12张图片" width="608" height="136" style="border:1px solid black;"></a></p> <pre><code class="prism language-bash">在浏览器中输入 <span class="token number">192.168</span>.2.103:80 </code></pre> <p><a href="http://img.e-com-net.com/image/info8/b381d6bce79346e9a9f472e4e1266891.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/b381d6bce79346e9a9f472e4e1266891.jpg" alt="web基础+HTTP协议+httpd详细配置_第13张图片" width="483" height="196" style="border:1px solid black;"></a></p> <h3>5.1.2 基于端口地址</h3> <h4>5.1.2.1 原理</h4> <p>每个虚拟主机使用同一个IP地址,但<font color="red">使用不同的端口号</font>来区分。</p> <h4>5.1.2.2 模拟实现</h4> <pre><code class="prism language-bash"><span class="token function">cp</span> ip.conf port.conf <span class="token function">vim</span> port.conf <span class="token comment">#修改配置文件 除了端口不同</span> </code></pre> <p><a href="http://img.e-com-net.com/image/info8/c3cacdd42ea24773acf8613ce54bddb7.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/c3cacdd42ea24773acf8613ce54bddb7.jpg" alt="web基础+HTTP协议+httpd详细配置_第14张图片" width="650" height="226" style="border:1px solid black;"></a></p> <pre><code class="prism language-bash"><span class="token comment">#修改192.168.2.103对应主机的httpd.conf</span> <span class="token function">vim</span> /etc/httpd/conf/httpd.conf </code></pre> <p><a href="http://img.e-com-net.com/image/info8/94adb502328144b995c82c93ed74fe4e.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/94adb502328144b995c82c93ed74fe4e.jpg" alt="web基础+HTTP协议+httpd详细配置_第15张图片" width="650" height="144" style="border:1px solid black;"></a><br> <a href="http://img.e-com-net.com/image/info8/b13b51bc78a64f0f95d5a1428f9229c7.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/b13b51bc78a64f0f95d5a1428f9229c7.jpg" alt="在这里插入图片描述" width="535" height="90"></a></p> <pre><code class="prism language-bash"><span class="token comment">#测试是否成功</span> <span class="token function">curl</span> <span class="token number">192.168</span>.2.103:8080 <span class="token function">curl</span> <span class="token number">192.168</span>.2.103:80 </code></pre> <p><a href="http://img.e-com-net.com/image/info8/b64c3854cb2e4c70b7bab5c5fb60f370.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/b64c3854cb2e4c70b7bab5c5fb60f370.jpg" alt="web基础+HTTP协议+httpd详细配置_第16张图片" width="545" height="268" style="border:1px solid black;"></a></p> <h3>5.1.3 基于域名</h3> <h4>5.1.3.1 原理</h4> <p>服务器软件<font color="red">根据请求头中的主机名(域名)来区分</font>虚拟主机。</p> <p>这种方法不需要分配额外的IP地址或端口,可以在同一个IP地址上承载多个虚拟主机。</p> <h4>5.1.3.2 模拟实现</h4> <pre><code class="prism language-bash"><span class="token function">cp</span> ip.conf dns.conf <span class="token function">vim</span> dns.conf <span class="token comment">#修改配置文件 除了域名不同</span> </code></pre> <p><a href="http://img.e-com-net.com/image/info8/a67e6a8905ac4b5cb5f1a05c101cdf63.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/a67e6a8905ac4b5cb5f1a05c101cdf63.jpg" alt="web基础+HTTP协议+httpd详细配置_第17张图片" width="650" height="370" style="border:1px solid black;"></a></p> <pre><code class="prism language-bash"><span class="token function">mkdir</span> ipv2 <span class="token comment">#创建所需目录</span> <span class="token function">vim</span> /var/www/html/ipv2/index.html <span class="token comment">#编辑主页</span> </code></pre> <p><a href="http://img.e-com-net.com/image/info8/48a4b21b5e6a4b828c4b115e97627ced.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/48a4b21b5e6a4b828c4b115e97627ced.jpg" alt="在这里插入图片描述" width="378" height="69"></a><br> <a href="http://img.e-com-net.com/image/info8/375deaff195d49b4a45d64a95b62bbd9.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/375deaff195d49b4a45d64a95b62bbd9.jpg" alt="web基础+HTTP协议+httpd详细配置_第18张图片" width="490" height="116" style="border:1px solid black;"></a></p> <pre><code class="prism language-bash">httpd <span class="token parameter variable">-t</span> <span class="token comment">#语法检查</span> </code></pre> <p><a href="http://img.e-com-net.com/image/info8/fd0c37df369742ad9fa871f4fba920b7.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/fd0c37df369742ad9fa871f4fba920b7.jpg" alt="在这里插入图片描述" width="384" height="68"></a></p> <pre><code class="prism language-bash"><span class="token comment">#编辑本地hosts文件,添加地址映射</span> <span class="token function">vim</span> /etc/hosts </code></pre> <p><a href="http://img.e-com-net.com/image/info8/571da59c41e44b7e915a68bd570f1d66.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/571da59c41e44b7e915a68bd570f1d66.jpg" alt="web基础+HTTP协议+httpd详细配置_第19张图片" width="571" height="184" style="border:1px solid black;"></a></p> <pre><code class="prism language-bash"><span class="token comment">#切换到目标地址为192.168.2.103的虚拟机</span> <span class="token comment">#具体操作不再演示</span> <span class="token builtin class-name">cd</span> /etc/www/html <span class="token function">mkdir</span> ipv1 <span class="token function">mkdir</span> ipv2 <span class="token function">vim</span> ./ipv1/index.html <span class="token function">vim</span> ./ipv2/index.html <span class="token builtin class-name">echo</span> <span class="token string">"<h1>www.ipv1.com</h1>"</span> /var/www/html/ipv1/index.html <span class="token builtin class-name">echo</span> <span class="token string">"<h1>www.ipv1.com</h1>"</span> /var/www/html/ipv1/index.html systemctl start httpd </code></pre> <pre><code class="prism language-bash">打开虚拟机的内置浏览器,输入www.ipv1.com 和 www.ipv2.com,观察结果 </code></pre> <p><a href="http://img.e-com-net.com/image/info8/f19538e2f1a148f2b4b2aa93ad434191.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/f19538e2f1a148f2b4b2aa93ad434191.jpg" alt="web基础+HTTP协议+httpd详细配置_第20张图片" width="650" height="301" style="border:1px solid black;"></a></p> <h2>5. 2 三种工作模式</h2> <h3>5.2.1 Worker模式</h3> <p>工作线程(Worker)模式适用于资源利用率高的场景</p> <ul> <li>Apache在启动时会创建一组预定义数量的线程池。</li> <li>每个线程都可以处理多个请求,线程之间共享服务器的内存和资源。</li> <li>当一个请求到达服务器时,一个空闲的线程将被选择来处理该请求。</li> <li>线程可能会处理多个请求,通过线程池重用来更高效地处理请求。</li> <li>这种模式下需要注意线程安全的问题,以确保多个线程间的数据访问不会导致冲突。</li> </ul> <h3>5.2.2 Event模式</h3> <p>事件驱动(Event MPM)模式适用于高并发场景</p> <ul> <li>在事件驱动模式下,Apache使用I/O多路复用(如epoll或kqueue)来监听多个连接。</li> <li>当一个连接有数据到达时,Apache将发出事件通知,表示该连接有可读数据。</li> <li>Apache将事件分发给一个空闲的工作线程来处理请求。</li> <li>工作线程处理请求的过程通常是非阻塞的,通过事件驱动方式读取数据和发送响应。</li> <li>这种模式下可以处理大量的并发请求,因为它不需要为每个请求创建一个新的进程或线程。</li> </ul> <h3>5.2.3 Pre-Fork模式</h3> <p>预产生(Pre-Fork)模式适用于稳定性要求高的场景</p> <ul> <li>Apache在启动时会创建一组预定义数量的子进程(称为工作进程)。</li> <li>每个工作进程都是独立的,有自己的内存空间和资源。</li> <li>当一个请求到达服务器时,主进程选择一个空闲的工作进程来接受该请求。</li> <li>选中的工作进程处理该请求,生成响应并将其发送回客户端。</li> <li>这种模式下每个工作进程只能处理一个请求,处理完请求后会继续等待下一个请求。</li> </ul> <p><a href="http://img.e-com-net.com/image/info8/27fb69fa0e4a48d5bd0a306f1836f328.gif" target="_blank"><img src="http://img.e-com-net.com/image/info8/27fb69fa0e4a48d5bd0a306f1836f328.gif" alt="在这里插入图片描述" width="82" height="82"></a></p> <h1>六、Cookie和Session</h1> <p>Cookie和Session用于<font color="red">解决http协议无状态</font>。</p> <h2>6.1 Cookie</h2> <p>Cookie是服务器在用户的浏览器中存储的小型文本文件。当用户访问一个网站时,服务器可以通过HTTP响应的Set-Cookie标头将一个或多个Cookie发送给浏览器。浏览器会将这些Cookie存储在用户的计算机上,并在以后的请求中将它们发送回服务器。</p> <p>每个Cookie都包括一个名称、一个值和一些可选的属性,如过期时间、域名、路径等。服务器可以使用Cookie来存储用户的偏好设置、会话标识符、购物车数据等。浏览器会在每次请求中自动发送与特定域名相关联的Cookie,使得服务器能够识别用户。</p> <h2>6.2 Session</h2> <p>Session是在服务器端存储用户状态的一种机制。当用户首次访问一个网站时,服务器会为该用户创建一个唯一的会话标识符(Session ID)。这个标识符通常被存储在Cookie中,但也可以通过其他方式(如URL参数)进行传递。</p> <p>服务器使用Session来存储用户信息和其他相关数据。在每个请求中,浏览器会将Session ID作为Cookie发送给服务器,使得服务器能够识别并恢复与该用户相关联的会话数据。Session数据通常存储在服务器的内存或持久化存储中。</p> </div> </div> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1694121618638450688"></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,网络协议,网络,运维,linux,笔记)</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1835206529054240768.htm" title="【AI小说推文工具】聚星文社小说推文一键生成工具原创高级推理教学" target="_blank">【AI小说推文工具】聚星文社小说推文一键生成工具原创高级推理教学</a> <span class="text-muted">聚星文社推文工具</span> <a class="tag" taget="_blank" href="/search/AI%E4%BD%9C%E7%94%BB/1.htm">AI作画</a><a class="tag" taget="_blank" href="/search/AIGC/1.htm">AIGC</a><a class="tag" taget="_blank" href="/search/AI%E5%86%99%E4%BD%9C/1.htm">AI写作</a><a class="tag" taget="_blank" href="/search/gpu%E7%AE%97%E5%8A%9B/1.htm">gpu算力</a><a class="tag" taget="_blank" href="/search/gpt/1.htm">gpt</a> <div>小说推文一键生成工具原创高级推理教学聚星文社AIhttps://iimenvrieak.feishu.cn/docx/ZhRNdEWT6oGdCwxdhOPcdds7nof大家好!今天我要向大家介绍一款非常强大的小说推文一键生成工具,它可以帮助我们轻松创作出原创的高级推理故事。下面我将介绍一下如何使用这个工具来创作出令人惊叹的小说推文。第一步:选择故事背景和主题首先,我们需要确定故事的背景和主题。</div> </li> <li><a href="/article/1835203380289564672.htm" title="Reflection 70B——HyperWrite推出的大型语言模型" target="_blank">Reflection 70B——HyperWrite推出的大型语言模型</a> <span class="text-muted">新加坡内哥谈技术</span> <a class="tag" taget="_blank" href="/search/%E8%AF%AD%E8%A8%80%E6%A8%A1%E5%9E%8B/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><a class="tag" taget="_blank" href="/search/%E8%87%AA%E7%84%B6%E8%AF%AD%E8%A8%80%E5%A4%84%E7%90%86/1.htm">自然语言处理</a> <div>每周跟踪AI热点新闻动向和震撼发展想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领域的领跑者。点击订阅,与未来同行!订阅:https://rengongzhineng.io/在AI技术飞速发展的过程中,我们已经见证了可以写作、编程,甚至创造艺术的模型问世。但有一</div> </li> <li><a href="/article/1835202424189579264.htm" title="2022-08-3读书笔记" target="_blank">2022-08-3读书笔记</a> <span class="text-muted">静待花开20</span> <div>❤️据报道,有些人在面对及其重要甚至关系到自身前途和命运的大事要做出决定时,往往不是挖空心思、深思熟虑,而是根据自己的内心感觉做出抉择。❤️据研究,人从看到一个物体到对它做出反应,全过程仅有0.07秒的时间。在这个过程中,仅是神经和主观意识参与了吗?不是。潜意识也是参与其中的。故曰:“所以任物者心。”❤️研究发现,人们在学习一种知识、机能后,如能美美睡上一觉,则会对所学知识、机能的消化、掌握很有裨</div> </li> <li><a href="/article/1835201112651689984.htm" title="Linux驱动开发-字符设备驱动开发" target="_blank">Linux驱动开发-字符设备驱动开发</a> <span class="text-muted">可能只会写BUG</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/linux%E9%A9%B1%E5%8A%A8%E5%BC%80%E5%8F%91/1.htm">linux驱动开发</a><a class="tag" taget="_blank" href="/search/c%E8%AF%AD%E8%A8%80/1.htm">c语言</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E9%A9%B1%E5%8A%A8%E5%BC%80%E5%8F%91/1.htm">驱动开发</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a> <div>linux驱动开发1.驱动程序的类型2.驱动开发流程字符设备驱动1.基本概念2.字符设备驱动的基本结构架构字符设备驱动开发中常用的API示例以下代码加入了设备类和设备实例的创建linux驱动开发1.驱动程序的类型在Linux中,驱动程序主要有以下几种类型:字符设备驱动:处理字节流的设备,如串口、键盘等。它们通过字符设备接口(如/dev/tty)与用户空间进行交互。块设备驱动:处理块存储设备,如硬盘</div> </li> <li><a href="/article/1835198715728588800.htm" title="系统架构设计师教程 第5章 5.3 系统分析与设计 笔记" target="_blank">系统架构设计师教程 第5章 5.3 系统分析与设计 笔记</a> <span class="text-muted">z2014z</span> <a class="tag" taget="_blank" href="/search/%E7%B3%BB%E7%BB%9F%E6%9E%B6%E6%9E%84%E8%AE%BE%E8%AE%A1%E5%B8%88/1.htm">系统架构设计师</a><a class="tag" taget="_blank" href="/search/%E7%B3%BB%E7%BB%9F%E6%9E%B6%E6%9E%84/1.htm">系统架构</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a> <div>5.3系统分析与设计系统分析阶段把复杂的对象分解为简单的组成部分,其基本任务是在充分了解用户需求的基础上,书写系统需求规格说明书。系统设计是根据系统分析的结果,完成系统的构建过程。其主要目的是绘制系统的蓝图,权衡和比较各种技术和实施方法的利弊,合理分配各种资源,构建新系统的详细设计方案和相关模型,指导系统实施工作的顺利开展。系统设计的主要内容包括概要设计和详细设计。5.3.1结构化方法★★★★★针</div> </li> <li><a href="/article/1835198462984024064.htm" title="拼多多商家电话采集工具 爬虫教程分享" target="_blank">拼多多商家电话采集工具 爬虫教程分享</a> <span class="text-muted">小电商达人</span> <a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a> <div>以下是使用Python编写的拼多多商家电话采集爬虫教程:一、前期准备安装Python:从Python官方网站下载并安装最新版本的Python,安装过程中注意勾选将Python添加到系统路径选项。安装相关库:在命令提示符中运行以下命令来安装所需的库。pipinstallrequests:用于发送HTTP请求获取网页内容。pipinstallbeautifulsoup4:用于解析HTML页面。二、分析</div> </li> <li><a href="/article/1835196569532592128.htm" title="Linux常用文件压缩/解压命令格式大全(tar、gzip、bzip2、zip、compress、cpio、compress、dd)建议收藏" target="_blank">Linux常用文件压缩/解压命令格式大全(tar、gzip、bzip2、zip、compress、cpio、compress、dd)建议收藏</a> <span class="text-muted">狱典司</span> <a class="tag" taget="_blank" href="/search/Linux/1.htm">Linux</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E6%9C%8D%E5%8A%A1/1.htm">网络服务</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/1.htm">操作系统</a><a class="tag" taget="_blank" href="/search/shell/1.htm">shell</a> <div>Linux常用文件压缩/解压命令格式大全1.tar2.gzip3.bzip24.zip5.compress6.cpio7.dd1.tar打包备份后的文件包缀:.tar作用:用来对系统上的文件作备份与恢复,可以将系统上多个文件组构成一个tar文件备份到磁盘内或写入到一般的文件(文件名为*.tar)上,也可以将文件从一个tar文件解回到原来的系统中。说明:仅能将一个目录下的所有文件变成一个文件,不具备</div> </li> <li><a href="/article/1835196570363064320.htm" title="重读《新生-七年就是一辈子》- 26 不能容错的系统肯定是脆弱的" target="_blank">重读《新生-七年就是一辈子》- 26 不能容错的系统肯定是脆弱的</a> <span class="text-muted">greenorchid</span> <div>读后感想:我觉得自己的容错能力在学生,同事、朋友方面都还好,毕竟我很少和他们交流。但是,我对家人有时做的不好,容错能力反而较差,因此,有时会影响心情、注意力等。看了这篇文章,我能做到平心静气,不乱发脾气吗?我觉得有时能做到,很多时候可能还是做不到。读书笔记:今天的计算机科学里(包括它的“邻居”工程学里),都有一个重要的概念:容错(Faulttolerance)如果一个系统不能容错,那么它就是脆弱的</div> </li> <li><a href="/article/1835195687143305216.htm" title="10- 【JavaWeb】Tomcat、Servlet基础" target="_blank">10- 【JavaWeb】Tomcat、Servlet基础</a> <span class="text-muted">weixin_44329069</span> <a class="tag" taget="_blank" href="/search/JavaWeb/1.htm">JavaWeb</a><a class="tag" taget="_blank" href="/search/tomcat/1.htm">tomcat</a><a class="tag" taget="_blank" href="/search/servlet/1.htm">servlet</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>1.MacOS配置Tomcat服务器教程MacOS配置Tomcat服务器教程2.Servlet基础1.创建ServletServlet是一个扩展服务器功能的Java类,主要用于处理HTTP请求。以下是一个简单的Servlet示例:importjava.io.IOException;importjavax.servlet.ServletException;importjavax.servlet.an</div> </li> <li><a href="/article/1835195308322156544.htm" title="java打印标签(机型TOSHIBA条码打印机B-EX4T)" target="_blank">java打印标签(机型TOSHIBA条码打印机B-EX4T)</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/java/1.htm">java</a> <div>java打印标签实现方式标签效果代码获取更多相关资料实现rfid写入功能实现方式打印机设置网络ipjava获取socket连接,调用TPCL指令标签效果代码packageorg.jeecg.modules.invinfo.util;importorg.jeecg.modules.invinfo.vo.BatKcInventoryDetailVo;importorg.springframework.</div> </li> <li><a href="/article/1835194918813921280.htm" title="20220505成就感日志125/365" target="_blank">20220505成就感日志125/365</a> <span class="text-muted">kidII</span> <div>奋斗是人生的底色,你会经历很多人事物,学会更多的东西。从学习上掌握技能,从学习上享受生活,即便是辛苦也没有关系,生活没有不辛苦的,但是要辛苦的有意义。与其说平凡的过一辈子,不如吃苦耐劳,选择自己喜欢的生活,一点点的付出,积累很多的经验,未来才会有希望。虽然我们渴望成就感,但也需要平衡生活,让自己越来越幸福。1.【日思】:今日最重要的一件事情。调整(训练4h,4.2k+卡片笔记写作法5h+粥左罗直播</div> </li> <li><a href="/article/1835194285608235008.htm" title="恒信永利:优化行业风气严肃抵制“老赖”行为" target="_blank">恒信永利:优化行业风气严肃抵制“老赖”行为</a> <span class="text-muted">叶有司</span> <div>最近《中餐厅》屡上热搜,其中中年王子黄晓明可谓是凭借着经典语录又一次火爆了网络,“明学”之盛行,恒信永利想说,:“不要你觉得,只要我觉得!都听我的!恒信永利坚决抵制’老赖’行为!”在如今的“无现金社会”,人们的支付方式发生了巨大的改变,信用经济时代也已经随着“信用医疗”、“信用金融”等的出现而到来,信用借贷也应运而生了。谈及信用借贷,近年来兴起的消费分期借贷正是平台基于每个人的信用基础而提供的贷款</div> </li> <li><a href="/article/1835194154657869824.htm" title="第二周内容" target="_blank">第二周内容</a> <span class="text-muted">s好学向上p</span> <div>1、描述Linux发行版的系统目录名称命名规则以及用途。Linux系统基础目录的命名法则:-严格区分大小写-目录也是文件,在同一路径下,两个文件不能同名-支持使用除/以外的任意字符-最长字符不能超过255个字符Linux根下目录及用途/bin存放二进制可执行文件(ls,cat,mkdir等),常用命令一般都在这里/etc配置文件/home用户家目录/root超级用户(系统管理员)的主目录/sbin</div> </li> <li><a href="/article/1835192913345212416.htm" title="python logging模块默认日志级别_一看就懂,Python 日志 logging 模块详解及应用" target="_blank">python logging模块默认日志级别_一看就懂,Python 日志 logging 模块详解及应用</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/logging%E6%A8%A1%E5%9D%97%E9%BB%98%E8%AE%A4%E6%97%A5%E5%BF%97%E7%BA%A7%E5%88%AB/1.htm">logging模块默认日志级别</a> <div>日志概述百度百科的日志概述:Windows网络操作系统都设计有各种各样的日志文件,如应用程序日志,安全日志、系统日志、Scheduler服务日志、FTP日志、WWW日志、DNS服务器日志等等,这些根据你的系统开启的服务的不同而有所不同。我们在系统上进行一些操作时,这些日志文件通常会记录下我们操作的一些相关内容,这些内容对系统安全工作人员相当有用。比如说有人对系统进行了IPC探测,系统就会在安全日志</div> </li> <li><a href="/article/1835192786987610112.htm" title="OrangePi5 RK3588本地部署基于Cesium的WebGL应用" target="_blank">OrangePi5 RK3588本地部署基于Cesium的WebGL应用</a> <span class="text-muted">vinlandtech</span> <a class="tag" taget="_blank" href="/search/webgl/1.htm">webgl</a> <div>基于OranglePi5平台,本地部署WebGIS应用步骤:1、下载oranglepi5ubuntu22.04镜像,按用户手册进行烧写。链接:https://pan.baidu.com/s/1g-TO3DeIl1M1JfAPHbCyxg提取码:vlzt2、下载安装WebGL工具包。该软件包针对RK3588WebGL应用进行一定优化。链接:https://pan.baidu.com/s/1jP__h</div> </li> <li><a href="/article/1835192533358047232.htm" title="安卓玩机搞机技巧综合资源----安卓机型使用ADB指令 无需root 卸载 禁用当前机型各种软件app" target="_blank">安卓玩机搞机技巧综合资源----安卓机型使用ADB指令 无需root 卸载 禁用当前机型各种软件app</a> <span class="text-muted">安卓机器</span> <a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%8D%93%E7%8E%A9%E6%9C%BA%E6%90%9E%E6%9C%BA%E6%8A%80%E5%B7%A7%E7%BB%BC%E5%90%88%E8%B5%84%E6%BA%90/1.htm">安卓玩机搞机技巧综合资源</a><a class="tag" taget="_blank" href="/search/android/1.htm">android</a> <div>在前面的博文我有分享过如何使用adb来卸载禁用有些系统自带的软件。今天将详细的步骤来讲解。在操作前需要注意。不要禁用或者卸载有些系统应用如应用商店和系统更新等。否则系统严重会导致不开机。在做未有把握操作之前,最好先备份数据。如果遇到卡logo问题,极端情况下可能要在Recovery界面清除数据才能启动系统或者线刷来救砖。前期工作1----下载adb环境工具{https://dl.google.co</div> </li> <li><a href="/article/1835192531881652224.htm" title="Axure设计之全屏与退出全屏交互实现" target="_blank">Axure设计之全屏与退出全屏交互实现</a> <span class="text-muted">招风的黑耳</span> <a class="tag" taget="_blank" href="/search/Axure/1.htm">Axure</a><a class="tag" taget="_blank" href="/search/axure/1.htm">axure</a><a class="tag" taget="_blank" href="/search/%E4%BA%A4%E4%BA%92/1.htm">交互</a> <div>在AxureRP中,设计全屏与退出全屏的交互功能可以极大地提升用户体验,尤其是在展示产品原型或进行演示时。本文将详细介绍如何在AxureRP中通过结合JavaScript代码实现全屏与退出全屏的交互效果。Axure原型设计web端交互元件库:https://1zvcwx.axshare.com一、设计思路全屏与退出全屏的交互设计主要依赖于JavaScript代码来控制浏览器的全屏模式。在Axure</div> </li> <li><a href="/article/1835191873652748288.htm" title="维持内心秩序平衡—间隔年笔记之10" target="_blank">维持内心秩序平衡—间隔年笔记之10</a> <span class="text-muted">白芷汪汪</span> <div>“为了使灵魂安宁,一个人每天应该做两件不喜欢的事。”挺喜欢毛姆说的这句话。今天借着侄女生日,胡吃海塞了一天,到了晚上,纠结了一下要不要跟直播运动一下啊?大概是内心的罪恶感战胜了懒惰的小恶魔。其实,一旦换了运动的衣服,基本就可以克服冬夜的寒冷了。锻炼完大概45分钟左右,洗个澡,感觉好舒服。然后在心里对自己说,幸好今天运动了。我在keep上坚持了四年多,前几天推送的这一年总结,发现我居然刷了12953</div> </li> <li><a href="/article/1835191235422285824.htm" title="nfs服务搭建" target="_blank">nfs服务搭建</a> <span class="text-muted">GHope</span> <div>nfs是什么?基哥度娘网络文件系统(NFS)是sun微系统最初开发的分布式文件系统协议,[1]允许客户端计算机上的用户通过计算机网络访问文件很像本地存储被访问。NFS与许多其他协议一样,在开放网络计算远程过程调用(很久以前RPC)系统上建立。NFS是在请求注释(RFC)中定义的开放标准,允许任何人实现协议。NFSNFS优势:节省本地存储空间,将常用的数据存放在一台NFS服务器上且可以通过网络访问,</div> </li> <li><a href="/article/1835190856685023232.htm" title="用手机怎么赚零花钱,手机赚钱正规渠道" target="_blank">用手机怎么赚零花钱,手机赚钱正规渠道</a> <span class="text-muted">测评君高省</span> <div>说到利用网络赚钱,那方法真是多了去了,什么威客,自媒体,还有开淘宝店,这些方法确实是利用网络赚钱的,但是我觉得不太实用。就拿威客来说吧,如果你没有技术,那么很难做威客赚钱。现在网上做什么能赚钱?每天轻松几分钟,赚点零花钱!高省优惠券网站是最全面的优惠券购物网站,一直以来的经营宗旨也是用户优惠为先,高省合作的商家覆盖广,每天发放千万优惠券。和淘宝、京东、唯品会、饿了么等多个大平台合作,并且推出了返利</div> </li> <li><a href="/article/1835189202849984512.htm" title="青鸟集市" target="_blank">青鸟集市</a> <span class="text-muted">朴实无华Z_Y</span> <div>明天就是青鸟集市了,好期待!听说会有笔袋、笔记本、卡套、帽子等唯美商品。我真的是不敢参加,因为我只有九个时光币,顶多买个卡套,没准还会欠别人时光币。不过我觉得我们班同学也许有百分之九十都会花的不剩。祝自己圣诞节、青鸟集市快乐。</div> </li> <li><a href="/article/1835188821394812928.htm" title="我与新媒体" target="_blank">我与新媒体</a> <span class="text-muted">小富yyd</span> <div>1.我对新媒体的认识我对新媒体的认识就是比如传统媒体、网络媒体、移动端媒体、数字电视、数字报刊。新媒体则是通过现代化移动互联网手段,通过微信、微博等新兴媒体平台进行营销、宣传、推广等的一系列运营活动。新媒体可分为广义和狭义两个方面来理解。广义:新媒体可以看作在各种数字技术和网络技术支持下,以互联网、宽带局域网和无线通信网等为渠道,利用计算机、手机和数字电视等各种网络终端,向用户提供信息和娱乐服务的</div> </li> <li><a href="/article/1835188748321648640.htm" title="HTTP 请求处理的完整流程到Servlet流程图" target="_blank">HTTP 请求处理的完整流程到Servlet流程图</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/servlet/1.htm">servlet</a><a class="tag" taget="_blank" href="/search/%E6%B5%81%E7%A8%8B%E5%9B%BE/1.htm">流程图</a> <div>HTTP请求处理的完整流程。从TCP三次握手开始,一直到Servlet处理请求并返回响应。首先,让我解释一下response.setContentType("text/html;charset=UTF-8");这行代码:这行代码设置了HTTP响应的Content-Type头。它告诉浏览器:响应的内容类型是HTML(text/html)字符编码是UTF-8(charset=UTF-8)这样浏览器就知</div> </li> <li><a href="/article/1835187991828590592.htm" title="Orange Pi编译脚本的分析" target="_blank">Orange Pi编译脚本的分析</a> <span class="text-muted">点点吃得太多了</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/bash/1.htm">bash</a> <div>脚本的运行流程/scripts/main.sh变量设置DEST=“${SRC}”/outputREVISION=“2.2.2”DOWNLOAD_MIRROR==“china”NTP_SERVER=“cn.pool.ntp.org”通过网络校准您计算机上的时钟BUILD_ALLCOLUMNS,LINESTTY_X,TTY_YLANGUAGE=“en_US:en”CONSOLE_CHAR=“UTF-8</div> </li> <li><a href="/article/1835186056929046528.htm" title="外卖分销分佣小程序外卖cps小程序返利系统源码分享" target="_blank">外卖分销分佣小程序外卖cps小程序返利系统源码分享</a> <span class="text-muted">m0_56957302</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%B0%8F%E7%A8%8B%E5%BA%8F/1.htm">小程序</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a> <div>外卖返利小程序源码;轻松部署搭建,小程序服务号数据互通;对接美团官方;佣金比例自定义分配;三级分佣,所有资金数据一目了然;拉新立减最低4.9元购月卡;签到20天免费领取会员卡;提现秒到账!外卖cps带分销返利源码源代码地址美团/饿了么外卖CPS联盟返利公众号小程序裂变核心源码截图步骤下载以上源代码到本地http://y.mybei.cn/修改为你自己的微信小程序,打开/dist/pages/ele</div> </li> <li><a href="/article/1835184946172489728.htm" title="五脏养生" target="_blank">五脏养生</a> <span class="text-muted">大道至简555</span> <div>转自网络肝最喜欢伸懒腰,脾最喜欢揉肚子,那心、肺、肾呢?五脏,即肝、心、脾、肺、肾的合称。《黄帝内经》记载,“天有四时五行,以生长收藏,以生寒暑燥湿风;人有五脏化五气,以生喜怒悲忧恐”,《内经》还阐述了“五脏六腑为身体之本,有健康的脏腑才能有健康的身体”的治病养生理念。五脏六腑功能强弱与身体健康密切相关,养护好脏腑,方可“正气存内,邪不可干”。根据五脏的经络和穴位不同,每个脏腑的养生动作各有差异。</div> </li> <li><a href="/article/1835184051158347776.htm" title="简单聊聊高仿表在哪里买最便宜" target="_blank">简单聊聊高仿表在哪里买最便宜</a> <span class="text-muted">潮品会</span> <div>在现如今的时尚潮流中,高仿表已经成为许多人日常配饰的选择之一。与正品名表相比,高仿表不仅价格更为亲民,还能满足人们对于时尚和品质的追求。微信:52226813(下单赠送精美礼品)那么,大家可能会好奇,在哪里可以购买到最便宜的高仿表呢?以下是一些购买高仿表的地方,供大家参考。1,网络平台是购买高仿表的主要渠道之一。各种电商网站、社交媒体平台都有许多供应商出售高仿表。在这些平台上,你可以通过输入关键词</div> </li> <li><a href="/article/1835182528839905280.htm" title="Open Feign 实战笔记" target="_blank">Open Feign 实战笔记</a> <span class="text-muted">自强-X</span> <a class="tag" taget="_blank" href="/search/spring-cloud/1.htm">spring-cloud</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/%E5%BE%AE%E6%9C%8D%E5%8A%A1/1.htm">微服务</a><a class="tag" taget="_blank" href="/search/ribbon/1.htm">ribbon</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/cloud/1.htm">cloud</a> <div>OpenFeign笔记概念声明式的web服务客户端。使用接口加注解的形式编程。它是对RestTemplate和ribbon做了进一步封装。Feign已经停更,OpenFeign是在Feign的基础上又做了进一步的封装。Feign:Feign是SpringCloud组件中的一个轻量级RESTful的HTTP服务客户端Feign内置了Ribbon,用来做客户端负载均衡,去调用服务注册中心的服务。Fei</div> </li> <li><a href="/article/1835180335353131008.htm" title="《野草》复仇(其一) 读书笔记" target="_blank">《野草》复仇(其一) 读书笔记</a> <span class="text-muted">女人知书香</span> <div>“复仇”是鲁迅从早年到晚年,念兹在兹,一以贯之的恶一个思绪。几十年间在他心头萦绕不去,回环往复,多次谈及,成为作品和思想的重要主题之一。人的皮肤之厚,大概不到半分,鲜红的热血,就循着那后面,在比密密层层地爬在墙壁上的槐蚕更其密的血管里奔流,散出温热。于是各以这温热互相蛊惑,煽动,牵引,拼命希求偎倚,接吻,拥抱,以得生命的沉酣的大欢喜。【议论】如有人以丽人刺穿其皮肤,则有鲜血喷灌于杀戮者,这是动态的</div> </li> <li><a href="/article/1835180255548108800.htm" title="企微scrm系统如何打造本地私域电商平台" target="_blank">企微scrm系统如何打造本地私域电商平台</a> <span class="text-muted">ZHENKESCRM</span> <a class="tag" taget="_blank" href="/search/%E4%BC%81%E4%B8%9A%E5%BE%AE%E4%BF%A1/1.htm">企业微信</a> <div>随着网络的发展,很多的品牌商家都已经明白了私域的重要性,也已经纷纷入局私域。企微scrm系统如何打造本地私域电商平台已经成为越来越多企业关注的问题。而很多客户的微信里也已经添加了N多品牌的企微号,同一品类,客户同时接收着不同商家的信息,也进入了不同商家的私域池里,客户和商家已经形成了1对N的局面。面对这样的现状,对商家来说,已经进入了私域博弈的阶段,大家面临着私域存量客户之间的竞争。不仅仅是如何引</div> </li> <li><a href="/article/25.htm" title="Java实现的简单双向Map,支持重复Value" target="_blank">Java实现的简单双向Map,支持重复Value</a> <span class="text-muted">superlxw1234</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%8F%8C%E5%90%91map/1.htm">双向map</a> <div>关键字:Java双向Map、DualHashBidiMap     有个需求,需要根据即时修改Map结构中的Value值,比如,将Map中所有value=V1的记录改成value=V2,key保持不变。   数据量比较大,遍历Map性能太差,这就需要根据Value先找到Key,然后去修改。   即:既要根据Key找Value,又要根据Value</div> </li> <li><a href="/article/152.htm" title="PL/SQL触发器基础及例子" target="_blank">PL/SQL触发器基础及例子</a> <span class="text-muted">百合不是茶</span> <a class="tag" taget="_blank" href="/search/oracle%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">oracle数据库</a><a class="tag" taget="_blank" href="/search/%E8%A7%A6%E5%8F%91%E5%99%A8/1.htm">触发器</a><a class="tag" taget="_blank" href="/search/PL%2FSQL%E7%BC%96%E7%A8%8B/1.htm">PL/SQL编程</a> <div>  触发器的简介; 触发器的定义就是说某个条件成立的时候,触发器里面所定义的语句就会被自动的执行。因此触发器不需要人为的去调用,也不能调用。触发器和过程函数类似 过程函数必须要调用,   一个表中最多只能有12个触发器类型的,触发器和过程函数相似 触发器不需要调用直接执行, 触发时间:指明触发器何时执行,该值可取: before:表示在数据库动作之前触发</div> </li> <li><a href="/article/279.htm" title="[时空与探索]穿越时空的一些问题" target="_blank">[时空与探索]穿越时空的一些问题</a> <span class="text-muted">comsci</span> <a class="tag" taget="_blank" href="/search/%E9%97%AE%E9%A2%98/1.htm">问题</a> <div>       我们还没有进行过任何数学形式上的证明,仅仅是一个猜想.....       这个猜想就是; 任何有质量的物体(哪怕只有一微克)都不可能穿越时空,该物体强行穿越时空的时候,物体的质量会与时空粒子产生反应,物体会变成暗物质,也就是说,任何物体穿越时空会变成暗物质..(暗物质就我的理</div> </li> <li><a href="/article/406.htm" title="easy ui datagrid上移下移一行" target="_blank">easy ui datagrid上移下移一行</a> <span class="text-muted">商人shang</span> <a class="tag" taget="_blank" href="/search/js/1.htm">js</a><a class="tag" taget="_blank" href="/search/%E4%B8%8A%E7%A7%BB%E4%B8%8B%E7%A7%BB/1.htm">上移下移</a><a class="tag" taget="_blank" href="/search/easyui/1.htm">easyui</a><a class="tag" taget="_blank" href="/search/datagrid/1.htm">datagrid</a> <div>/** * 向上移动一行 * * @param dg * @param row */ function moveupRow(dg, row) { var datagrid = $(dg); var index = datagrid.datagrid("getRowIndex", row); if (isFirstRow(dg, row)) {</div> </li> <li><a href="/article/533.htm" title="Java反射" target="_blank">Java反射</a> <span class="text-muted">oloz</span> <a class="tag" taget="_blank" href="/search/%E5%8F%8D%E5%B0%84/1.htm">反射</a> <div>本人菜鸟,今天恰好有时间,写写博客,总结复习一下java反射方面的知识,欢迎大家探讨交流学习指教 首先看看java中的Class package demo; public class ClassTest { /*先了解java中的Class*/ public static void main(String[] args) { //任何一个类都</div> </li> <li><a href="/article/660.htm" title="springMVC 使用JSR-303 Validation验证" target="_blank">springMVC 使用JSR-303 Validation验证</a> <span class="text-muted">杨白白</span> <a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/mvc/1.htm">mvc</a> <div>JSR-303是一个数据验证的规范,但是spring并没有对其进行实现,Hibernate Validator是实现了这一规范的,通过此这个实现来讲SpringMVC对JSR-303的支持。 JSR-303的校验是基于注解的,首先要把这些注解标记在需要验证的实体类的属性上或是其对应的get方法上。 登录需要验证类 public class Login { @NotEmpty</div> </li> <li><a href="/article/787.htm" title="log4j" target="_blank">log4j</a> <span class="text-muted">香水浓</span> <a class="tag" taget="_blank" href="/search/log4j/1.htm">log4j</a> <div> log4j.rootCategory=DEBUG, STDOUT, DAILYFILE, HTML, DATABASE #log4j.rootCategory=DEBUG, STDOUT, DAILYFILE, ROLLINGFILE, HTML #console log4j.appender.STDOUT=org.apache.log4j.ConsoleAppender log4</div> </li> <li><a href="/article/914.htm" title="使用ajax和history.pushState无刷新改变页面URL" target="_blank">使用ajax和history.pushState无刷新改变页面URL</a> <span class="text-muted">agevs</span> <a class="tag" taget="_blank" href="/search/jquery/1.htm">jquery</a><a class="tag" taget="_blank" href="/search/%E6%A1%86%E6%9E%B6/1.htm">框架</a><a class="tag" taget="_blank" href="/search/Ajax/1.htm">Ajax</a><a class="tag" taget="_blank" href="/search/html5/1.htm">html5</a><a class="tag" taget="_blank" href="/search/chrome/1.htm">chrome</a> <div>表现 如果你使用chrome或者firefox等浏览器访问本博客、github.com、plus.google.com等网站时,细心的你会发现页面之间的点击是通过ajax异步请求的,同时页面的URL发生了了改变。并且能够很好的支持浏览器前进和后退。 是什么有这么强大的功能呢? HTML5里引用了新的API,history.pushState和history.replaceState,就是通过</div> </li> <li><a href="/article/1041.htm" title="centos中文乱码" target="_blank">centos中文乱码</a> <span class="text-muted">AILIKES</span> <a class="tag" taget="_blank" href="/search/centos/1.htm">centos</a><a class="tag" taget="_blank" href="/search/OS/1.htm">OS</a><a class="tag" taget="_blank" href="/search/ssh/1.htm">ssh</a> <div>一、CentOS系统访问 g.cn ,发现中文乱码。 于是用以前的方式:yum -y install fonts-chinese CentOS系统安装后,还是不能显示中文字体。我使用 gedit 编辑源码,其中文注释也为乱码。       后来,终于找到以下方法可以解决,需要两个中文支持的包: fonts-chinese-3.02-12.</div> </li> <li><a href="/article/1168.htm" title="触发器" target="_blank">触发器</a> <span class="text-muted">baalwolf</span> <a class="tag" taget="_blank" href="/search/%E8%A7%A6%E5%8F%91%E5%99%A8/1.htm">触发器</a> <div>触发器(trigger):监视某种情况,并触发某种操作。 触发器创建语法四要素:1.监视地点(table) 2.监视事件(insert/update/delete) 3.触发时间(after/before) 4.触发事件(insert/update/delete) 语法: create trigger triggerName after/before </div> </li> <li><a href="/article/1295.htm" title="JS正则表达式的i m g" target="_blank">JS正则表达式的i m g</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/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F/1.htm">正则表达式</a> <div>        g:表示全局(global)模式,即模式将被应用于所有字符串,而非在发现第一个匹配项时立即停止。         i:表示不区分大小写(case-insensitive)模式,即在确定匹配项时忽略模式与字符串的大小写。         m:表示</div> </li> <li><a href="/article/1422.htm" title="HTML5模式和Hashbang模式" target="_blank">HTML5模式和Hashbang模式</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/AngularJS/1.htm">AngularJS</a><a class="tag" taget="_blank" href="/search/Hashbang%E6%A8%A1%E5%BC%8F/1.htm">Hashbang模式</a><a class="tag" taget="_blank" href="/search/HTML5%E6%A8%A1%E5%BC%8F/1.htm">HTML5模式</a> <div>        我们可以用$locationProvider来配置$location服务(可以采用注入的方式,就像AngularJS中其他所有东西一样)。这里provider的两个参数很有意思,介绍如下。 html5Mode         一个布尔值,标识$location服务是否运行在HTML5模式下。 ha</div> </li> <li><a href="/article/1549.htm" title="[Maven学习笔记六]Maven生命周期" target="_blank">[Maven学习笔记六]Maven生命周期</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/maven/1.htm">maven</a> <div>从mvn test的输出开始说起   当我们在user-core中执行mvn test时,执行的输出如下:   /software/devsoftware/jdk1.7.0_55/bin/java -Dmaven.home=/software/devsoftware/apache-maven-3.2.1 -Dclassworlds.conf=/software/devs</div> </li> <li><a href="/article/1676.htm" title="【Hadoop七】基于Yarn的Hadoop Map Reduce容错" target="_blank">【Hadoop七】基于Yarn的Hadoop Map Reduce容错</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/hadoop/1.htm">hadoop</a> <div>运行于Yarn的Map Reduce作业,可能发生失败的点包括 Task Failure Application Master Failure Node Manager Failure Resource Manager Failure 1. Task Failure 任务执行过程中产生的异常和JVM的意外终止会汇报给Application Master。僵死的任务也会被A</div> </li> <li><a href="/article/1803.htm" title="记一次数据推送的异常解决端口解决" target="_blank">记一次数据推送的异常解决端口解决</a> <span class="text-muted">ronin47</span> <a class="tag" taget="_blank" href="/search/%E8%AE%B0%E4%B8%80%E6%AC%A1%E6%95%B0%E6%8D%AE%E6%8E%A8%E9%80%81%E7%9A%84%E5%BC%82%E5%B8%B8%E8%A7%A3%E5%86%B3/1.htm">记一次数据推送的异常解决</a> <div>   需求:从db获取数据然后推送到B         程序开发完成,上jboss,刚开始报了很多错,逐一解决,可最后显示连接不到数据库。机房的同事说可以ping 通。     自已画了个图,逐一排除,把linux 防火墙 和 setenforce 设置最低。    service iptables stop </div> </li> <li><a href="/article/1930.htm" title="巧用视错觉-UI更有趣" target="_blank">巧用视错觉-UI更有趣</a> <span class="text-muted">brotherlamp</span> <a class="tag" taget="_blank" href="/search/UI/1.htm">UI</a><a class="tag" taget="_blank" href="/search/ui%E8%A7%86%E9%A2%91/1.htm">ui视频</a><a class="tag" taget="_blank" href="/search/ui%E6%95%99%E7%A8%8B/1.htm">ui教程</a><a class="tag" taget="_blank" href="/search/ui%E8%87%AA%E5%AD%A6/1.htm">ui自学</a><a class="tag" taget="_blank" href="/search/ui%E8%B5%84%E6%96%99/1.htm">ui资料</a> <div>我们每个人在生活中都曾感受过视错觉(optical illusion)的魅力。 视错觉现象是双眼跟我们开的一个玩笑,而我们往往还心甘情愿地接受我们看到的假象。其实不止如此,视觉错现象的背后还有一个重要的科学原理——格式塔原理。 格式塔原理解释了人们如何以视觉方式感觉物体,以及图像的结构,视角,大小等要素是如何影响我们的视觉的。 在下面这篇文章中,我们首先会简单介绍一下格式塔原理中的基本概念,</div> </li> <li><a href="/article/2057.htm" title="线段树-poj1177-N个矩形求边长(离散化+扫描线)" target="_blank">线段树-poj1177-N个矩形求边长(离散化+扫描线)</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1.htm">数据结构</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E7%BA%BF%E6%AE%B5%E6%A0%91/1.htm">线段树</a> <div>package com.ljn.base; import java.util.Arrays; import java.util.Comparator; import java.util.Set; import java.util.TreeSet; /** * POJ 1177 (线段树+离散化+扫描线),题目链接为http://poj.org/problem?id=1177 </div> </li> <li><a href="/article/2184.htm" title="HTTP协议详解" target="_blank">HTTP协议详解</a> <span class="text-muted">chicony</span> <a class="tag" taget="_blank" href="/search/http%E5%8D%8F%E8%AE%AE/1.htm">http协议</a> <div>引言                                 </div> </li> <li><a href="/article/2311.htm" title="Scala设计模式" target="_blank">Scala设计模式</a> <span class="text-muted">chenchao051</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/scala/1.htm">scala</a> <div>Scala设计模式                我的话: 在国外网站上看到一篇文章,里面详细描述了很多设计模式,并且用Java及Scala两种语言描述,清晰的让我们看到各种常规的设计模式,在Scala中是如何在语言特性层面直接支持的。基于文章很nice,我利用今天的空闲时间将其翻译,希望大家能一起学习,讨论。翻译</div> </li> <li><a href="/article/2438.htm" title="安装mysql" target="_blank">安装mysql</a> <span class="text-muted">daizj</span> <a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E8%A3%85/1.htm">安装</a> <div>安装mysql   (1)删除linux上已经安装的mysql相关库信息。rpm  -e  xxxxxxx   --nodeps (强制删除)      执行命令rpm -qa |grep mysql 检查是否删除干净   (2)执行命令  rpm -i MySQL-server-5.5.31-2.el</div> </li> <li><a href="/article/2565.htm" title="HTTP状态码大全" target="_blank">HTTP状态码大全</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/http%E7%8A%B6%E6%80%81%E7%A0%81/1.htm">http状态码</a> <div>完整的 HTTP 1.1规范说明书来自于RFC 2616,你可以在http://www.talentdigger.cn/home/link.php?url=d3d3LnJmYy1lZGl0b3Iub3JnLw%3D%3D在线查阅。HTTP 1.1的状态码被标记为新特性,因为许多浏览器只支持 HTTP 1.0。你应只把状态码发送给支持 HTTP 1.1的客户端,支持协议版本可以通过调用request</div> </li> <li><a href="/article/2692.htm" title="asihttprequest上传图片" target="_blank">asihttprequest上传图片</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/ASIHTTPRequest/1.htm">ASIHTTPRequest</a> <div>NSURL *url =@"yourURL"; ASIFormDataRequest*currentRequest =[ASIFormDataRequest requestWithURL:url]; [currentRequest setPostFormat:ASIMultipartFormDataPostFormat];[currentRequest se</div> </li> <li><a href="/article/2819.htm" title="C语言中,关键字static的作用" target="_blank">C语言中,关键字static的作用</a> <span class="text-muted">e200702084</span> <a class="tag" taget="_blank" href="/search/C%2B%2B/1.htm">C++</a><a class="tag" taget="_blank" href="/search/c/1.htm">c</a><a class="tag" taget="_blank" href="/search/C%23/1.htm">C#</a> <div>在C语言中,关键字static有三个明显的作用: 1)在函数体,局部的static变量。生存期为程序的整个生命周期,(它存活多长时间);作用域却在函数体内(它在什么地方能被访问(空间))。 一个被声明为静态的变量在这一函数被调用过程中维持其值不变。因为它分配在静态存储区,函数调用结束后并不释放单元,但是在其它的作用域的无法访问。当再次调用这个函数时,这个局部的静态变量还存活,而且用在它的访</div> </li> <li><a href="/article/2946.htm" title="win7/8使用curl" target="_blank">win7/8使用curl</a> <span class="text-muted">geeksun</span> <a class="tag" taget="_blank" href="/search/win7/1.htm">win7</a> <div>1.  WIN7/8下要使用curl,需要下载curl-7.20.0-win64-ssl-sspi.zip和Win64OpenSSL_Light-1_0_2d.exe。 下载地址:  http://curl.haxx.se/download.html 请选择不带SSL的版本,否则还需要安装SSL的支持包   2.  可以给Windows增加c</div> </li> <li><a href="/article/3073.htm" title="Creating a Shared Repository; Users Sharing The Repository" target="_blank">Creating a Shared Repository; Users Sharing The Repository</a> <span class="text-muted">hongtoushizi</span> <a class="tag" taget="_blank" href="/search/git/1.htm">git</a> <div>转载自:   http://www.gitguys.com/topics/creating-a-shared-repository-users-sharing-the-repository/ Commands discussed in this section: git init –bare git clone git remote git pull git p</div> </li> <li><a href="/article/3200.htm" title="Java实现字符串反转的8种或9种方法" target="_blank">Java实现字符串反转的8种或9种方法</a> <span class="text-muted">Josh_Persistence</span> <a class="tag" taget="_blank" href="/search/%E5%BC%82%E6%88%96%E5%8F%8D%E8%BD%AC/1.htm">异或反转</a><a class="tag" taget="_blank" href="/search/%E9%80%92%E5%BD%92%E5%8F%8D%E8%BD%AC/1.htm">递归反转</a><a class="tag" taget="_blank" href="/search/%E4%BA%8C%E5%88%86%E4%BA%A4%E6%8D%A2%E5%8F%8D%E8%BD%AC/1.htm">二分交换反转</a><a class="tag" taget="_blank" href="/search/java%E5%AD%97%E7%AC%A6%E4%B8%B2%E5%8F%8D%E8%BD%AC/1.htm">java字符串反转</a><a class="tag" taget="_blank" href="/search/%E6%A0%88%E5%8F%8D%E8%BD%AC/1.htm">栈反转</a> <div>注:对于第7种使用异或的方式来实现字符串的反转,如果不太看得明白的,可以参照另一篇博客: http://josh-persistence.iteye.com/blog/2205768   /** * */ package com.wsheng.aggregator.algorithm.string; import java.util.Stack; /** </div> </li> <li><a href="/article/3327.htm" title="代码实现任意容量倒水问题" target="_blank">代码实现任意容量倒水问题</a> <span class="text-muted">home198979</span> <a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E5%80%92%E6%B0%B4/1.htm">倒水</a> <div>形象化设计模式实战             HELLO!架构                     redis命令源码解析   倒水问题:有两个杯子,一个A升,一个B升,水有无限多,现要求利用这两杯子装C</div> </li> <li><a href="/article/3454.htm" title="Druid datasource" target="_blank">Druid datasource</a> <span class="text-muted">zhb8015</span> <a class="tag" taget="_blank" href="/search/druid/1.htm">druid</a> <div>推荐大家使用数据库连接池 DruidDataSource. http://code.alibabatech.com/wiki/display/Druid/DruidDataSource DruidDataSource经过阿里巴巴数百个应用一年多生产环境运行验证,稳定可靠。 它最重要的特点是:监控、扩展和性能。 下载和Maven配置看这里: http</div> </li> <li><a href="/article/3581.htm" title="两种启动监听器ApplicationListener和ServletContextListener" target="_blank">两种启动监听器ApplicationListener和ServletContextListener</a> <span class="text-muted">spjich</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/%E6%A1%86%E6%9E%B6/1.htm">框架</a> <div>引言:有时候需要在项目初始化的时候进行一系列工作,比如初始化一个线程池,初始化配置文件,初始化缓存等等,这时候就需要用到启动监听器,下面分别介绍一下两种常用的项目启动监听器   ServletContextListener  特点: 依赖于sevlet容器,需要配置web.xml 使用方法: public class StartListener implements </div> </li> <li><a href="/article/3708.htm" title="JavaScript Rounding Methods of the Math object" target="_blank">JavaScript Rounding Methods of the Math object</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/Math/1.htm">Math</a> <div>    The next group of methods has to do with rounding decimal values into integers. Three methods — Math.ceil(),  Math.floor(), and  Math.round() — handle rounding in differen</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>