Web基本与HTTP协议

目录

一:域名

1.域名概述

2.域名空间结构

3. 域名注册

二: 网页访问(HTTP/HTTPS)

1.网页的基本概念

2.网站

3.主页

4.域名

5.HTTP

6.URL

7.网页基本标签

(1)网页摘要信息的作用

(2)标题标签类型

三:HTML

1.HTML 概述

2.HTML 基本标签

(1)HTML 语法规则

(2)HTML 文件结构

(3)网页的“源码”【在网页空白页按F12会展示源码】

 3.HTML 文件结构

(1)头标签中常用标签 

(2)内容标签中常用标签

四:web

1.Web概述

2.Web1.0 vs Web2.0

(1)Web1.0 

(2)web 2.0

3. 静态页面

(1)静态页面定义

(2)静态页面特点

4.动态页面

(1) 动态页面定义

(2)动态页面特点

(3)目前常用的动态网页编程语言

五:HTTP协议

1.HTTP协议简介

2.HTTP 版本

(1)HTTP/0.9

(2)HTTP/1.0

(3)HTTP/1.1

(4)HTTP/2.0

(5)HTTP3.0

3.HTTP 方法

 4.GET 和 POST 

(1)GET

(2)POST

(3) GET 与POST 区别

5.HTTP状态码

6.生产环境常见的HTTP状态码 

7. HTTP 请求流程分析

(1) 请求报文

​(2)常用的请求头

(3)响应报文

​(4)常见响应头

总结:常见的状态码及原因


一:域名

1.域名概述

标识一组主机并提供它们的有关信息的树形结构(主要确定了根在哪,就可以确定每个分支)

www.baidu.com 
域名服务器(分布式,每台主机维护一个部分):
① 保持和维护域名空间的程序
② 响应解析器的请求

解析端(客户端)
向DNS服务器发出请求的设备

2.域名空间结构

① 根域 位于域名空间最顶层,一般用一个 “.” 表示								
基础单位,除了根域 其他都只有一个上级域,有0或多个子域,同层域不可重复的子域或域名

② 顶级域
一般代表一种类型的组织机构或国家地区(主要有此两种类型构成),如 net(网络公司)、com(商业)、org(民间团体组织)、edu(教育)、gov(政府)、mil(军事)、cn(中国)、jp(日本)、hk(中国香港)

③ 二级域
用来标明顶级域内的一个特定的组织,国家顶级域下面的二级域名由国家网络部门统一管理,如 .cn 顶级域名下面设置的二级域名:.com.cn、.net.cn、.edu.cn …

④ 子域
用来标明顶级域内的一个特定的组织,国家顶级域下面的二级域名由国家网络部门统一管理,如 .cn 顶级域名下面设置的二级域名:.com.cn、.net.cn、.edu.cn …

主机
主机位于域名空间最下层,就是一台具体的计算机,如 www、mail、都是具体的计算机名字,可用www.sina.com.cn.、mail.sina.com.cn. 来表示,这种表示方式称为 FQDN (完全合格域名),也是这台主机在域名中的全名

Web基本与HTTP协议_第1张图片

3. 域名注册

域名注册是Internet中用于解决地址对应问题的一种方法 遵循先申请先注册原则 域名注册
步骤:准备申请资料————》寻找域名注册网站————》查询域名————》正式申请————》申请成功

二: 网页访问(HTTP/HTTPS)

1.网页的基本概念

纯文本格式文件,编写语言为HTML,在用户浏览器中被“翻译”成网页形式显示出来。

① 网页
a.纯文本格式文件
b.编写语言为HTML
c.在用户的浏览器中被“翻译”成网页形式显示出来

② 网站
由一个一个页面构成的,是多个网页的结合体
主页
打开网站后出现的第一个网页称为网站主页(或首页)

③ 域名
浏览网页时输入的网址

④ HTTP/HTTPS
用来传输网页的通信协议(是否加密),是一种通讯/交互的标准/规范

⑤ URL
是一种万维网寻址系统

⑥ HTML 
用来编写网页的超文本标记语言

⑦ 超链接
超链接是将网站中不同网页链接起来的功能

⑧ 发布
将制作好的网页上传到服务器供用户访问的过程

2.网站

由一个一个页面构成的,是多个网页的结合体

3.主页

打开网站后出现的第一个网页称为网站主页(或首页)

4.域名

浏览网页时输入的网址

5.HTTP

用来传输网页的通信协议

6.URL

是一种万维网寻址系统

7.网页基本标签

(1)网页摘要信息的作用

有利于浏览器解析

有利于搜索引擎搜索

标签		#标题
#举例
<head>
  <title>搜狐-中国最大的门户网站
  
 


标签		#根据关键信息搜索
#举例

   

(2)标题标签类型

行控制相关标签
范围标签
图像标签
超链接标签
特殊符号

静夜思

床前明月光

疑是地上霜
举头望明月 我是中国人  "©> #空行 双引号 版权符号 大于

三:HTML

1.HTML 概述

HTML叫做超文本标记语言,是一种规范,也是一种标准,它通过标记符号来标记要显示的网页中的各个部分。网页文件本身是一种文本文件,通过在文本文件中添加标记符,可以告诉浏览器如何显示其中的内容。

HTML文件可以使用任何能够生成txt文件的文本编辑器来编辑,生成超文本标记语言文件,只用修改文件名后缀为”.html”或“.htm”即可。

2.HTML 基本标签

(1)HTML 语法规则

HTML标签采用双标记符的形式,前后标记符对应,分别表示标记开始和结束,标记符中间的内容被标签描述。前标记符由“”表示,结尾标记符多了一个“/”,由“”表示。

(2)HTML 文件结构

HTML文件最外层由,说明该文件是用HTML语言描述的。在它里面是并列的头标签()和内容标签()

(3)网页的“源码”【在网页空白页按F12会展示源码】

Web基本与HTTP协议_第2张图片

 3.HTML 文件结构

HTML网页
头部部分
标题部分
主体部分
网页内容,包括文本、图像等

示例:


我的第一个网页 



       Hello World!



(1)头标签中常用标签 

头标签中常用标签:
标签				描述
				定义了文档的标题
<base>				定义了页面链接标签的默认链接地址
<link>				定义了一个文档和外部资源之间的关系
<meta>				定义了 HTML 文档中的元数据
<script>			定义了客户端的脚本文件
<style>				定义了 HTML 文档的样式文件

内容标签中常用标签
</code></pre> 
  <h3 id="%EF%BC%882%EF%BC%89%E5%86%85%E5%AE%B9%E6%A0%87%E7%AD%BE%E4%B8%AD%E5%B8%B8%E7%94%A8%E6%A0%87%E7%AD%BE">(2)内容标签中常用标签</h3> 
  <pre><code>标签				描述
<table>				定义一个表格
<tr>				定义了表格中的一行
<td>				定义了表格中某一行的一列
<img>				定义了一个图像
<a>					定义了一个超链接
<p>					定义了一行
<br>				定义了换行
<font>				定义了字体
<h1>				定义字体大小</code></pre> 
  <p></p> 
  <h1 id="%E5%9B%9B%EF%BC%9Aweb">四:web</h1> 
  <h2 id="1.Web%E6%A6%82%E8%BF%B0">1.Web概述</h2> 
  <p>Web(Would Wide Web)即<strong><code><span style="background-color:#fbd4d0;">全球广域网</span></code></strong>,也称为<strong><span style="background-color:#fbd4d0;">万维网</span></strong> 。一种分布式图形信息系统 建立在Internet上的一种网络服务。</p> 
  <h2 id="2.Web1.0%20vs%20Web2.0">2.Web1.0 vs Web2.0</h2> 
  <h3 id="%EF%BC%881%EF%BC%89Web1.0%C2%A0">(1)Web1.0 </h3> 
  <pre><code>1.以编辑为特征,网站提供给用户的内容是编辑处理后的,然后用户阅读网站提供的内容
2.这个过程是网站到用户的单向行为
</code></pre> 
  <h3 id="%EF%BC%882%EF%BC%89web%202.0">(2)web 2.0</h3> 
  <pre><code>1.更注重用户的交互作用,用户既是网站内容的消费者(浏览者),也是网站内容的制造者
