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/1904081897898700800.htm"
                           title="Java Panama 项目:Java 与 AI 的融合" target="_blank">Java Panama 项目:Java 与 AI 的融合</a>
                        <span class="text-muted">AI天才研究院</span>
<a class="tag" taget="_blank" href="/search/%E8%AE%A1%E7%AE%97/1.htm">计算</a><a class="tag" taget="_blank" href="/search/Java%E5%AE%9E%E6%88%98/1.htm">Java实战</a><a class="tag" taget="_blank" href="/search/DeepSeek/1.htm">DeepSeek</a><a class="tag" taget="_blank" href="/search/R1/1.htm">R1</a><a class="tag" taget="_blank" href="/search/%26amp%3B/1.htm">&</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AEAI%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD%E5%A4%A7%E6%A8%A1%E5%9E%8B/1.htm">大数据AI人工智能大模型</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/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a>
                        <div>JavaPanama项目:Java与AI的融合Java在AI领域的优势Java在AI领域的优势主要体现在以下几个方面:强大的生态系统:Java拥有丰富的库和框架,为AI开发提供了坚实的基础。跨平台性:Java的“一次编写,到处运行”特性,降低了AI应用的运维成本。高性能与稳定性:Java虚拟机(JVM)的优化和垃圾回收机制,确保了AI应用的高效运行和内存管理。实时数据处理能力:Java可以高效处理</div>
                    </li>
                    <li><a href="/article/1904081771423657984.htm"
                           title="Windows操作系统部署Tomcat详细讲解" target="_blank">Windows操作系统部署Tomcat详细讲解</a>
                        <span class="text-muted">web15085415935</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/windows/1.htm">windows</a><a class="tag" taget="_blank" href="/search/tomcat/1.htm">tomcat</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                        <div>Tomcat是一个开源的JavaServlet容器,用于处理JavaWeb应用程序的请求和响应。以下是关于Tomcat的用法大全:一、安装Tomcat下载访问ApacheTomcat官方网站(https://tomcat.apache.org/),根据你的操作系统(如Windows、Linux、macOS)和需求选择合适的版本进行下载。例如,对于开发环境,通常选择较新的稳定版本。安装(以Windo</div>
                    </li>
                    <li><a href="/article/1904081389494530048.htm"
                           title="Linux第零节:Linux命令速查图表(按功能分类)" target="_blank">Linux第零节:Linux命令速查图表(按功能分类)</a>
                        <span class="text-muted">熊峰峰</span>
<a class="tag" taget="_blank" href="/search/5.Linux/1.htm">5.Linux</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/php/1.htm">php</a>
                        <div>Linux命令速查图表(按功能分类)思维导图示意Linux命令文件操作权限管理系统管理网络操作文本处理压缩归档ls/cd/pwdmkdir/rm/cpcat/less/findchmodchownps/top/killshutdown/unamecurl/netstatnc/tcpdumpgrep/awk/sedtar/zip/unzip一、文件与目录操作命令功能描述常用选项示例ls列出目录内容-</div>
                    </li>
                    <li><a href="/article/1904073749683040256.htm"
                           title="腾讯面经,有点难度~" target="_blank">腾讯面经,有点难度~</a>
                        <span class="text-muted"></span>
<a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AFgo/1.htm">后端go</a>
                        <div>今天分享组织内的朋友在腾讯安全的实习面经。内容涵盖了QPS测试方法、SQL聚合查询、Linux进程管理、Redis数据结构与持久化、NAT原理、Docker隔离机制、Go语言GMP调度模型、协程控制、系统调用流程、变量逃逸分析及map操作等等知识点。下面是我整理的面经详解:面经详解一个表,里面有数据列,id,name,class,查学生最喜欢的前10个课程,sql语句实现SELECTclass,C</div>
                    </li>
                    <li><a href="/article/1904072478037176320.htm"
                           title="内网IP地址SSL证书申请指南" target="_blank">内网IP地址SSL证书申请指南</a>
                        <span class="text-muted"></span>
<a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8/1.htm">安全</a>
                        <div>SSL/TLS证书是保障网站和服务安全的重要工具,能够加密数据传输并验证服务器身份。然而,对于局域网/内网IP地址而言,申请SSL证书的过程具有一定的特殊性,以下是一份详细的攻略:一、了解局域网/内网IP地址的特殊性唯一性问题:局域网/内网IP地址在内部网络中可能具有唯一性,但在整个互联网中并不唯一。访问限制:局域网/内网IP地址通常只能在内部网络中访问,无法从外部网络直接访问。二、选择证书颁发机</div>
                    </li>
                    <li><a href="/article/1904069953288466432.htm"
                           title="云智慧:拥抱AI算法驱动的智能运维服务创新引擎" target="_blank">云智慧:拥抱AI算法驱动的智能运维服务创新引擎</a>
                        <span class="text-muted"></span>

                        <div>随着信息化、数字化、智能化的加码,企业对人工智能、大数据等技术应用呈现出明显兴趣,海笔研究对国内中型规模企业调研表明,在2020年,54.1%的企业选择购买人工智能类应用,41.9%的企业选择购买大数据及BI类应用,各类产品软件的应用大幅提升了企业信息系统复杂度,以及运维管理难度。业务发展催生服务需求从系统管理者角度出发,信息系统从“单机Excel表格”到“集中式单系统”再到“微服务、云架构”等,</div>
                    </li>
                    <li><a href="/article/1904063111523004416.htm"
                           title="文件的基本的基本属性" target="_blank">文件的基本的基本属性</a>
                        <span class="text-muted">伶星37</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>
                        <div>为什么要有基本属性Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。例子你可以把Linux比作成一个学校,里面的人学生老师校长里面的资料课本学校档案老师个人备案资料学生只能看课本,其他的都不能看,而老师,可以看老师备案资料和课本。校长上面都可以看。在Linux中我们通常使</div>
                    </li>
                    <li><a href="/article/1904061725074845696.htm"
                           title="服务器负载均衡是什么意思?" target="_blank">服务器负载均衡是什么意思?</a>
                        <span class="text-muted">lddfff_3a</span>
<a class="tag" taget="_blank" href="/search/%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1/1.htm">负载均衡</a>
                        <div>什么是负载均衡?负载均衡是由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,都可以单独对外供应效力而无须其他服务器的辅助。经过某种负载分管技术,将外部发送来的央求均匀分配到对称结构中的某一台服务器上,而接收到央求的服务器独登时回应客户的央求。均衡负载可以平均分配客户央求到服务器列阵,籍此供应快速获取重要数据,解决很多并发访问效力问题。这种群集技术可以用最少的出资取得接近于大型</div>
                    </li>
                    <li><a href="/article/1904060716667695104.htm"
                           title="MongoDB实战-生产环境中分片的部署与配置" target="_blank">MongoDB实战-生产环境中分片的部署与配置</a>
                        <span class="text-muted">perfecttshoot</span>
<a class="tag" taget="_blank" href="/search/MongoDB/1.htm">MongoDB</a><a class="tag" taget="_blank" href="/search/%E9%83%A8%E7%BD%B2/1.htm">部署</a><a class="tag" taget="_blank" href="/search/%E9%85%8D%E7%BD%AE/1.htm">配置</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E7%89%87%E9%9B%86%E7%BE%A4/1.htm">分片集群</a><a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a>
                        <div>在生产环境里部署分片集群时,面前会出现很多选择和挑战。下面会介绍几个推荐的拓扑结构。1.部署拓扑要运行示例MongoDB分片集群,你一共要启动九个进程(每个副本集三个mongod,外加三个配置服务器)。咋一看,这个数字有点吓人。一开始用户会假设在生产环境里运行两个分片集群要有九台独立的机器。幸运的是,实际需要的机器要少很多,看一下集群中各组件所要求的资源就知道为什么了。首先考虑下副本集,每个成员都</div>
                    </li>
                    <li><a href="/article/1904059329728802816.htm"
                           title="前端vscode中好用的scss插件推荐" target="_blank">前端vscode中好用的scss插件推荐</a>
                        <span class="text-muted">熊宝王</span>
<a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/vscode/1.htm">vscode</a><a class="tag" taget="_blank" href="/search/scss/1.htm">scss</a>
                        <div>一、LiveSassCompilerLiveSassCompiler是VisualStudioCode(VSCode)中非常流行的一个插件,用于将Sass/SCSS文件实时编译为标准的CSS文件。Sass(SyntacticallyAwesomeStyleSheets)是一种CSS预处理器,提供了变量、嵌套、混合(Mixins)、继承等强大功能,而LiveSassCompiler插件可以帮助开发者</div>
                    </li>
                    <li><a href="/article/1904059330253090816.htm"
                           title="Nginx多台服务器负载均衡" target="_blank">Nginx多台服务器负载均衡</a>
                        <span class="text-muted">PS测</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/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1/1.htm">负载均衡</a>
                        <div>一操作步骤:1.服务器IP45.114.124.215//主服务器(安装Nginx)45.114.124.99//从服务器(安装Nginx或Apache都可以)2.保证2台服务器网络互通3.在2台服务器上设置不同页面方便验证3.1在主服务器添加一个可以访问的站点3.2在次服务器添加一个站点,端口必须是主服务器在nginx指定给次服务器的端口4.在主服务器45.114.124.215安装Nginx,</div>
                    </li>
                    <li><a href="/article/1904059076980043776.htm"
                           title="2.服务器负载均衡" target="_blank">2.服务器负载均衡</a>
                        <span class="text-muted">我是一条胖咸鱼</span>