2.加强了网站与用户之间的互动,网站内容基于用户提供,网站的诸多功能也由用户参与建设,实现了网站与用户双向的交流与参与
3.Web2.0特征:用户分享、以兴趣为聚合点的社群、开放的平台,活跃的用户。
</code></pre> 
  <h2 id="3.%C2%A0%E9%9D%99%E6%80%81%E9%A1%B5%E9%9D%A2">3. 静态页面</h2> 
  <h3 id="%EF%BC%881%EF%BC%89%E9%9D%99%E6%80%81%E9%A1%B5%E9%9D%A2%E5%AE%9A%E4%B9%89">(1)静态页面定义</h3> 
  <p>① 静态网页是标准的HTML文件<br> ② 扩展名是.htm、.html<br> 例如文本、图像、声音、Flash动画、客户端脚本和ActiveX控件及Java小程序等<br> ③ 是网站建设的基础,早期网站一般都由静态网页制作<br> ④ 没有后台数据库、不含程序和不可交互的网页<br> ⑤ 相对更新起来比较麻烦,适用于一般更新较少的展示型网站</p> 
  <h3 id="%EF%BC%882%EF%BC%89%E9%9D%99%E6%80%81%E9%A1%B5%E9%9D%A2%E7%89%B9%E7%82%B9">(2)静态页面特点</h3> 
  <p>① 每个静态网页都有一个固定的URL,且URL以.htm、.html、.shtml等常见形式为后缀,而不含有“?”<br> ② 网页内容一经发布到网站服务器上,无论是否有用户访问,每个静态网页都是保存在网站服务器上的<br> ③ 静态网页的内容相对稳定,容易被搜索引擎检索<br> ④静态网页没有数据库的支持,在网站制作和维护方面工作量较大,因此当网站信息量很大时完全依靠静态网页制作方式比较困难<br> ⑤静态网页的交互性较差,在功能方面有较大的限制<br> ⑥ 页面浏览速度迅速,过程无需连接数据库,开启页面速度快于动态页面</p> 
  <h2 id="4.%E5%8A%A8%E6%80%81%E9%A1%B5%E9%9D%A2">4.动态页面</h2> 
  <h3 id="%EF%BC%881%EF%BC%89%20%E5%8A%A8%E6%80%81%E9%A1%B5%E9%9D%A2%E5%AE%9A%E4%B9%89">(1) 动态页面定义</h3> 
  <p>① 网页 URL<strong><span style="color:#fe2c24;">不固定</span></strong>,能通过后台与用户<strong><span style="color:#fe2c24;"><code>交互</code></span></strong><br> ② 在动态网页网址中有一个标志性的符号<code>——“?”</code><br> ③常用的语言有PHP、JSP、Python、Ruby等</p> 
  <h3 id="%EF%BC%882%EF%BC%89%E5%8A%A8%E6%80%81%E9%A1%B5%E9%9D%A2%E7%89%B9%E7%82%B9">(2)动态页面特点</h3> 
  <p>①<span style="color:#fe2c24;"> <strong>交互性</strong></span> 网页会根据用户的要求和选择而动态改变和响应,将浏览器作为客户端界面,这将是今后WEB发展的大势所趋<br> ② <span style="color:#fe2c24;"><strong>自动更新无须手动地更新HTML文档</strong></span>,便会自动生成新的页面,可以大大节省工作量<br> ③ 因时因人而变 当不同的时间,不同的人访问同一网址时会产生不同的页面</p> 
  <h3 id="%EF%BC%883%EF%BC%89%E7%9B%AE%E5%89%8D%E5%B8%B8%E7%94%A8%E7%9A%84%E5%8A%A8%E6%80%81%E7%BD%91%E9%A1%B5%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80">(3)目前常用的动态网页编程语言</h3> 
  <p>●<strong>PHP</strong><br> 即 Hypertext Preprocessor(超文本预处理器),它是当今 Internet 上最为火热的脚本语言,其语法借鉴了 C、Java、PERL 等语言,但只需要很少的编程知识你就能使用 PHP 建立一个真正交互的 Web 站点。</p> 
  <p>●<strong>JSP</strong><br> 即 Java Server Pages(Java 服务器页面),它是由 Sun Microsystem 公司于 1999 年 6 月推出的新技术,是基于 Java Servlet 以及整个 Java 体系的 Web 开发技术。</p> 
  <p>●<strong>Python </strong><br> 是一种面向对象、跨平台的动态类计算机程序设计语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的大型项目开发。</p> 
  <p>●<strong>Ruby</strong><br> 是一种简单快捷的面向对象(面向对象程序设计)脚本语言,在 20 世纪 90年代由日本人松本行弘(Yukihiro Matsumoto) 开发,遵守GPL 协议和Ruby License。它的灵感与特性来自于 Perl、Smalltalk、Eiffel、Ada 以及 Lisp 语言。</p> 
  <h1 id="%E4%BA%94%EF%BC%9AHTTP%E5%8D%8F%E8%AE%AE">五:HTTP协议</h1> 
  <h2 id="1.HTTP%E5%8D%8F%E8%AE%AE%E7%AE%80%E4%BB%8B">1.HTTP协议简介</h2> 
  <ul> 
   <li>HTTP(超文本传输协议HyperText Transfer Protocol)协议是互联网上应用最为广泛的一种网络协议,它是基于TCP协议的应用层传输协议,简单来说就是客户端和服务端进行数据传输的一种规则。</li> 
   <li>HTTP/HTTPS是应用层上的协议,建立在传输层TCP之上,客户端通过与服务端进行TCP连接(三次握手),之后发送HTTP请求与接收HTTP响应都是通过访问Socket接口来调用TCP协议实现。</li> 
   <li>HTTP 是一种无状态 (stateless) 协议, HTTP协议本身不会对发送过的请求和相应的通信状态进行持久化处理(存储,保存)。这样做的目的是为了保持HTTP协议的简单性,从而能够快速处理大量的事务, 提高效率。</li> 
   <li>然而,在许多应用场景中,我们需要保持用户登录的状态或记录用户购物车中的商品。由于HTTP是无状态协议,所以必须引入一些技术来记录管理状态,例如Cookie。</li> 
   <li>cookie和session都为了实现的是http的短期的持久化(内存/缓存方式,查询快、效率比较高)cookie是缓存在用户端(client)浏览器中的(默认缓存一天),当下次客户端通过同一个浏览器访问客户端的时候,会优先读取cookie中的缓存信息,向服务端进行请求,同时服务端收到客户端请求的时候,读取到cookie文件,知道客户端之前找的是服务器A处理的任务,为了省事儿,省资源,干脆直接讲请求直接再交给服务器A处理</li> 
  </ul> 
  <p><strong><span style="color:#fe2c24;">注:cookie 省服务器性能,session 更安全。</span></strong></p> 
  <h2 id="2.HTTP%C2%A0%E7%89%88%E6%9C%AC">2.HTTP 版本</h2> 
  <h3 id="%EF%BC%881%EF%BC%89HTTP%2F0.9">(1)HTTP/0.9</h3> 
  <p>已过时。只接受 GET 一种请求方法,没有在通讯中指定版本号,且不支持请求头。由于该版本不支持 POST 方法,所以客户端无法向服务器传递太多信息。</p> 
  <h3 id="%EF%BC%882%EF%BC%89HTTP%2F1.0">(2)HTTP/1.0</h3> 
  <p>这是第一个在通讯中指定版本号的 HTTP 协议版本,至今仍被广泛采用,特别是在代理服务器中。</p> 
  <h3 id="%EF%BC%883%EF%BC%89HTTP%2F1.1">(3)HTTP/1.1</h3> 
  <p>引入了持久连接,即TCP连接默认不关闭,可以被多个请求复用,能很好地配合代理服务器工作。还支持管道方式机制,即在同一个TCP连接里面,客户端可以同时发送多个请求,以便降低线路负载,提高传输速度。</p> 
  <h3 id="%EF%BC%884%EF%BC%89HTTP%2F2.0">(4)HTTP/2.0</h3> 
  <p>完全多路复用,在一个连接里,客户端和浏览器都可以同时发送多个请求或回应,而且不用按照顺序一一对应。引入了头信息压缩机制,使用gzip或compress压缩后再发送。支持服务端推送,允许服务器未经请求,主动向客户端发送资源。</p> 
  <h3 id="%EF%BC%885%EF%BC%89HTTP3.0">(5)HTTP3.0</h3> 
  <p> HTTP3.0是协议的第一个完全依赖于QUIC协议而非TCP的版本。 HTTP3.0基于QUIC设计,旨在提高Web性能和安全性。它使用流复用,允许在单个连接上发送多个请求和响应,并默认提供加密。HTTP3.0还具有0-RTT(零往返时间)恢复等功能,可提高重新访问网站时的连接速度,并包括一种请求优先级机制,可以进一步提高Web性能。</p> 
  <h2 id="3.HTTP%20%E6%96%B9%E6%B3%95">3.HTTP 方法</h2> 
  <p>HTTP 支持几种不同的请求命令,这些命令被称为 HTTP 方法(HTTP method)。每条 HTTP 请求报文都包含一个方法, 告诉服务器要执行什么动作,包括:获取一个页面,运行一个网关程序,删除一个文件等。最常用的获取资源的方法是 GET、POST、PUT。</p> 
  <table> 
   <thead> 
    <tr> 
     <th style="text-align:center;">HTTP方法</th> 
     <th style="text-align:center;">描述</th> 
    </tr> 
   </thead> 
   <tbody> 
    <tr> 
     <td style="text-align:center;">GET</td> 
     <td style="text-align:center;">对服务器资源获取的简单请求</td> 
    </tr> 
    <tr> 
     <td style="text-align:center;">PUT</td> 
     <td style="text-align:center;">    向服务器提交数据,以修改数据</td> 
    </tr> 
    <tr> 
     <td style="text-align:center;">DELETE</td> 
     <td style="text-align:center;">删除服务器上的某些资源</td> 
    </tr> 
    <tr> 
     <td style="text-align:center;">POST</td> 
     <td style="text-align:center;">用于发送包含用户提交数据的请求</td> 
    </tr> 
    <tr> 
     <td style="text-align:center;">HEAD</td> 
     <td style="text-align:center;">请求页面的首部,获取资源的元信息</td> 
    </tr> 
   </tbody> 
  </table> 
  <p>(1)GET请求会向数据库发索取数据的请求,从而来获取信息,该请求就像数据库的select操作一样,只是用来查询一下数据,不会修改、增加数据,不会影响资源的内容,即该请求不会产生副作用。无论进行多少次操作,结果都是一样的。</p> 
  <p>(2)与GET不同的是,PUT请求是向服务器端发送数据的,从而改变信息,该请求就像数据库的update操作一样,用来修改数据的内容,但是不会增加数据的种类等,也就是说无论进行多少次PUT操作,其结果并没有不同。</p> 
  <p>(3)POST请求同PUT请求类似,都是向服务器端发送数据的,但是该请求会改变数据的种类等资源,就像数据库的insert操作一样,会创建新的内容。几乎目前所有的提交操作都是用POST请求的。</p> 
  <p>(4)DELETE请求顾名思义,就是用来删除某一个资源的,该请求就像数据库的delete操作</p> 
  <h2 id="%C2%A04.GET%20%E5%92%8C%20POST%C2%A0"> 4.GET 和 POST </h2> 
  <h3 id="%EF%BC%881%EF%BC%89GET">(1)GET</h3> 
  <pre><code>Accept:客户端可以接受的数据类型
Accept-Language:客户端可以接受的语言类型
User-Agent:浏览器的信息
Accpect-Encoding:客户端可以接受的编码格式
Host:表示请求的ip和端口号
Connection:告诉服务器请求连接如何处理 Keep-Alive:通知服务器回传数据不要马上关闭,保持一小段的连接
Closed:马上关闭
</code></pre> 
  <h3 id="%EF%BC%882%EF%BC%89POST">(2)POST</h3> 
  <pre><code>① 请求行