<a class="tag" taget="_blank" href="/search/%E5%8D%8E%E4%B8%BA%E5%AE%89%E5%85%A8HCIP/1.htm">华为安全HCIP</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</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/%E5%AE%89%E5%85%A8/1.htm">安全</a><a class="tag" taget="_blank" href="/search/%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1/1.htm">负载均衡</a><a class="tag" taget="_blank" href="/search/%E5%8D%8E%E4%B8%BA/1.htm">华为</a>
                        <div>1.服务器负载均衡概述负载均衡基本概念实服务器:处理业务流量的实体服务器,客户端发送的服务请求最终是由实服务器处理的。实服务器组:由多个实服务器组成的集群,对外提供特定的一种服务。虚拟服务器:实服务器组对外呈现的逻辑形态,客户端实际访问的是虚拟服务器。负载均衡算法:FW分配业务流量给实服务器时依据的算法,不同的算法可能得到不同的分配结果。服务健康检查:FW检查服务器状态是否正常的过程,可以增强为用</div>
                    </li>
                    <li><a href="/article/1904056295518957568.htm"
                           title="Mongodb配置分片服务器" target="_blank">Mongodb配置分片服务器</a>
                        <span class="text-muted">czw0723</span>
<a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</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/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a>
                        <div>mongodb的sharding集群由以下3个服务组成:ShardsServer:每个shard由一个或多个mongod进程组成,用于存储数据ConfigServer:用于存储集群的Metadata信息,包括每个Shard的信息和chunks信息RouteServer:用于提供路由服务,由Client连接,使整个Cluster看起来像单个DB服务器另外,Chunks是指MongoDB中一段连续的数</div>
                    </li>
                    <li><a href="/article/1904054528894889984.htm"
                           title="ERROR: Failed building wheel for pyaudioFailed to build pyaudioERROR: ERROR: Failed to build insta" target="_blank">ERROR: Failed building wheel for pyaudioFailed to build pyaudioERROR: ERROR: Failed to build insta</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/audio/1.htm">audio</a><a class="tag" taget="_blank" href="/search/pyaudio/1.htm">pyaudio</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E8%A3%85%E5%BA%93/1.htm">安装库</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a>
                        <div>ERROR:FailedbuildingwheelforpyaudioFailedtobuildpyaudioERROR:ERROR:Failedtobuildinstallablewheelsforsomepyproject.tomlbasedprojects(pyaudio)这个错误表明在编译pyaudio时缺少PortAudio开发库。以下是完整解决方案:Linux系统解决方案#1.安装系统</div>
                    </li>
                    <li><a href="/article/1904052889639251968.htm"
                           title="字节跳动离职后,转行学起了AI大模型!该说不说,真的香!!" target="_blank">字节跳动离职后,转行学起了AI大模型!该说不说,真的香!!</a>
                        <span class="text-muted">小城哇哇</span>
<a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/AI%E5%A4%A7%E6%A8%A1%E5%9E%8B/1.htm">AI大模型</a><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/agi/1.htm">agi</a><a class="tag" taget="_blank" href="/search/ai/1.htm">ai</a><a class="tag" taget="_blank" href="/search/LLM/1.htm">LLM</a><a class="tag" taget="_blank" href="/search/%E8%BD%AC%E8%A1%8C/1.htm">转行</a>
                        <div>个人自我介绍鄙人出生于南方小乡镇,为了走出小镇,在当地够拼够努力,不是自夸,确确实实也算得上“别人家的小孩”,至少在学习这件事情少,没有要家里人操过心。高考特别顺利,一个老牌985,具体哪个学校就不说了,不想给母校丢脸。毕业后,也算是“风光”地进入了字节跳动。做的是运维测试。在职期间刚入职的时候真的信心满满⛽️,但才3天就感受到了互联网头部公司的强度不是一般的大。明面上的早十晚八工作制完全不存在,</div>
                    </li>
                    <li><a href="/article/1904051378020478976.htm"
                           title="服务器负载均衡" target="_blank">服务器负载均衡</a>
                        <span class="text-muted">冬冬小圆帽</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/%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1/1.htm">负载均衡</a><a class="tag" taget="_blank" href="/search/vim/1.htm">vim</a>
                        <div>1.安装EPEL仓库EPEL(ExtraPackagesforEnterpriseLinux)仓库提供了额外的软件包,安装HAProxy前需要先启用EPEL仓库。sudoyuminstallepel-release-y2.安装HAProxy通过EPEL仓库安装HAProxy。sudoyuminstallhaproxy-y注意:如果服务器上已安装Docker,可能会干扰HAProxy的安装。建议先关</div>
                    </li>
                    <li><a href="/article/1904050998373052416.htm"
                           title="SpringSecurity——如何获取当前登录用户的信息" target="_blank">SpringSecurity——如何获取当前登录用户的信息</a>
                        <span class="text-muted">代码代码快快显灵</span>
<a class="tag" taget="_blank" href="/search/springsecurity/1.htm">springsecurity</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/SpringSecurity/1.htm">SpringSecurity</a>
                        <div>目录1.直接注入Principal2.直接注入Authentication3.注入UsernamePasswordAuthenticationToken4.通过SecurityContextHolder获取5.使用自定义工具方法总结如何获取更多的用户信息自定义用户实体类如何忽略某些字段(不返回前端)以及规范日期格式登录成功后的处理:在SpringSecurity中,当前登录用户的信息实际上都存储在</div>
                    </li>
                    <li><a href="/article/1904048982498275328.htm"
                           title="使用 Docker 部署 Puter 云桌面系统" target="_blank">使用 Docker 部署 Puter 云桌面系统</a>
                        <span class="text-muted">Jaxx.Wang</span>
<a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E6%BA%90%E9%A1%B9%E7%9B%AE/1.htm">开源项目</a><a class="tag" taget="_blank" href="/search/Docker/1.htm">Docker</a>
                        <div>1)Puter介绍:::infoGitHub:https://github.com/HeyPuter/puter:::Puter是一个先进的开源桌面环境,运行在浏览器中,旨在具备丰富的功能、异常快速和高度可扩展性。它可以用于构建远程桌面环境,也可以作为云存储服务、远程服务器、Web托管平台等的界面。Puter是一个隐私至上的个人云,可以将您的所有文件、应用程序和游戏保存在一个安全的地方,随时随地都</div>
                    </li>
                    <li><a href="/article/1904045579843989504.htm"
                           title="Elasticsearch 搜索引擎原理与实践" target="_blank">Elasticsearch 搜索引擎原理与实践</a>
                        <span class="text-muted">AI天才研究院</span>
<a class="tag" taget="_blank" href="/search/Python%E5%AE%9E%E6%88%98/1.htm">Python实战</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><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%AF%AD%E8%A8%80%E6%A8%A1%E5%9E%8B/1.htm">语言模型</a><a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B%E5%AE%9E%E8%B7%B5/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><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84%E8%AE%BE%E8%AE%A1/1.htm">架构设计</a>
                        <div>作者:禅与计算机程序设计艺术1.简介Elasticsearch是开源分布式搜索引擎,提供搜素、分析、数据可视化等功能。它是一个基于Lucene的全文搜索服务器,能够把结构化或非结构化的数据经过索引生成一个索引库,使其可以被搜索到。在现代Web应用中,搜索功能已经成为不可或缺的一项功能。但是传统上,传统搜索方式需要依赖于数据库查询或者其他复杂的查询接口。而Elasticsearch提供了一种高效、稳</div>
                    </li>
                    <li><a href="/article/1904043310817800192.htm"
                           title="Centos Redis安装与配置指南" target="_blank">Centos Redis安装与配置指南</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/%E5%BC%80%E5%8F%91%E5%B7%A5%E5%85%B7/1.htm">开发工具</a><a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a><a class="tag" taget="_blank" href="/search/%E4%B8%AD%E9%97%B4%E4%BB%B6/1.htm">中间件</a>
                        <div>1.环境说明centos7.9redis6.2.6安装方式:外网服务器可以使用wget来下载安装,内网服务器只能windows下载后上传到linux服务器上2.新建下载目录将下载的Redis放在本文件夹中mkdir/tools3.Redis下载服务器执行wget命令:wgethttp://download.redis.io/releases/redis-6.2.6.tar.gz4.解压和编译依次执</div>
                    </li>
                    <li><a href="/article/1904031965221285888.htm"
                           title="前端页面列表白线问题解决方案" target="_blank">前端页面列表白线问题解决方案</a>
                        <span class="text-muted">松岛的枫叶</span>