请求的方式
请求的资源路径
请求的协议的版本号

② 请求头

Accept:客户端可以接受的数据类型
Accept-Language:客户端可以接受的语言类型
Referer:表示请求发起时,浏览器地址栏中的地址
User-Agent:浏览器的信息
Content-Type:发送的数据类型
Content-Length:发送的数据长度

③ 请求体:就是发送给服务器的数据
</code></pre> 
  <h3 id="%EF%BC%883%EF%BC%89%C2%A0GET%20%E4%B8%8EPOST%20%E5%8C%BA%E5%88%AB">(3) GET 与POST 区别</h3> 
  <pre><code>●GET 方法:从指定的服务器上获得数据
GET请求能被缓存
GET请求会保存在浏览器的浏览纪录里
GET请求有长度的限制
主要用于获取数据
查询的字符串会显示在URL后缀中,不安全,比如 http://www.test.com/a.php?Id=123 

●POST 方法:提交数据给指定服务器处理
POST请求不能被缓存
POST请求不会保存在浏览器的浏览纪录里
POST请求没有长度限制
查询的字符串不会显示在URL中,比较安全</code></pre> 
  <h2 id="5.HTTP%E7%8A%B6%E6%80%81%E7%A0%81">5.HTTP状态码</h2> 
  <pre><code>当使用浏览器访问某一个URL,会根据处理情况返回相应的处理状态
通常正常的状态码为2xx,3xx(如200)
如果出现异常会返回4xx,5xx(如404)
</code></pre> 
  <table> 
   <thead> 
    <tr> 
     <th style="text-align:center;">状态码首位</th> 
     <th style="text-align:center;">已定义范围</th> 
     <th style="text-align:center;">分类</th> 
    </tr> 
   </thead> 
   <tbody> 
    <tr> 
     <td style="text-align:center;">1xx</td> 
     <td style="text-align:center;">100-101</td> 
     <td style="text-align:center;">信息提示</td> 
    </tr> 
    <tr> 
     <td style="text-align:center;">2xx</td> 
     <td style="text-align:center;">200-206</td> 
     <td style="text-align:center;">成功</td> 
    </tr> 
    <tr> 
     <td style="text-align:center;">3xx</td> 
     <td style="text-align:center;">300-305</td> 
     <td style="text-align:center;">重定向</td> 
    </tr> 
    <tr> 
     <td style="text-align:center;">4xx</td> 
     <td style="text-align:center;">400-415</td> 
     <td style="text-align:center;">客户端错误</td> 
    </tr> 
    <tr> 
     <td style="text-align:center;">5xx</td> 
     <td style="text-align:center;">500-505</td> 
     <td style="text-align:center;">服务器错误</td> 
    </tr> 
   </tbody> 
  </table> 
  <h2 id="6.%E7%94%9F%E4%BA%A7%E7%8E%AF%E5%A2%83%E5%B8%B8%E8%A7%81%E7%9A%84HTTP%E7%8A%B6%E6%80%81%E7%A0%81%C2%A0">6.生产环境常见的HTTP状态码 </h2> 
  <table> 
   <thead> 
    <tr> 
     <th>消息</th> 
     <th>描述</th> 
    </tr> 
   </thead> 
   <tbody> 
    <tr> 
     <td>200 OK</td> 
     <td>请求成功(其后是对GET和POST请求的应答文档)</td> 
    </tr> 
    <tr> 
     <td>301 Moved Permanently</td> 
     <td>请求的永久页面跳转</td> 
    </tr> 
    <tr> 
     <td>403 Forbidden</td> 
     <td>禁止访问该页面</td> 
    </tr> 
    <tr> 
     <td>404 Not Found</td> 
     <td>服务器无法找到被请求的页面</td> 
    </tr> 
    <tr> 
     <td>500 Internal Server Error</td> 
     <td>内部服务器错误</td> 
    </tr> 
    <tr> 
     <td>403 Forbidden</td> 
     <td>禁止访问该页面</td> 
    </tr> 
    <tr> 
     <td>404 Not Found</td> 
     <td>服务器无法找到被请求的页面</td> 
    </tr> 
    <tr> 
     <td>500 Internal Server Error</td> 
     <td>内部服务器错误</td> 
    </tr> 
   </tbody> 
  </table> 
  <h2 id="7.%C2%A0HTTP%20%E8%AF%B7%E6%B1%82%E6%B5%81%E7%A8%8B%E5%88%86%E6%9E%90">7. HTTP 请求流程分析</h2> 
  <p>用户在浏览器输入URL访问时,发起HTTP请求报文,请求中包括请求行、请求头、请求体,服务器收到请求后返回响应报文,包括状态行、响应头、响应体。</p> 
  <ol> 
   <li>客户端通过域名进行访问,先进行DNS域名解析</li> 
   <li>之后客户端请求与web服务器建立TCP连接(三次握手)</li> 
   <li>建立连接后,客户端向web服务器发送一个HTTP请求</li> 
   <li>服务器响应HTTP请求,客户端的浏览器得到HTML代码</li> 
   <li>浏览器解析HTML代码,并请求HTML代码中的资源。(浏览器拿到HTML文件后,开始解析HTML代码,遇到静态资源时,就向服务器去请求下载。)</li> 
   <li>断开TCP连接(四次挥手),浏览器对页面进行渲染呈现给用户 <br>  </li> 
  </ol> 
  <p><a href="http://img.e-com-net.com/image/info8/304f8d343f9c45e2949795c2ca87839d.jpg" target="_blank"><img alt="Web基本与HTTP协议_第3张图片" height="463" src="http://img.e-com-net.com/image/info8/304f8d343f9c45e2949795c2ca87839d.jpg" width="586" style="border:1px solid black;"></a></p> 
  <h3 id="%EF%BC%881%EF%BC%89%C2%A0%E8%AF%B7%E6%B1%82%E6%8A%A5%E6%96%87">(1) 请求报文</h3> 
  <p><strong>请求行</strong>:请求行由请求方法、URL 以及协议版本三部分组成。<br><strong>请求头</strong>:请求头为请求报文添加了一些附加信息,由“名/值”对组成,每行一对,名和值之间使用冒号分隔。<br><strong>空行</strong>:请求头部的最后会有一个空行,表示请求头部结束,接下来为请求体,这一行非常重要,必不可少。<br><strong>请求体</strong>:请求体是请求提交的参数,GET 方法已经在 URL 中指明了参数,所以提交时没有数据。POST 方法提交的参数在请求体中。</p> 
  <h3 id="%E2%80%8B%E7%BC%96%E8%BE%91%EF%BC%882%EF%BC%89%E5%B8%B8%E7%94%A8%E7%9A%84%E8%AF%B7%E6%B1%82%E5%A4%B4"><a href="http://img.e-com-net.com/image/info8/131dbb822446422cb76ed1b87a9e26ea.jpg" target="_blank"><img alt="Web基本与HTTP协议_第4张图片" height="337" src="http://img.e-com-net.com/image/info8/131dbb822446422cb76ed1b87a9e26ea.jpg" width="650" style="border:1px solid black;"></a>(2)常用的请求头</h3> 
  <table border="1"> 
   <tbody> 
    <tr> 
     <td><strong>请求头</strong></td> 
     <td><strong>描述</strong></td> 
    </tr> 
    <tr> 
     <td><strong>Host</strong></td> 
     <td><strong>接受请求的服务器地址,可以是 IP:端口号 ,也可以是域名</strong></td> 
    </tr> 
    <tr> 
     <td><strong>User-Agent</strong></td> 
     <td><strong>发送请求的应用程序名称</strong></td> 
    </tr> 
    <tr> 
     <td><strong>Connection</strong></td> 
     <td><strong>指定与连接相关的属性,如Connection:Keep-Alive</strong></td> 
    </tr> 
    <tr> 
     <td><strong>Accept-Charset</strong></td> 
     <td><strong>通知服务端可以发送的编码格式</strong></td> 
    </tr> 
    <tr> 
     <td><strong>Accept-Encoding</strong></td> 
     <td><strong>通知服务端可以发送的数据压缩格式</strong></td> 
    </tr> 
    <tr> 
     <td><strong>Accept-Language</strong></td> 
     <td><strong>通知服务端可以发送的语言</strong></td> 
    </tr> 
   </tbody> 
  </table> 
  <h3 id="%EF%BC%883%EF%BC%89%E5%93%8D%E5%BA%94%E6%8A%A5%E6%96%87">(3)响应报文</h3> 
  <p><strong>状态行</strong>:状态行由协议版本,状态码,状态码描述三部分组成。<br><strong>响应头</strong>:响应头与请求头部类似,为响应报文添加了一些附加信息。<br><strong>空行</strong>:响应头部的最后会有一个空行,表示响应头部结束。<br><strong>响应体</strong>:服务器返回的相应 HTML 数据,浏览器对其解析后显示页面。</p> 
  <h3 id="%E2%80%8B%E7%BC%96%E8%BE%91"><a href="http://img.e-com-net.com/image/info8/36a97a27e74c401b8c9c2db03f188994.jpg" target="_blank"><img alt="Web基本与HTTP协议_第5张图片" height="279" src="http://img.e-com-net.com/image/info8/36a97a27e74c401b8c9c2db03f188994.jpg" width="650" style="border:1px solid black;"></a></h3> 
  <h3 id="%EF%BC%884%EF%BC%89%E5%B8%B8%E8%A7%81%E5%93%8D%E5%BA%94%E5%A4%B4">(4)常见响应头</h3> 
  <table border="1" style="width:500px;"> 
   <tbody> 
    <tr> 
     <td style="text-align:center;"><strong>响应头</strong></td> 
     <td style="text-align:center;"><strong>    描述</strong></td> 
    </tr> 
    <tr> 
     <td style="text-align:center;"><strong>Server</strong></td> 
     <td style="text-align:center;"><strong>服务器应用程序软件的名称和版本</strong></td> 
    </tr> 
    <tr> 
     <td style="text-align:center;"><strong>Content-Type</strong></td> 
     <td style="text-align:center;"><strong>响应正文的类型(是图片还是二进制字符串)</strong></td> 
    </tr> 
    <tr> 
     <td style="text-align:center;"><strong>Content-Length</strong></td> 
     <td style="text-align:center;"><strong>响应正文长度</strong></td> 
    </tr> 
    <tr> 
     <td style="text-align:center;"><strong>Content-Charset</strong></td> 
     <td style="text-align:center;"><strong>响应正文使用的编码</strong></td> 
    </tr> 
    <tr> 
     <td style="text-align:center;"><strong>Content-Encoding</strong></td> 
     <td style="text-align:center;"><strong>响应正文使用的数据压缩格式</strong></td> 
    </tr> 
    <tr> 
     <td style="text-align:center;"><strong>Content-Language</strong></td> 
     <td style="text-align:center;"><strong>响应正文使用的语言</strong></td> 
    </tr> 
   </tbody> 
  </table> 
  <h1 id="%E6%80%BB%E7%BB%93%EF%BC%9A%E5%B8%B8%E8%A7%81%E7%9A%84%E7%8A%B6%E6%80%81%E7%A0%81%E5%8F%8A%E5%8E%9F%E5%9B%A0">总结:常见的状态码及原因</h1> 
  <p>1xx:信息性状态码,表示服务器已经接收到请求,正在处理中。</p> 
  <ul> 
   <li>100:请求已被服务器接收,继续处理。</li> 
   <li>101:服务器已经理解了客户端的请求,并将通过Upgrade消息头通知客户端采用不同的协议来完成这个请求。例如,将HTTP协议升级为WebSocket协议。</li> 
  </ul> 
  <p>2xx:成功状态码,表示服务器已经成功处理了请求。</p> 
  <ul> 
   <li>200:请求已成功,请求所希望的响应头或数据体将随此响应返回。</li> 
   <li>201:请求已经被成功处理,并创建了新的资源。</li> 
   <li>204:请求已成功处理,但是没有返回任何内容。</li> 
  </ul> 
  <p>3xx:重定向状态码,表示请求需要进一步操作以完成请求。</p> 
  <ul> 
   <li>301:请求的资源已永久移动到新的位置,客户端应该使用新的URL访问。</li> 
   <li>302:请求的资源已临时移动到新的位置,客户端应该使用新的URL访问。</li> 
   <li>304:客户端发送了一个带条件的请求,服务器告诉客户端资源未被修改,可以直接使用缓存的资源。</li> 
  </ul> 
  <p>4xx:客户端错误状态码,表示客户端发送的请求有错误。</p> 
  <ul> 
   <li>400:请求语法错误,服务器无法识别此请求。</li> 
   <li>401:请求未经授权,需要身份验证。</li> 
   <li>403:请求被服务器拒绝,权限不足。</li> 
   <li>404:请求的资源不存在。</li> 
  </ul> 
  <p>5xx:服务器错误状态码,表示服务器处理请求时发生错误。</p> 
  <ul> 
   <li>500:服务器内部错误,无法完成请求。</li> 
   <li>503:服务器暂时无法处理请求,通常是因为服务器过载或正在进行维护。</li> 
  </ul> 
 </div> 