<a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a><a class="tag" taget="_blank" href="/search/elementui/1.htm">elementui</a>
                        <div>/*完全消除行间边框*/.el-table{--el-table-border-color:transparent!important;}.el-tabletd.el-table__cell{border-bottom:none!important;}.el-tableth.el-table__cell.is-leaf{border-bottom:none!important;}.el-table</div>
                    </li>
                    <li><a href="/article/1904029948985798656.htm"
                           title="Operating System Concepts读书笔记——操作系统本质、类型与发展【1】" target="_blank">Operating System Concepts读书笔记——操作系统本质、类型与发展【1】</a>
                        <span class="text-muted">墨汁儿</span>
<a class="tag" taget="_blank" href="/search/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/1.htm">操作系统</a>
                        <div>文章目录一、操作系统基础概念1.操作系统功能2.计算机系统组成部分3.用户角度对操作系统的需求4.系统角度二、各类型操作系统1.大型机系统1.1批处理系统1.2多道程序系统1.3分时系统2.桌面系统3.多处理器系统4.分布式系统4.1客户机-服务器系统4.2对等系统5.集群系统6.实时系统7.手持系统三、其它1.功能迁移2.计算环境2.1传统计算2.2基于Web的计算2.3嵌入式计算一、操作系统基</div>
                    </li>
                    <li><a href="/article/1904026912141930496.htm"
                           title="Java多线程" target="_blank">Java多线程</a>
                        <span class="text-muted">反方向的空</span>
<a class="tag" taget="_blank" href="/search/Java%E5%A4%9A%E7%BA%BF%E7%A8%8B/1.htm">Java多线程</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>Java多线程为什么要在代码中引入多线程?可以使用多个线程来处理任务,提高效率如果阻塞点过多,一个线程会处理不过来;例如TCP服务器在等待建立连接的时候会阻塞,而整个流程不能因为这个而卡死在这里,所以引入另外的线程去处理另外的任务哪些地方是线程安全问题的风险点?线程对共享数据修改的部分,必须考虑是否线程安全!!!并发编程的优缺点为什么要使用并发编程?(优点)充分利用多核CPU的计算能力:通过并发编</div>
                    </li>
                    <li><a href="/article/1904026786082123776.htm"
                           title="前端面试常见的计算机网络内容梳理" target="_blank">前端面试常见的计算机网络内容梳理</a>
                        <span class="text-muted">GISer_Jinger</span>
<a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a>
                        <div>前端面试常见的计算机网络内容梳理,我得从搜索结果里找相关的信息。先看看各个网页的内容。网页1和网页2主要讲OSI模型、TCP/IP模型,ARP、DNS、TCP/UDP区别这些基础概念,这些都是常考的点。网页3提到了TCP三次握手、HTTP缓存、跨域方法,还有CDN原理,这些都是前端面试的重点。网页4详细讨论了HTTP请求方法、状态码、请求头和响应头,这些内容也很关键。网页5提到了HTTPS加密原理</div>
                    </li>
                    <li><a href="/article/1904024386583719936.htm"
                           title="Spring MVC +Spring 框架学习总结-入门必学知识点" target="_blank">Spring MVC +Spring 框架学习总结-入门必学知识点</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/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/mvc/1.htm">mvc</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/mvc/1.htm">mvc</a>
                        <div>Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性角度而言,绝大部分Java应用都可以从Spring中受益。spring相关视频教程:https://www.bilibili.com/video/BV1nz4y1d7uySpringMVC是Spr</div>
                    </li>
                    <li><a href="/article/1904014930978336768.htm"
                           title="cifs挂载 mount ubuntu_在Linux上使用CIFS,如何挂载Windows共享" target="_blank">cifs挂载 mount ubuntu_在Linux上使用CIFS,如何挂载Windows共享</a>
                        <span class="text-muted">王小约</span>