</div>
                            </div>
                        </div>
                    </div>
                    <!--PC和WAP自适应版-->
                    <div id="SOHUCS" sid="1666106654321631232"></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">你可能感兴趣的:(服务器,linux,前端,运维)</h4>
        <div id="paradigm-article-related">
            <div class="recommend-post mb30">
                <ul class="widget-links">
                    <li><a href="/article/1895000030318751744.htm"
                           title="(九)axios的使用" target="_blank">(九)axios的使用</a>
                        <span class="text-muted">李木子wb</span>
<a class="tag" taget="_blank" href="/search/Javascript/1.htm">Javascript</a><a class="tag" taget="_blank" href="/search/%E9%AB%98%E7%BA%A7/1.htm">高级</a><a class="tag" taget="_blank" href="/search/ajax/1.htm">ajax</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a>
                        <div>1、axios的基本使用1.1、简介在Web开发的演进历程中,数据请求方式的变革至关重要。回溯早期,旧浏览器在向服务器请求数据时,存在严重弊端。由于返回的是整个页面数据,每次请求都会导致页面强制刷新,这不仅极大地影响了用户体验,还造成了网络资源的极大浪费。毕竟,多数情况下我们仅仅需要更新页面的部分内容,因此,异步网络请求技术应运而生,Ajax便是其中的典型代表。Ajax(AsynchronousJ</div>
                    </li>
                    <li><a href="/article/1894996502716149760.htm"
                           title="一文搞懂!不同笔记本 SSH 远程连接服务器全攻略" target="_blank">一文搞懂!不同笔记本 SSH 远程连接服务器全攻略</a>
                        <span class="text-muted">a小胡哦</span>
<a class="tag" taget="_blank" href="/search/ssh/1.htm">ssh</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/%E8%BF%90%E7%BB%B4/1.htm">运维</a>
                        <div>在如今数字化办公和开发的大环境下,使用SSH远程连接服务器是很多技术人员必备技能。无论是MacBook、Windows笔记本还是Linux系统的笔记本,掌握SSH远程连接,都能极大提升工作效率。本文将详细介绍不同笔记本使用SSH远程连接服务器的用处、优点以及实用技巧,特别是在数据传输方面。一、SSH远程连接服务器的用处(一)远程管理与操作无需直接在服务器物理终端上操作,通过SSH可以在世界任何角落</div>
                    </li>
                    <li><a href="/article/1894993353209081856.htm"
                           title="VMware安装Kali(虚拟机压缩包)&设置Windbg调试符号" target="_blank">VMware安装Kali(虚拟机压缩包)&设置Windbg调试符号</a>
                        <span class="text-muted">wave_sky</span>
<a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a>
                        <div>下载完成后会得到一个.7z的压缩包:kali-linux-2024.2-vmware-amd64.7z,需要对其进行解压自己找个地方创建一个文件夹(虚拟机目录),将kali-linux-2024.2-vmware-amd64.vmwarevm整个文件夹放进去打开VMware虚拟机:文件->打开,找到kali-linux-2024.2-vmware-amd64.vmwarevm文件夹,选择的文件是.</div>
                    </li>
                    <li><a href="/article/1894990452441018368.htm"
                           title="程序员如何选择操作系统 Mac、Windows还是Linux" target="_blank">程序员如何选择操作系统 Mac、Windows还是Linux</a>
                        <span class="text-muted">开发者每周简报</span>
<a class="tag" taget="_blank" href="/search/windows/1.htm">windows</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/mac/1.htm">mac</a>
                        <div>曾几何时,有一位程序员站在科技的十字路口,面临着职业生涯中最重要的决定:选择哪一个操作系统——Mac、Windows还是Linux。每一个选择都将带来截然不同的后果。程序员知道,选择Windows意味着加入庞大的“Windows集体”,一个由公司控制的用户群体。只要点击“同意”条款,自己便成为了微软计划的一部分。而打开那台崭新的MacBook,表面上看似美好,但实际上是无意识地加入了“苹果教派”,</div>
                    </li>
                    <li><a href="/article/1894983644636835840.htm"
                           title="Windows 基础(一):深入理解Windows,掌握命令行与Shell" target="_blank">Windows 基础(一):深入理解Windows,掌握命令行与Shell</a>
                        <span class="text-muted">vortex5</span>
<a class="tag" taget="_blank" href="/search/%E6%98%9F%E6%B2%B3%E9%A3%9E%E9%9B%AA/1.htm">星河飞雪</a><a class="tag" taget="_blank" href="/search/windows/1.htm">windows</a><a class="tag" taget="_blank" href="/search/%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86/1.htm">基础知识</a><a class="tag" taget="_blank" href="/search/%E7%BB%88%E7%AB%AF/1.htm">终端</a><a class="tag" taget="_blank" href="/search/shell/1.htm">shell</a><a class="tag" taget="_blank" href="/search/%E5%91%BD%E4%BB%A4%E8%A1%8C/1.htm">命令行</a>
                        <div>内容预览≧∀≦ゞWindows基础(一)声明导语一、Windows和Linux的区别二、Windows的ShellShell和终端的区别1.命令提示符(CMD)2.WindowsPowerShell3.WindowsTerminal4.WindowsSubsystemforLinux(WSL)三、Windows常用命令1.文件与目录操作2.文本处理3.系统与网络管理结语Windows基础(一)声明</div>
                    </li>
                    <li><a href="/article/1894979255230590976.htm"
                           title="Svelte 最新中文文档教程(22)—— 自定义元素" target="_blank">Svelte 最新中文文档教程(22)—— 自定义元素</a>
                        <span class="text-muted"></span>

                        <div>前言Svelte,一个语法简洁、入门容易,面向未来的前端框架。从Svelte诞生之初,就备受开发者的喜爱,根据统计,从2019年到2024年,连续6年一直是开发者最感兴趣的前端框架No.1:Svelte以其独特的编译时优化机制著称,具有轻量级、高性能、易上手等特性,非常适合构建轻量级Web项目。为了帮助大家学习Svelte,我同时搭建了Svelte最新的中文文档站点。如果需要进阶学习,也可以入手我</div>
                    </li>
                    <li><a href="/article/1894978493729533952.htm"
                           title="linux常用命令" target="_blank">linux常用命令</a>
                        <span class="text-muted"></span>
<a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a>
                        <div>在Linux系统中,管理Nginx服务(启动、停止、重启)的常用方法有两种:通过systemd服务管理和直接使用Nginx可执行文件命令。以下是具体操作:一、使用systemd服务管理(推荐)如果Nginx是通过包管理器(如apt或yum)安装的,通常已集成systemd服务。1.启动Nginxsudosystemctlstartnginx2.停止Nginxsudosystemctlstopngi</div>
                    </li>
                    <li><a href="/article/1894977987657396224.htm"
                           title="基于oracle linux的 DBI/DBD 标准化安装文档" target="_blank">基于oracle linux的 DBI/DBD 标准化安装文档</a>
                        <span class="text-muted"></span>
<a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a>
                        <div>一、安装DBIDBI(DatabaseInterface)是perl连接数据库的接口。其是perl连接数据库的最优方法,他支持包括Orcale,Sybase,mysql,db2等绝大多数的数据库,下面将简要介绍其安装方法。1.1解压tar-zxvfDBI-1.616_901.tar.gz1.2安装依赖yuminstallperl-ExtUtils-CBuilderperl-ExtUtils-Mak</div>
                    </li>
                    <li><a href="/article/1894975959665274880.htm"
                           title="Linux 永久设置时间" target="_blank">Linux 永久设置时间</a>
                        <span class="text-muted">微风◝</span>
<a class="tag" taget="_blank" href="/search/Linux%E7%B3%BB%E7%BB%9F%E7%AE%A1%E7%90%86/1.htm">Linux系统管理</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a>
                        <div>1,修改Linux时间:date-s'2022-09-1222:00:00'这种方式只是临时修改系统时间,当系统重新启动的时候就会还原。2,hwclock--set--date'2022-09-1222:00:00'这是修改硬件的时间也就是永久性修改Linux的时间[root@localhost~]#hwclock--helpBusyBoxv1.23.1(2016-02-2309:52:57CST</div>
                    </li>
                    <li><a href="/article/1894973437978406912.htm"
                           title="grafa导出数据图标_grafana dashboard的导入导出" target="_blank">grafa导出数据图标_grafana dashboard的导入导出</a>
                        <span class="text-muted">承诺谎言</span>
<a class="tag" taget="_blank" href="/search/grafa%E5%AF%BC%E5%87%BA%E6%95%B0%E6%8D%AE%E5%9B%BE%E6%A0%87/1.htm">grafa导出数据图标</a>
                        <div>grafana的官方提供了很多社区或者官方设置的漂亮的dashboard,地址如下:导入图表大大节省了我们配置监控的时间,非常方便.以linuxhostoverview为例,首先确保telegraf(貌似现在telegraf+influxdb+grafana已经成为了主流,并且这个监控架构支持全windows环境部署)中的配置包含(部分参数请根据系统情况自行修改,这里不是挖坑)如下图:然后下载js</div>
                    </li>
                    <li><a href="/article/1894969028200427520.htm"
                           title="容器基础_搭建Docker-Ce版本(入门篇)" target="_blank">容器基础_搭建Docker-Ce版本(入门篇)</a>
                        <span class="text-muted">琼歌</span>
<a class="tag" taget="_blank" href="/search/%E4%BA%91%E6%9C%8D/1.htm">云服</a><a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a>
                        <div>一、介绍基于docker-ce的一些常见命令二、步骤1、确定服务器版本uname-r说明:保证系统内核版本>=3.102、移除旧版本sudoyumremovedockerdocker-commondocker-selinuxdocker-engine3、安装docker的依赖包sudoyuminstall-yyum-utilsdevice-mapper-persistent-datalvm24、下</div>
                    </li>
                    <li><a href="/article/1894968145312018432.htm"
                           title="linux命令之——xargs" target="_blank">linux命令之——xargs</a>
                        <span class="text-muted">会飞的爱迪生</span>
<a class="tag" taget="_blank" href="/search/linux%E5%91%BD%E4%BB%A4/1.htm">linux命令</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</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/%E8%BF%90%E7%BB%B4/1.htm">运维</a>
                        <div>【实践操作】:1、查找并删除文件[root@Oldboy~]#find/data/*-typef-name"oldboy.txt"/data/oldboy.txt[root@Oldboy~]#find/data/*-typef-name“oldboy.txt”|xargsrm-f2、查找并cp目录[root@Oldboy~]#find/data/*-typed-name"oldboy1"/data</div>
                    </li>
                    <li><a href="/article/1894968145815334912.htm"
                           title="linux命令之——ln" target="_blank">linux命令之——ln</a>
                        <span class="text-muted">会飞的爱迪生</span>
<a class="tag" taget="_blank" href="/search/linux%E5%91%BD%E4%BB%A4/1.htm">linux命令</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/adb/1.htm">adb</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a>
                        <div>区别:软链接:目录和文件都可以做软链接,硬链接:目录不能做硬链接,文件可以做硬链接用法:硬链接:ln源文件目标文件,在目标文件下创建和源文件一样大小的文件(真实存在)软链接:ln-s源文件目标文件【实践操作】:1、创建一个硬链接文件[root@Oldboy~]#mkdiroldboy[root@Oldboy~]#ls-lidoldboy920896drwxr-xr-x.2rootroot4096M</div>
                    </li>
                    <li><a href="/article/1894966381510717440.htm"
                           title="Nginx 的 proxy_pass 使用简介" target="_blank">Nginx 的 proxy_pass 使用简介</a>
                        <span class="text-muted">m0_74825223</span>
<a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0%E8%B7%AF%E7%BA%BF/1.htm">学习路线</a><a class="tag" taget="_blank" href="/search/%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4/1.htm">阿里巴巴</a><a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a>
                        <div>文章目录1.基本概念1.1`proxy_pass`概述1.2语法1.3使用场景2.基本用法2.1HTTP代理2.1.1基本示例2.1.2绝对根路径vs相对路径2.2Stream代理3.高级用法3.1正则匹配3.2变量使用3.3重定向3.4精确匹配3.5`if`语句3.6`limit_except`4.实际案例4.1转发到多个后端服务器4.2转发到不同路径4.3转发到UnixDomainSocket</div>
                    </li>
                    <li><a href="/article/1894964489334353920.htm"
                           title="前端工程化Vue使用Node.js永久设置国内高速npm镜像源" target="_blank">前端工程化Vue使用Node.js永久设置国内高速npm镜像源</a>
                        <span class="text-muted">会撸代码的懒羊羊</span>
<a class="tag" taget="_blank" href="/search/Nginx/1.htm">Nginx</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/node.js/1.htm">node.js</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</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/npm/1.htm">npm</a>
                        <div>前端工程化Vue使用Node.js永久设置国内高速npm镜像源接续上篇错误收录,此篇通过简单配置永久设置国内高速npm镜像源方法1.更换新版镜像清空npm缓存npmcacheclean--force修改回原版镜像源或直接删除配置过的镜像源npmconfigsetregistryhttps://registry.npmjs.org/--删除镜像源npmconfigdeleteregistry更改新版</div>
                    </li>
                    <li><a href="/article/1894963353843986432.htm"
                           title="飘还是不飘?“`“引发的惨案。" target="_blank">飘还是不飘?“`“引发的惨案。</a>
                        <span class="text-muted">dushky</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/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>Failedtoconvertvalueoftype'java.lang.String'torequiredtype'int';Forinputstring:"${page}"当您的后端服务报这个错误时?发生什么?乍一看,什么都没问题。后端服务正常启动,用swagger(Knife4j)测试好着呢。前端也没什么问题,该传的,都传了呀?特别是眼神不太好的,还看不出来'和`的区别。:-)注意前端传参的</div>
                    </li>
                    <li><a href="/article/1894963101296553984.htm"
                           title="‌XPath vs CSS Selector 深度对比" target="_blank">‌XPath vs CSS Selector 深度对比</a>
                        <span class="text-muted">test猿</span>
<a class="tag" taget="_blank" href="/search/css/1.htm">css</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a>
                        <div>‌核心差异总览‌‌对比维度‌‌XPath‌‌CSSSelector‌‌语法复杂度‌较高(需路径表达式)简洁(类似前端开发习惯)‌性能‌较慢(全局遍历)更快(浏览器原生优化)‌文本匹配‌✅支持(contains(text(),'abc'))❌不支持‌轴定位‌✅支持(父级、兄弟等)❌仅支持直接层级(>、+等)‌动态属性处理‌✅灵活(starts-with()等函数)✅有限(^=、$=等部分匹配)‌伪类</div>
                    </li>
                    <li><a href="/article/1894961714059866112.htm"
                           title="Docker、docker-compose常用命令" target="_blank">Docker、docker-compose常用命令</a>
                        <span class="text-muted">珍朱(珠)奶茶</span>
<a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/%E5%AE%B9%E5%99%A8/1.htm">容器</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a>
                        <div>最近很慌的一件事是要在客户的服务器上使用docker容器来部署项目,当时接到这个任务时一脸懵逼,我是谁我在哪;对于还不会docker容器技术的我确实很懵逼,啥也不会;所以最终的结果就是一边学一边部署,从不会到会,到最终上线完成,心情就像是过山车一样,遇到各种问题。好了,废话不多说直接上,这里整理了我在部署时遇到的一些问题,以及在实际部署常用的命令。docker卸载旧版本yumremovedocke</div>
                    </li>
                    <li><a href="/article/1894959949302263808.htm"
                           title="springboot项目统一接口超时机制设计" target="_blank">springboot项目统一接口超时机制设计</a>
                        <span class="text-muted">gooluke</span>
<a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/boot/1.htm">boot</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                        <div>springboot项目统一接口超时机制以及异常捕获设计因为不同的业务接口所需超时时间不同,例如上传或者下载,但是大多数接口都基本可以统一一个超时时间,同时捕获异常,方便上下游子系统设置超时时间能够包住,以及业务可以根据错误码更好地判断做对应的补偿措施,前端展示失败原因主要设计:编写BaseController,提供请求统一入口,线程池提交请求并设置超时时间,超时时间可以自定义,定义一个函数式接口</div>
                    </li>
                    <li><a href="/article/1894951887002726400.htm"
                           title="Nginx的正向与反向代理" target="_blank">Nginx的正向与反向代理</a>
                        <span class="text-muted">yifanghub</span>
<a class="tag" taget="_blank" href="/search/Linux/1.htm">Linux</a><a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a>
                        <div>一、Nginx简介1.什么是NginxNginx(发音为“engine-x”)是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP代理服务器。Nginx是由俄罗斯的IgorSysoev(伊戈尔·赛索耶夫)为解决C10k问题(即同时处理超过10000个客户端连接)而开发的。它以高性能、稳定性、功能丰富和低资源消耗而闻名。它第一个公开版本0.1.0发布于2004年10月4日</div>
                    </li>
                    <li><a href="/article/1894948357919535104.htm"
                           title="数据中心场地设施管理规范—构建安全高效的数字基础设施" target="_blank">数据中心场地设施管理规范—构建安全高效的数字基础设施</a>
                        <span class="text-muted">数据中心运维高级工程师</span>