<a class="tag" taget="_blank" href="/search/cifs%E6%8C%82%E8%BD%BD/1.htm">cifs挂载</a><a class="tag" taget="_blank" href="/search/mount/1.htm">mount</a><a class="tag" taget="_blank" href="/search/ubuntu/1.htm">ubuntu</a>
                        <div>在Linux和UNIX操作系统上,可以使用mount命令的cifs选项将Windows共享安装在本地目录。常见的Internet文件系统(CIFS)是网络文件共享协议,CIFS是SMB的一种形式。在本教程中,解释如何在Windows共享上手动和自动挂载Linux系统。安装CIFS程序包要在Windows系统上挂载Linux共享,首先需要安装CIFS程序包。在Ubuntu和Debian上安装CIFS</div>
                    </li>
                    <li><a href="/article/1904014426621669376.htm"
                           title="物联网(IoT)系统中,数据采集器拿来即用" target="_blank">物联网(IoT)系统中,数据采集器拿来即用</a>
                        <span class="text-muted">小赖同学啊</span>
<a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E6%99%BA%E8%83%BD%E7%A1%AC%E4%BB%B6/1.htm">智能硬件</a><a class="tag" taget="_blank" href="/search/%E7%89%A9%E8%81%94%E7%BD%91/1.htm">物联网</a>
                        <div>在物联网(IoT)系统中,数据采集器(也称为网关或数据集中器)扮演着至关重要的角色,主要负责从各种传感器和设备中收集数据,并将其转换为统一的格式后传输到云端或本地服务器进行处理和分析。以下是关于数据采集器的设计要点、功能需求以及实现方案:一、数据采集器的核心功能数据中转:从传感器、设备或其他数据源收集数据。将数据转发到云端、本地服务器或其他目标系统。数据格式统一化:将不同协议、不同格式的数据转换为</div>
                    </li>
                    <li><a href="/article/1904013670099251200.htm"
                           title="Linux中挂载Windows Samba共享的指南" target="_blank">Linux中挂载Windows Samba共享的指南</a>
                        <span class="text-muted">执剑走天涯xp</span>
<a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/windows/1.htm">windows</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a>
                        <div>主要步骤:安装cifs-utils确保你的Linux系统已安装cifs-utils包。如果未安装,使用以下命令:sudoapt-getinstallcifs-utils#Debian/Ubuntu系统sudoyuminstallcifs-utils#CentOS/RHEL系统创建挂载点创建一个本地目录来挂载Windows共享:sudomkdir/mnt/share编辑/etc/fstab文件使用文</div>
                    </li>
                    <li><a href="/article/1904012913543278592.htm"
                           title="开源前端埋点监控插件Web-Tracing" target="_blank">开源前端埋点监控插件Web-Tracing</a>
                        <span class="text-muted">研创通之逍遥峰</span>
<a class="tag" taget="_blank" href="/search/%E5%BC%80%E6%BA%90%E5%B7%A5%E5%85%B7/1.htm">开源工具</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E6%BA%90/1.htm">开源</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a>
                        <div>Web-Tracing是一款专为前端项目设计的前端监控插件,它基于JavaScript设计,兼容跨平台使用,并提供了全方位的监控功能。开源地址:https://gitee.com/junluoyu/web-tracing-analysis以下是关于Web-Tracing的详细介绍:一、主要功能Web-Tracing涵盖了多个领域的监控手段,包括但不限于:埋点:通过事件监听,实现对用户交互行为的精准</div>
                    </li>
                    <li><a href="/article/1904012278655676416.htm"
                           title="嵌入式Linux网络编程实战:基于libcurl实现Gitee文件上传" target="_blank">嵌入式Linux网络编程实战:基于libcurl实现Gitee文件上传</a>
                        <span class="text-muted">银河码</span>
<a class="tag" taget="_blank" href="/search/Linux%E7%BD%91%E7%BB%9C%E7%BC%96%E7%A8%8B/1.htm">Linux网络编程</a><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/1.htm">网络</a><a class="tag" taget="_blank" href="/search/gitee/1.htm">gitee</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/vscode/1.htm">vscode</a><a class="tag" taget="_blank" href="/search/tcp%2Fip/1.htm">tcp/ip</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a>
                        <div>嵌入式Linux网络编程实战:基于libcurl实现Gitee文件上传【本文代码已在立创·泰山派平台验证通过,可直接用于物联网设备数据上报场景】一、功能概述与实现效果1.1核心功能本地文件读取:支持任意二进制/文本文件Base64编码转换:符合RFC4648标准HTTP传输:通过libcurl实现,也可以使用HTTPS加密通信GiteeAPI对接:自动创建/更新仓库文件1.2运行效果演示#上传本地</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>