<a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8/1.htm">安全</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/%E4%BA%91%E8%AE%A1%E7%AE%97/1.htm">云计算</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a>
                        <div>引言:数据中心场地设施管理作为数据中心运营的重要组成部分,涵盖了从基础设施建设到日常运维的全方位工作。其管理质量直接关系到数据中心的可用性、可靠性和经济性。本文将全面探讨数据中心场地设施管理的重要性、目标、适用范围、遵循标准、组织架构及职责、场地设施分类与功能,以及管理要求,旨在为数据中心管理者提供一份实用的管理指南。一、目的数据中心场地设施管理的核心目的是确保数据中心的高效、稳定运行,同时优化资</div>
                    </li>
                    <li><a href="/article/1894948231595487232.htm"
                           title="前端学习Day4 CSS基础笔记" target="_blank">前端学习Day4 CSS基础笔记</a>
                        <span class="text-muted">Yukukiii</span>
<a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a>
                        <div>目标能够说出什么是CSS能够使用CSS基础选择器能够设置字体样式能够设置文本样式能够说出CSS的三种引入方式能够使用Chrome调试工具调试样式CSS:层叠样式表(Cascadingstylesheets)语法:写在head里面p{color:brown;//文字变色font-size:30px;//字变大background-color:blue;//背景色为蓝色width:400px;heig</div>
                    </li>
                    <li><a href="/article/1894947977886232576.htm"
                           title="《从零到全栈:Bootstrap 响应式布局指南》" target="_blank">《从零到全栈:Bootstrap 响应式布局指南》</a>
                        <span class="text-muted">CodeComposer</span>
<a class="tag" taget="_blank" href="/search/bootstrap/1.htm">bootstrap</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/html/1.htm">html</a>
                        <div>一、概念1.Bootstrap是什么?Bootstrap是一个基于HTML、CSS和JavaScript的开源前端框架,主要用于快速构建响应式网页。它是UI库(CSS库),提供了丰富的预定义样式和组件,帮助开发者快速实现美观且功能强大的界面。文档地址:Bootstrap中文文档2.响应式布局响应式布局是一种网页设计方法,使页面能够根据设备屏幕尺寸自动调整布局和样式。核心原理:通过媒体查询(@med</div>
                    </li>
                    <li><a href="/article/1894946335266762752.htm"
                           title="Vite 与 Webpack:性能差异解析" target="_blank">Vite 与 Webpack:性能差异解析</a>
                        <span class="text-muted">阿珊和她的猫</span>
<a class="tag" taget="_blank" href="/search/webpack/1.htm">webpack</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/node.js/1.htm">node.js</a>
                        <div>前端开发工程师、技术日更博主、已过CET6阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1牛客高级专题作者、打造专栏《前端面试必备》、《2024面试高频手撕题》蓝桥云课签约作者、上架课程《Vue.js和Egg.js开发企业级健康管理项目》、《带你从入门到实战全面掌握uni-app》文章目录Vite与Webpack:性能差异解析开发模式下的性能ViteWebpack生产模式下的性能V</div>
                    </li>
                    <li><a href="/article/1894946208951103488.htm"
                           title="nginx 搭建 IPv6 -> IPv4 反向代理服务器" target="_blank">nginx 搭建 IPv6 -> IPv4 反向代理服务器</a>
                        <span class="text-muted">Gerald Kwok</span>
<a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a>
                        <div>背景在实际生产过程中,由于各种原因,我们的在线服务搭建在火山云服务器上,使用火山云包括ECS、CLB、PLB等组件进行网络通信,并且通过专线接受来自某公司内部流量。但是在大概22~23年,某公司要把所有网络流量变为IPv6往下发,火山云的CLB和PLB还不支持IPv6,那我们就面临着断流的风险。经调研和学习,了解到可以通过nginx来搭建一个反向代理服务里,把IPv6的流量转成IPv4往下发,这样</div>
                    </li>
                    <li><a href="/article/1894939909496565760.htm"
                           title="Linux进程相关命令之nvidia-smi" target="_blank">Linux进程相关命令之nvidia-smi</a>
                        <span class="text-muted">find_element_by_id</span>
<a class="tag" taget="_blank" href="/search/linux/1.htm">linux</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/%E8%BF%90%E7%BB%B4/1.htm">运维</a>
                        <div>进程管理命令是进行系统监控和进程管理时的重要工具,常用的进程管理命令有以下几种:ps:查看正在运行的进程top:动态显示正在运行的进程pstree:树状查看正在运行的进程pgrep:用于查找进程nice:更改进程的优先级jobs:显示进程的相关信息bg和fg:将进程调入后台kill:杀死进程在开发机中还有一条特殊的命令nvidia-smi,它是NVIDIA系统管理接口(NVIDIASystemMa</div>
                    </li>
                    <li><a href="/article/1894939531417808896.htm"
                           title="资源池化构想" target="_blank">资源池化构想</a>
                        <span class="text-muted">qq_1572902205</span>
<a class="tag" taget="_blank" href="/search/%E4%B8%AA%E4%BA%BA%E7%AC%94%E8%AE%B0/1.htm">个人笔记</a>
                        <div>实验室模块化使得实验室同类资源聚集,便于维护管理。但实验室仪器更换因仪器聚集而变得困难,这给后期运维带来极大不便,同时闲置资源无法得到及时释放和利用。基于地址池和黑盒构想,若对内将实验室仪器资源池化,对外封装只留接口。则可以最大化的利用有效资源,减少人工维护。</div>
                    </li>
                    <li><a href="/article/1894936505718206464.htm"
                           title="telint 命令介绍和使用案例" target="_blank">telint 命令介绍和使用案例</a>
                        <span class="text-muted">lisanmengmeng</span>
<a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E5%91%BD%E4%BB%A4%E5%B7%A5%E5%85%B7/1.htm">命令工具</a><a class="tag" taget="_blank" href="/search/%E7%B3%BB%E7%BB%9F%E8%BF%90%E7%BB%B4/1.htm">系统运维</a><a class="tag" taget="_blank" href="/search/shell%E7%BC%96%E7%A8%8B/1.htm">shell编程</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a>
                        <div>telint命令介绍和使用案例telinit命令用于切换当前正在运行的Linux系统的运行等级语法telinit[OPTION]...RUNLEVELRUNLEVEL参数应该是多用户运行级别2-5之一,0用于停止系统,6用于重新启动系统,或1用于使系统进入单用户模式.选项-t:指定等待的秒数.-e键=值:这指定了与RUNLEVEL和PREVLEVEL一起包含在事件中的附加环境变量使用案例切换当前正</div>
                    </li>
                    <li><a href="/article/1894929701789560832.htm"
                           title="Python多环境管理" target="_blank">Python多环境管理</a>
                        <span class="text-muted">JoyceLiu_Ronghua</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>这里介绍两种常用的环境管理。第一种,利用python内置的venv创建。创建环境:Linux:python3-mvenv/path/to/new/virtual/environmentwindow:python-mvenvD:\py\my_env激活环境:my_venv\Scripts\activate激活后,前面会显示环境名称(my_env)D:\py\my_env\Scripts\>pipin</div>
                    </li>
                    <li><a href="/article/1894928944709300224.htm"
                           title="nginx正向代理与反向代理" target="_blank">nginx正向代理与反向代理</a>
                        <span class="text-muted">a1denzzz</span>
<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/%E7%BD%91%E7%BB%9C/1.htm">网络</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a>
                        <div>一、正向代理与反向代理正向代理正向代理代理的是客户端。客户端设备要访问局域网以外的Internet时,需在客户端浏览器中配置代理服务器,然后通过代理服务器来进行访问,将访问到的局域网以外的Internet网站内容返回给客户端,而不是通过局域网中的客户端设备直接访问。正向代理的用途访问原来无法访问的资源;可做缓存,加速访问资源;对客户端访问授权,上网进行认证;代理可以记录用户访问记录等,且对外隐藏用</div>
                    </li>
                                <li><a href="/article/48.htm"
                                       title="开发者关心的那些事" target="_blank">开发者关心的那些事</a>
                                    <span class="text-muted">圣子足道</span>
<a class="tag" taget="_blank" href="/search/ios/1.htm">ios</a><a class="tag" taget="_blank" href="/search/%E6%B8%B8%E6%88%8F/1.htm">游戏</a><a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B/1.htm">编程</a><a class="tag" taget="_blank" href="/search/apple/1.htm">apple</a><a class="tag" taget="_blank" href="/search/%E6%94%AF%E4%BB%98/1.htm">支付</a>
                                    <div>我要在app里添加IAP,必须要注册自己的产品标识符(product identifiers)。产品标识符是什么? 
产品标识符(Product Identifiers)是一串字符串,它用来识别你在应用内贩卖的每件商品。App Store用产品标识符来检索产品信息,标识符只能包含大小写字母(A-Z)、数字(0-9)、下划线(-)、以及圆点(.)。你可以任意排列这些元素,但我们建议你创建标识符时使用</div>
                                </li>
                                <li><a href="/article/175.htm"
                                       title="负载均衡器技术Nginx和F5的优缺点对比" target="_blank">负载均衡器技术Nginx和F5的优缺点对比</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/F5/1.htm">F5</a>
                                    <div>        对于数据流量过大的网络中,往往单一设备无法承担,需要多台设备进行数据分流,而负载均衡器就是用来将数据分流到多台设备的一个转发器。 
        目前有许多不同的负载均衡技术用以满足不同的应用需求,如软/硬件负载均衡、本地/全局负载均衡、更高</div>
                                </li>
                                <li><a href="/article/302.htm"
                                       title="LeetCode[Math] - #9 Palindrome Number" target="_blank">LeetCode[Math] - #9 Palindrome Number</a>
                                    <span class="text-muted">Cwind</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/Algorithm/1.htm">Algorithm</a><a class="tag" taget="_blank" href="/search/%E9%A2%98%E8%A7%A3/1.htm">题解</a><a class="tag" taget="_blank" href="/search/LeetCode/1.htm">LeetCode</a><a class="tag" taget="_blank" href="/search/Math/1.htm">Math</a>
                                    <div>原题链接:#9 Palindrome Number 
  
要求: 
判断一个整数是否是回文数,不要使用额外的存储空间 
  
难度:简单 
  
分析: 
题目限制不允许使用额外的存储空间应指不允许使用O(n)的内存空间,O(1)的内存用于存储中间结果是可以接受的。于是考虑将该整型数反转,然后与原数字进行比较。 
注:没有看到有关负数是否可以是回文数的明确结论,例如</div>
                                </li>
                                <li><a href="/article/429.htm"
                                       title="画图板的基本实现" target="_blank">画图板的基本实现</a>
                                    <span class="text-muted">15700786134</span>
<a class="tag" taget="_blank" href="/search/%E7%94%BB%E5%9B%BE%E6%9D%BF/1.htm">画图板</a>
                                    <div> 要实现画图板的基本功能,除了在qq登陆界面中用到的组件和方法外,还需要添加鼠标监听器,和接口实现。 
首先,需要显示一个JFrame界面: 
public class DrameFrame extends JFrame {              //显示</div>
                                </li>
                                <li><a href="/article/556.htm"
                                       title="linux的ps命令" target="_blank">linux的ps命令</a>
                                    <span class="text-muted">被触发</span>
<a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a>
                                    <div>Linux中的ps命令是Process Status的缩写。ps命令用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。 
要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而 ps 命令就是最基本同时也是非常强大的进程查看命令。使用该命令可以确定有哪些进程正在运行</div>
                                </li>
                                <li><a href="/article/683.htm"
                                       title="Android 音乐播放器 下一曲 连续跳几首歌" target="_blank">Android 音乐播放器 下一曲 连续跳几首歌</a>
                                    <span class="text-muted">肆无忌惮_</span>
<a class="tag" taget="_blank" href="/search/android/1.htm">android</a>
                                    <div>最近在写安卓音乐播放器的时候遇到个问题。在MediaPlayer播放结束时会回调 
player.setOnCompletionListener(new OnCompletionListener() {

			@Override
			public void onCompletion(MediaPlayer mp) {
				mp.reset();
				Log.i("H</div>
                                </li>
                                <li><a href="/article/810.htm"
                                       title="java导出txt文件的例子" target="_blank">java导出txt文件的例子</a>
                                    <span class="text-muted">知了ing</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/servlet/1.htm">servlet</a>
                                    <div>代码很简单就一个servlet,如下: 
 
package com.eastcom.servlet;

import java.io.BufferedOutputStream;
import java.io.IOException;
import java.net.URLEncoder;
import java.sql.Connection;
import java.sql.Resu</div>
                                </li>
                                <li><a href="/article/937.htm"
                                       title="Scala stack试玩, 提高第三方依赖下载速度" target="_blank">Scala stack试玩, 提高第三方依赖下载速度</a>
                                    <span class="text-muted">矮蛋蛋</span>
<a class="tag" taget="_blank" href="/search/scala/1.htm">scala</a><a class="tag" taget="_blank" href="/search/sbt/1.htm">sbt</a>
                                    <div>原文地址: 
http://segmentfault.com/a/1190000002894524 
sbt下载速度实在是惨不忍睹, 需要做些配置优化 
 
下载typesafe离线包, 保存为ivy本地库 
 
wget http://downloads.typesafe.com/typesafe-activator/1.3.4/typesafe-activator-1.3.4.zip 
解压r</div>
                                </li>
                                <li><a href="/article/1064.htm"
                                       title="phantomjs安装(linux,附带环境变量设置) ,以及casperjs安装。" target="_blank">phantomjs安装(linux,附带环境变量设置) ,以及casperjs安装。</a>
                                    <span class="text-muted">alleni123</span>
<a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/spider/1.htm">spider</a>
                                    <div>1. 首先从官网 
http://phantomjs.org/下载phantomjs压缩包,解压缩到/root/phantomjs文件夹。 
 
2. 安装依赖 
 
sudo yum install fontconfig freetype libfreetype.so.6 libfontconfig.so.1 libstdc++.so.6 
 
3. 配置环境变量 
vi /etc/profil</div>
                                </li>
                                <li><a href="/article/1191.htm"
                                       title="JAVA IO FileInputStream和FileOutputStream,字节流的打包输出" target="_blank">JAVA IO FileInputStream和FileOutputStream,字节流的打包输出</a>
                                    <span class="text-muted">百合不是茶</span>
<a class="tag" taget="_blank" href="/search/java%E6%A0%B8%E5%BF%83%E6%80%9D%E6%83%B3/1.htm">java核心思想</a><a class="tag" taget="_blank" href="/search/JAVA+IO%E6%93%8D%E4%BD%9C/1.htm">JAVA IO操作</a><a class="tag" taget="_blank" href="/search/%E5%AD%97%E8%8A%82%E6%B5%81/1.htm">字节流</a>
                                    <div>在程序设计语言中,数据的保存是基本,如果某程序语言不能保存数据那么该语言是不可能存在的,JAVA是当今最流行的面向对象设计语言之一,在保存数据中也有自己独特的一面,字节流和字符流 
1,字节流是由字节构成的,字符流是由字符构成的 字节流和字符流都是继承的InputStream和OutPutStream ,java中两种最基本的就是字节流和字符流 
  
类 FileInputStream</div>
                                </li>
                                <li><a href="/article/1318.htm"
                                       title="Spring基础实例(依赖注入和控制反转)" target="_blank">Spring基础实例(依赖注入和控制反转)</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a>
                                    <div>前提条件:在http://www.springsource.org/download网站上下载Spring框架,并将spring.jar、log4j-1.2.15.jar、commons-logging.jar加载至工程1.武器接口 
package com.bijian.spring.base3;

public interface Weapon {

   
    void kil</div>
                                </li>
                                <li><a href="/article/1445.htm"
                                       title="HR看重的十大技能" target="_blank">HR看重的十大技能</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/%E6%8F%90%E5%8D%87/1.htm">提升</a><a class="tag" taget="_blank" href="/search/%E8%83%BD%E5%8A%9B/1.htm">能力</a><a class="tag" taget="_blank" href="/search/HR/1.htm">HR</a><a class="tag" taget="_blank" href="/search/%E6%88%90%E9%95%BF/1.htm">成长</a>
                                    <div>    一个人掌握何种技能取决于他的兴趣、能力和聪明程度,也取决于他所能支配的资源以及制定的事业目标,拥有过硬技能的人有更多的工作机会。但是,由于经济发展前景不确定,掌握对你的事业有所帮助的技能显得尤为重要。以下是最受雇主欢迎的十种技能。   一、解决问题的能力   每天,我们都要在生活和工作中解决一些综合性的问题。那些能够发现问题、解决问题并迅速作出有效决</div>
                                </li>
                                <li><a href="/article/1572.htm"
                                       title="【Thrift一】Thrift编译安装" target="_blank">【Thrift一】Thrift编译安装</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/thrift/1.htm">thrift</a>
                                    <div>什么是Thrift 
The Apache Thrift software framework, for scalable cross-language services development, combines a software stack with a code generation engine to build services that work efficiently and s</div>
                                </li>
                                <li><a href="/article/1699.htm"
                                       title="【Avro三】Hadoop MapReduce读写Avro文件" target="_blank">【Avro三】Hadoop MapReduce读写Avro文件</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/mapreduce/1.htm">mapreduce</a>
                                    <div>Avro是Doug Cutting(此人绝对是神一般的存在)牵头开发的。 开发之初就是围绕着完善Hadoop生态系统的数据处理而开展的(使用Avro作为Hadoop MapReduce需要处理数据序列化和反序列化的场景),因此Hadoop MapReduce集成Avro也就是自然而然的事情。 
这个例子是一个简单的Hadoop MapReduce读取Avro格式的源文件进行计数统计,然后将计算结果</div>
                                </li>
                                <li><a href="/article/1826.htm"
                                       title="nginx定制500,502,503,504页面" target="_blank">nginx定制500,502,503,504页面</a>
                                    <span class="text-muted">ronin47</span>
<a class="tag" taget="_blank" href="/search/nginx%E3%80%80%E9%94%99%E8%AF%AF%E6%98%BE%E7%A4%BA/1.htm">nginx 错误显示</a>
                                    <div>server {
     listen 80;
     error_page  500/500.html;
     error_page  502/502.html;
     error_page  503/503.html;
     error_page  504/504.html;

     location /test {return502;}} 
配置很简单,和配</div>
                                </li>
                                <li><a href="/article/1953.htm"
                                       title="java-1.二叉查找树转为双向链表" target="_blank">java-1.二叉查找树转为双向链表</a>
                                    <span class="text-muted">bylijinnan</span>
<a class="tag" taget="_blank" href="/search/%E4%BA%8C%E5%8F%89%E6%9F%A5%E6%89%BE%E6%A0%91/1.htm">二叉查找树</a>
                                    <div>
import java.util.ArrayList;
import java.util.List;


public class BSTreeToLinkedList {
	
	/*
把二元查找树转变成排序的双向链表
题目:
输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。
要求不能创建任何新的结点,只调整指针的指向。
10
/ \
6 14
/ \ </div>
                                </li>
                                <li><a href="/article/2080.htm"
                                       title="Netty源码学习-HTTP-tunnel" target="_blank">Netty源码学习-HTTP-tunnel</a>
                                    <span class="text-muted">bylijinnan</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/netty/1.htm">netty</a>
                                    <div>Netty关于HTTP tunnel的说明: 
 
http://docs.jboss.org/netty/3.2/api/org/jboss/netty/channel/socket/http/package-summary.html#package_description 
 
这个说明有点太简略了 
 
一个完整的例子在这里: 
 
https://github.com/bylijinnan</div>
                                </li>
                                <li><a href="/article/2207.htm"
                                       title="JSONUtil.serialize(map)和JSON.toJSONString(map)的区别" target="_blank">JSONUtil.serialize(map)和JSON.toJSONString(map)的区别</a>
                                    <span class="text-muted">coder_xpf</span>
<a class="tag" taget="_blank" href="/search/jquery/1.htm">jquery</a><a class="tag" taget="_blank" href="/search/json/1.htm">json</a><a class="tag" taget="_blank" href="/search/map/1.htm">map</a><a class="tag" taget="_blank" href="/search/val%28%29/1.htm">val()</a>
                                    <div> JSONUtil.serialize(map)和JSON.toJSONString(map)的区别 
  
数据库查询出来的map有一个字段为空 
  
通过System.out.println()输出  JSONUtil.serialize(map): {"one":"1","two":"nul</div>
                                </li>
                                <li><a href="/article/2334.htm"
                                       title="Hibernate缓存总结" target="_blank">Hibernate缓存总结</a>
                                    <span class="text-muted">cuishikuan</span>
<a class="tag" taget="_blank" href="/search/%E5%BC%80%E6%BA%90/1.htm">开源</a><a class="tag" taget="_blank" href="/search/ssh/1.htm">ssh</a><a class="tag" taget="_blank" href="/search/javaweb/1.htm">javaweb</a><a class="tag" taget="_blank" href="/search/hibernate%E7%BC%93%E5%AD%98/1.htm">hibernate缓存</a><a class="tag" taget="_blank" href="/search/%E4%B8%89%E5%A4%A7%E6%A1%86%E6%9E%B6/1.htm">三大框架</a>
                                    <div>一、为什么要用Hibernate缓存? 
Hibernate是一个持久层框架,经常访问物理数据库。 
为了降低应用程序对物理数据源访问的频次,从而提高应用程序的运行性能。 
缓存内的数据是对物理数据源中的数据的复制,应用程序在运行时从缓存读写数据,在特定的时刻或事件会同步缓存和物理数据源的数据。 
  
二、Hibernate缓存原理是怎样的? 
Hibernate缓存包括两大类:Hib</div>
                                </li>
                                <li><a href="/article/2461.htm"
                                       title="CentOs6" target="_blank">CentOs6</a>
                                    <span class="text-muted">dalan_123</span>
<a class="tag" taget="_blank" href="/search/centos/1.htm">centos</a>
                                    <div>首先su - 切换到root下面1、首先要先安装GCC GCC-C++ Openssl等以来模块:yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel2、再安装ncurses模块yum -y install ncurses-develyum install ncurses-devel3、下载Erang</div>
                                </li>
                                <li><a href="/article/2588.htm"
                                       title="10款用 jquery 实现滚动条至页面底端自动加载数据效果" target="_blank">10款用 jquery 实现滚动条至页面底端自动加载数据效果</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a>
                                    <div>  
无限滚动自动翻页可以说是web2.0时代的一项堪称伟大的技术,它让我们在浏览页面的时候只需要把滚动条拉到网页底部就能自动显示下一页的结果,改变了一直以来只能通过点击下一页来翻页这种常规做法。 
无限滚动自动翻页技术的鼻祖是微博的先驱:推特(twitter),后来必应图片搜索、谷歌图片搜索、google reader、箱包批发网等纷纷抄袭了这一项技术,于是靠滚动浏览器滚动条</div>
                                </li>
                                <li><a href="/article/2715.htm"
                                       title="ImageButton去边框&Button或者ImageButton的背景透明" target="_blank">ImageButton去边框&Button或者ImageButton的背景透明</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/imagebutton/1.htm">imagebutton</a>
                                    <div>在ImageButton中载入图片后,很多人会觉得有图片周围的白边会影响到美观,其实解决这个问题有两种方法 
一种方法是将ImageButton的背景改为所需要的图片。如:android:background="@drawable/XXX" 
第二种方法就是将ImageButton背景改为透明,这个方法更常用 
在XML里; 
   <ImageBut</div>
                                </li>
                                <li><a href="/article/2842.htm"
                                       title="JSP之c:foreach" target="_blank">JSP之c:foreach</a>
                                    <span class="text-muted">eksliang</span>
<a class="tag" taget="_blank" href="/search/jsp/1.htm">jsp</a><a class="tag" taget="_blank" href="/search/forearch/1.htm">forearch</a>
                                    <div>原文出自:http://www.cnblogs.com/draem0507/archive/2012/09/24/2699745.html 
<c:forEach>标签用于通用数据循环,它有以下属性    属 性 描 述 是否必须 缺省值   items 进行循环的项目 否 无   begin 开始条件 否 0   end 结束条件 否 集合中的最后一个项目   step 步长 否 1</div>
                                </li>
                                <li><a href="/article/2969.htm"
                                       title="Android实现主动连接蓝牙耳机" target="_blank">Android实现主动连接蓝牙耳机</a>
                                    <span class="text-muted">gqdy365</span>
<a class="tag" taget="_blank" href="/search/android/1.htm">android</a>
                                    <div>在Android程序中可以实现自动扫描蓝牙、配对蓝牙、建立数据通道。蓝牙分不同类型,这篇文字只讨论如何与蓝牙耳机连接。 
大致可以分三步: 
 
一、扫描蓝牙设备: 
1、注册并监听广播: 
 

BluetoothAdapter.ACTION_DISCOVERY_STARTED
BluetoothDevice.ACTION_FOUND
BluetoothAdapter.ACTION_DIS</div>
                                </li>
                                <li><a href="/article/3096.htm"
                                       title="android学习轨迹之四:org.json.JSONException: No value for" target="_blank">android学习轨迹之四:org.json.JSONException: No value for</a>
                                    <span class="text-muted">hyz301</span>
<a class="tag" taget="_blank" href="/search/json/1.htm">json</a>
                                    <div>org.json.JSONException: No value for items  
在JSON解析中会遇到一种错误,很常见的错误 
  
06-21 12:19:08.714    2098-2127/com.jikexueyuan.secret I/System.out﹕ Result:{"status":1,"page":1,&</div>
                                </li>
                                <li><a href="/article/3223.htm"
                                       title="干货分享:从零开始学编程 系列汇总" target="_blank">干货分享:从零开始学编程 系列汇总</a>
                                    <span class="text-muted">justjavac</span>
<a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B/1.htm">编程</a>
                                    <div>程序员总爱重新发明轮子,于是做了要给轮子汇总。 
 
  从零开始写个编译器吧系列 (知乎专栏)  
  从零开始写一个简单的操作系统 (伯乐在线)  
  从零开始写JavaScript框架 (图灵社区)  
  从零开始写jQuery框架 (蓝色理想 )  
  从零开始nodejs系列文章 (粉丝日志)  
  从零开始编写网络游戏 </div>
                                </li>
                                <li><a href="/article/3350.htm"
                                       title="jquery-autocomplete 使用手册" target="_blank">jquery-autocomplete 使用手册</a>
                                    <span class="text-muted">macroli</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/%E8%84%9A%E6%9C%AC/1.htm">脚本</a>
                                    <div>jquery-autocomplete学习 
一、用前必备 
官方网站:http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/  
当前版本:1.1 
需要JQuery版本:1.2.6 
二、使用 
<script src="./jquery-1.3.2.js" type="text/ja</div>
                                </li>
                                <li><a href="/article/3477.htm"
                                       title="PLSQL-Developer或者Navicat等工具连接远程oracle数据库的详细配置以及数据库编码的修改" target="_blank">PLSQL-Developer或者Navicat等工具连接远程oracle数据库的详细配置以及数据库编码的修改</a>
                                    <span class="text-muted">超声波</span>
<a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/plsql/1.htm">plsql</a>
                                    <div>  在服务器上将Oracle安装好之后接下来要做的就是通过本地机器来远程连接服务器端的oracle数据库,常用的客户端连接工具就是PLSQL-Developer或者Navicat这些工具了。刚开始也是各种报错,什么TNS:no listener;TNS:lost connection;TNS:target hosts...花了一天的时间终于让PLSQL-Developer和Navicat等这些客户</div>
                                </li>
                                <li><a href="/article/3604.htm"
                                       title="数据仓库数据模型之:极限存储--历史拉链表" target="_blank">数据仓库数据模型之:极限存储--历史拉链表</a>
                                    <span class="text-muted">superlxw1234</span>
<a class="tag" taget="_blank" href="/search/%E6%9E%81%E9%99%90%E5%AD%98%E5%82%A8/1.htm">极限存储</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E4%BB%93%E5%BA%93/1.htm">数据仓库</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E6%A8%A1%E5%9E%8B/1.htm">数据模型</a><a class="tag" taget="_blank" href="/search/%E6%8B%89%E9%93%BE%E5%8E%86%E5%8F%B2%E8%A1%A8/1.htm">拉链历史表</a>
                                    <div>在数据仓库的数据模型设计过程中,经常会遇到这样的需求: 
 1. 数据量比较大; 2. 表中的部分字段会被update,如用户的地址,产品的描述信息,订单的状态等等; 3. 需要查看某一个时间点或者时间段的历史快照信息,比如,查看某一个订单在历史某一个时间点的状态,    比如,查看某一个用户在过去某一段时间内,更新过几次等等; 4. 变化的比例和频率不是很大,比如,总共有10</div>
                                </li>
                                <li><a href="/article/3731.htm"
                                       title="10点睛Spring MVC4.1-全局异常处理" target="_blank">10点睛Spring MVC4.1-全局异常处理</a>
                                    <span class="text-muted">wiselyman</span>
<a class="tag" taget="_blank" href="/search/spring+mvc/1.htm">spring mvc</a>
                                    <div>10.1 全局异常处理 
 
 使用@ControllerAdvice注解来实现全局异常处理; 
 使用@ControllerAdvice的属性缩小处理范围 
  
10.2 演示 
 
 演示控制器 
  
package com.wisely.web;

import org.springframework.stereotype.Controller;
import org.spring</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>