计算机网络 应用层上 | 域名解析系统DNS 文件传输协议FTP,NFS 万维网URL HTTP HTML

文章目录

  • 1 域名系统DNS
    • 1.1 域名vsIP?
    • 1.2 域名结构
    • 1.3 域名到IP的解析过程
      • 域名服务器类型
  • 2 文件传送协议
    • 2.1 FTP 文件传输协议
    • 2.2 NFS 协议
    • 2.3 简单文件传送协议 TFTP
  • 3 万维网WWW
    • 3.1 统一资源定位符URL
    • 3.2 超文本传送协议HTTP
      • 3.2.1 HTTP工作流程
      • 3.2.2 HTTP报文结构
      • 3.2.3 HTTP服务器存放用户信息
    • 3.3 超文本标记语言HTML
    • 3.4 搜索工具

之前我们讲运输层的时候已经讲了运输层可以给不同进程之间通信,但我们还需要应用层原因是,许多 应用需要多个进程之间相互配合完成,所以应用层进程用来约束这些配合!

每个应用层协议用来解决一个问题

应用层的许多协议都是基于客户服务器方式 客户是请求方,服务器是服务提供方

最重要内容

1 域名系统DNS——从域名解析出IP地址

2 万维网和HTTP协议,以及万维网的两种不同的信息搜索引擎

3 电子邮件的传输过程,SMTP协议和POP3协议,IMAP协议使用的场合

4 动态主机配置协议DHCP的特点

5 网络管理的三个组成部分

6 系统调用和应用编程接口的基本概念

7 P2P文件系统

1 域名系统DNS

1.1 域名vsIP?

为什么给人们用域名?方便记忆,如baidu.com就比一串的IP好记

为什么给机器用IP?IP长度固定,方便机器处理

初期的时候,由于主机个数比较少,所以一台机器的hosts文件列出所有的域名和IP的对应关系,需要转换时查表即可。

目前计算机网络理论上也可以把所有的域名和IP的对应关系放到一个服务器中,但是问题是

1 地球上计算机过多,该服务器负荷太大

2 如果这台服务器出现问题,会导致整体的网络的瘫痪

所以提出树状结构的命名方法,并采用分布式的域名系统DNS(分布式就是分散的意思)这样即便某一台计算机出了问题,也不会导致整体出现问题

1.2 域名结构

域名一般由标号组成,标号间通过.分割

顶级域名,二级域名,三级域名……

顶级域名一般有

  • 国家顶级域名 如cn表示中国,us表示美国,uk表示英国等等
  • 通用顶级域名 如com表示公司企业,org表示非盈利组织
  • 基础结构域名 arpa 用于反向域名解析

更高级的域名负责管理下属的域名

比如我国中国cn顶级域名下划分了41个二级域名(分为类别域名7个和行政区域名34个)

1.3 域名到IP的解析过程

先来了解域名服务器,即存放域名和IP对应的服务器

域名服务器

一个服务器所负责管辖的范围叫做区

各单位根据具体情况来划分自己管辖范围的区,但在一个区中的所有节点必须是联通的,每一个区设置相应的权限域名服务器用来保存该区中所有的主机的域名到IP地址的映射

域名服务器类型

根域名服务器

​ 最重要的域名服务器,所有的根域名服务器都知道所有的顶级域名服务器的域名和IP地址,不管是哪一个本地域名服务器,在无法解析的时候,就首先求助于根域名服务器

在因特网上有13个不同IP地址的根域名服务器,从a到m

顶级域名服务器(TLD服务器)

​ 这些域名服务器负责管理在该顶级域名服务器注册的所有二级域名。当收到DNS查询请求时,就给出相应的回答

权限域名服务器

​ 负责一个区的域名服务器,当一个权限域名服务器还不能给出最后的查询回答时,就会告诉发出查询请求的DNS客户,下一步应当找哪一个权限域名服务器

本地域名服务器

​ 每一个因特网服务器提供者ISP,或一个大学,都可以拥有一个本地域名服务器

为了提高域名服务器的可靠性,一般把数据复制到几个域名服务器来保存

域名解析这个过程是在多个域名服务器上的多个域名服务程序共同完成的

大概过程如下

某一个应用程序请求某域名的IP --》 生成DNS请求报文,发送给本地的域名服务器 --》如果本地可以查到的话,则返回回答报文,查不到的话就向其他域名服务器请求直到找到为止

解析过程

主机向本地域名服务器查询采用递归查询

本地服务器向根域名服务器查询采用迭代查询

名字的高速缓存,存放最近用到的

记录集合

mx记录

ns记录

ptr记录

2 文件传送协议

2.1 FTP 文件传输协议

FTP是使用最广的文件传输协议

FTP提供交互式的访问,允许客户指明文件的类型和格式,并允许文件具有存取权限

匿名访问通过anonymous实现

文件的传送并非很简单,原因是不同计算机厂商研制出的文件系统多达数百种,差别很大。主要体现在

1 计算机存储数据的格式不同

2 文件目录结构和文件命名规定不同

3 存取功能的命令不同

4 访问控制方法不同

所以我们的FTP核心就是要减少或消除在不同操作系统下处理文件的不兼容性

FTP使用客户服务器方式

FTP使用两个TCP连接,一个用于控制(21端口),一个用于数据传送(20端口),因而需要两个端口号,所以数据连接和控制连接不会乱

使用两个端口的另外好处是

1 使协议更加简单和实现

2 在传输文件时还可以利用控制连接

2.2 NFS 协议

NFS允许应用进程打开一个远地文件,并能在该文件的某一个特定位置开始读写数据

NFS可以使用户只复制一个大文件中的很小的片段

端口2049

2.3 简单文件传送协议 TFTP

特点

1 很小易于实现

2 由于很小所以TFTP只支持文件传输而不支持交互, TFTP没有一个庞大的命令集合

3 每次传输的数据有512字节,组成一个文件块,对块进行编号,从1开始,支持ASCLL码或二进制传送,可对文件进行读或写,使用很简单的首部

工作

1 很像停止等待协议,每发送完一个文件块就等待对方确认,收不到确认就重复发送PDU

2 TFTP端口号是69

三种协议比较

协议 特点
FTP 交互式,存取权限,建立副本
NFS 交互式,存取权限,无副本
FTFP 没有交互式,不进行身份验证

远程终端协议TRLNET

3 万维网WWW

万维网是一个分布式的超媒体系统,它是超文本系统的扩充

万维网将大量的信息分布在整个互联网

要核心解决几个问题

1 怎样标志分别分布在整个互联网的万维网文档——用URL

2 用什么样的协议实现万维网上的各种连接——用HTTP

3 怎样使得不同作者创作不同风格的万维网文档,都能在互联网上各种主机显示 使用HTML

4 怎么样使得用户能够方便找到需要的资源——用搜索工具

接下来分别探讨下面的问题

3.1 统一资源定位符URL

统一资源定位符是用来表示互联网资源的位置和获得的方法

一般组成如下

协议:// 主机名:端口/路径

协议就是通过何种方式获得该万维网文档

主机名就是存放文档主机的域名

其中端口往往被省略,因为对于特定协议,有些端口都是默认的,比如HTTP协议默认端口号为80

所以往往是如下的形式

协议://主机名/路径

很多时候都把前面的协议省去了,只保留了主机名

比如 baidu.com

完整应该是 http://baidu.com

3.2 超文本传送协议HTTP

定义了浏览器怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传输给浏览器

HTTP协议是无连接,无记忆状态的协议

无连接即不会提前建立连接

无状态协议,这意味着每个HTTP请求都是独立的,服务器不会在多次请求之间保留任何关于客户端的状态信息。每个HTTP请求都被视为一个独立的交互,服务器不会记住之前的请求或会话信息。

3.2.1 HTTP工作流程

如下

1 每个万维网网点都有一个服务器进程,它不断监听TCP端口80,以便发现是否有浏览器向它发送链接建立请求

2 监听到后,建立连接,浏览器向万维网服务器发出请求,服务器返回请求页面做相应。完成任务后,TCP就被释放了

对于早期的HTTP协议 HTTP/1.0,请求一个万维网文档耗费时间是文档传输时间加上两倍往返时间RTT(一个RTT用于建立TCP连接,另一个RTT用于请求和接收万维网文档)

这是它的一个缺点

因而HTTP/1.1 很好解决了这个问题,它使用了持续连接的方法,就是说万维网服务器在相应之后的一段时间依然保持这个连接

后来又提出升级版本 HTTP/2,将服务器的相应也变成了并行的,同时可以复用TCP连接的请求,

为了加快请求相应速度,往往会用到代理服务器,即将最近的一些请求和相应放到本地磁盘中

3.2.2 HTTP报文结构

HTTP两类报文

1 请求报文——从客户到服务器发送请求报文

2 相应报文——从服务器到客户的回答

HTTP请求报文由客户端发送给服务器,用于请求特定资源或执行特定操作。它通常包括以下部分:

  • 请求行(Request Line): 包含了HTTP方法、请求的URI和HTTP协议版本。例如:

    GET /index.html HTTP/1.1
    

    以下是一些常见的HTTP请求方法:

    1. GET:用于请求服务器发送指定资源的内容。GET请求通常用于获取数据,不应该对服务器端数据产生影响。GET请求的参数通常附在URL的查询字符串中。
    2. POST:用于向服务器提交数据,通常用于创建新资源。POST请求将数据包含在请求体中,而不是URL中。
    3. PUT:用于请求服务器更新或替换指定的资源,通常用于更新已存在的资源。PUT请求将数据包含在请求体中,并且通常会覆盖原始资源。
    4. DELETE:用于请求服务器删除指定的资源。DELETE请求用于删除服务器上的资源。
    5. PATCH:用于对资源进行部分更新。与PUT不同,PATCH只更新资源的一部分,而不是整个资源。
    6. HEAD:类似于GET请求,但服务器只返回响应头部信息,而不返回实际内容。通常用于获取资源的元数据或检查资源是否存在。
    7. OPTIONS:用于获取服务器支持的HTTP方法和资源的信息。客户端可以使用OPTIONS请求来了解服务器允许哪些方法和资源访问。
    8. TRACE:用于测试与服务器之间的连接,客户端发送一个TRACE请求,服务器返回请求的内容,以便客户端可以查看请求在传输过程中是否被修改。
    9. CONNECT:通常用于创建与服务器的网络连接,通常用于代理服务器。
  • 请求头部(Request Headers): 包含了一系列的键值对,用于传递关于请求的信息,如User-Agent、Host、Accept等。例如:

    Host: www.example.com
    User-Agent: Mozilla/5.0
    Accept: text/html
    
  • 空行(Blank Line): 请求行和请求头之间有一个空行,用于分隔请求头部和请求体。

  • 请求体(Request Body): 可选的部分,通常用于POST请求等情况,包含了要发送给服务器的数据。

  1. HTTP响应报文结构:

HTTP响应报文由服务器发送给客户端,用于回复客户端的请求。它通常包括以下部分:

  • 状态行(Status Line): 包含了HTTP协议版本、状态码和状态描述。例如:

    HTTP/1.1 200 OK
    
    1. HTTP状态码根据其首位数字分为五大类,每个类别都表示了不同的意义。这五大类是:
      1. 1xx(Informational,信息性状态码):这些状态码表示请求已被接收,正在处理或者需要进一步的操作。这些状态码通常不会在实际应用中经常见到,而更多用于HTTP协议的通信过程中。
      2. 2xx(Successful,成功状态码):这些状态码表示请求已成功被服务器接受、理解并处理。最常见的是200 OK,表示成功处理了请求。
      3. 3xx(Redirection,重定向状态码):这些状态码表示客户端需要采取额外的操作来完成请求。通常用于重定向到其他URL以获取请求的资源。
      4. 4xx(Client Error,客户端错误状态码):这些状态码表示客户端发送的请求有错误,无法被服务器理解或处理。最常见的是404 Not Found,表示请求的资源不存在。
      5. 5xx(Server Error,服务器错误状态码):这些状态码表示服务器在处理请求时发生了错误。最常见的是500 Internal Server Error,表示服务器内部发生了错误。
  • 响应头部(Response Headers): 类似于请求头部,包含了一系列的键值对,用于传递关于响应的信息,如Server、Content-Type、Content-Length等。例如:

    Server: Apache
    Content-Type: text/html
    Content-Length: 1234
    
  • 空行(Blank Line): 状态行和响应头之间有一个空行,用于分隔响应头部和响应体。

  • 响应体(Response Body): 包含了服务器返回的实际数据,例如HTML页面、JSON数据等。

3.2.3 HTTP服务器存放用户信息

之前讲到HTTP是无状态的,即不会保留客户端信息,但有些时候,服务器需要记住用户的信息,比如一个顾客要购买多件物品放入购物车,以便集中结账

这时候需要用到Cookie

工作流程如下:

  1. 创建Cookie: 服务器在HTTP响应中通过Set-Cookie头部字段创建Cookie,并将其发送到客户端浏览器。Cookie包含一个键值对,通常是一个名称和一个值,以及一些其他属性,如过期时间、域名、路径等。

    Set-Cookie: username=johndoe; expires=Sat, 31 Dec 2023 23:59:59 GMT; path=/; domain=example.com; secure; HttpOnly
    
    

    在上面的示例中,服务器创建了一个名为username的Cookie,它的值是johndoe,并设置了过期时间、路径、域名等属性。

  2. 存储Cookie: 一旦浏览器接收到Cookie,它会将Cookie存储在本地的Cookie存储中。这个存储通常是浏览器的内存或磁盘中的一个文件。

  3. 发送Cookie: 当浏览器向同一服务器发出后续HTTP请求时,它会将与该服务器相关的Cookie附加到请求的Cookie头部字段中。这使得服务器能够识别用户并访问之前存储的信息。

  4. 服务器读取Cookie: 服务器在收到HTTP请求时,会检查请求的Cookie头部字段以获取相关的Cookie信息。这允许服务器识别用户,并根据需要执行特定的操作,如验证用户身份、提供个性化内容等。

  5. 更新Cookie: 服务器可以在HTTP响应中更新或修改Cookie的内容,以便在客户端的下一次请求中反映这些更改。例如,服务器可以更新Cookie的过期时间或值。

3.3 超文本标记语言HTML

他不是协议,只是一种语言

HTML的基本概述:

  1. 标记语言: HTML是一种标记语言,它使用一系列的标签(标记)来描述文档的结构和内容。标签通常由尖括号< >包围,如等。
  2. 超文本: HTML的全名是"Hypertext Markup Language",其中的"Hypertext"表示超文本。HTML允许文档中的内容之间建立超链接,用户可以通过点击链接来导航到其他页面或资源。
  3. 结构: HTML文档通常由多个部分组成,包括声明、元素、元素(包含文档的元数据信息)、</code>元素(指定页面标题)、<code><body></code>元素(包含页面的主要内容)等。</li> <li><strong>元素和属性:</strong> HTML由各种不同类型的元素组成,每个元素有其特定的含义和用途。元素可以包含其他元素,形成嵌套结构。元素通常具有属性,用于提供有关元素的额外信息。例如,<code><a></code>元素用于创建超链接,它可以包含<code>href</code>属性,指定链接的目标URL。</li> <li><strong>文本内容:</strong> HTML用于定义文本内容,包括标题、段落、列表、表格、图像等。通过HTML标签,可以将文本格式化、分段、组织和呈现。</li> <li><strong>样式和布局:</strong> HTML通过标签定义文档的结构和内容,但通常需要使用CSS(Cascading Style Sheets)来定义页面的样式和布局。CSS允许开发人员控制文本和元素的外观,包括颜色、字体、大小、间距等。</li> <li><strong>交互性:</strong> HTML也可以与JavaScript一起使用,以实现页面的交互性和动态行为。JavaScript可以通过DOM(Document Object Model)访问和操作HTML元素,使用户能够与页面交互。</li> </ol> <h3>3.4 搜索工具</h3> <p>搜索引擎是一种用于查找和检索互联网上的信息的计算机程序或工具。它们允许用户输入关键词或查询,并返回与这些关键词相关的网页、文档、图片、视频和其他多媒体内容的搜索结果列表。搜索引擎在互联网上广泛使用,是人们获取信息、解决问题和进行研究的重要工具。</p> </div> </div> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1738320841126502400"></div> <script type="text/javascript" src="/views/front/js/chanyan.js"></script> <!-- 文章页-底部 动态广告位 --> <div class="youdao-fixed-ad" id="detail_ad_bottom"></div> </div> <div class="col-md-3"> <div class="row" id="ad"> <!-- 文章页-右侧1 动态广告位 --> <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_1"> </div> </div> <!-- 文章页-右侧2 动态广告位 --> <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_2"></div> </div> <!-- 文章页-右侧3 动态广告位 --> <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_3"></div> </div> </div> </div> </div> </div> </div> <div class="container"> <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(计算机系统基础,计算机网络,http,html)</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1773610251875057664.htm" title="Android和IOS应用开发-Flutter应用让屏幕在 app 运行期间保持常亮的方法" target="_blank">Android和IOS应用开发-Flutter应用让屏幕在 app 运行期间保持常亮的方法</a> <span class="text-muted">江上清风山间明月</span> <a class="tag" taget="_blank" href="/search/Flutter/1.htm">Flutter</a><a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/ios/1.htm">ios</a><a class="tag" taget="_blank" href="/search/flutter/1.htm">flutter</a><a class="tag" taget="_blank" href="/search/KeepAlive/1.htm">KeepAlive</a><a class="tag" taget="_blank" href="/search/%E5%B1%8F%E5%B9%95%E5%B8%B8%E4%BA%AE/1.htm">屏幕常亮</a><a class="tag" taget="_blank" href="/search/wakelock/1.htm">wakelock</a><a class="tag" taget="_blank" href="/search/%E7%86%84%E5%B1%8F/1.htm">熄屏</a> <div>文章目录Flutter应用让屏幕在app运行期间保持常亮的方法方法一:使用系统插件方法二:使用Widgets注意事项Flutter应用让屏幕在app运行期间保持常亮的方法在Flutter开发中,可以使用以下两种方法让屏幕在app运行期间保持常亮:方法一:使用系统插件Flutter社区中已经有很多相关插件可供使用,比如wakelock:https://pub.dev/packages/wakeloc</div> </li> <li><a href="/article/1773602697044361216.htm" title="浪潮 M5系列服务器IPMI无法监控存储RAID卡问题." target="_blank">浪潮 M5系列服务器IPMI无法监控存储RAID卡问题.</a> <span class="text-muted">Songxwn</span> <a class="tag" taget="_blank" href="/search/%E7%A1%AC%E4%BB%B6%E6%9C%8D%E5%8A%A1%E5%99%A8/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/%E8%BF%90%E7%BB%B4/1.htm">运维</a> <div>简介浪潮的M5代服务器,可能有WebBMC无法查看存储RAID/SAS卡状态的情况,可以通过以下方式修改。修改完成后重启BMC即可生效。ESXiIPMITools使用:https://songxwn.com/ESXi8_IPMI/(Linux也可以直接使用)Linux/ESXiIPMITool下载:https://songxwn.com/file/ipmitoolWindows下载:https:/</div> </li> <li><a href="/article/1773585584300818432.htm" title="下载Android源码" target="_blank">下载Android源码</a> <span class="text-muted">赛非斯</span> <div>repoinit-uhttps://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest-bandroid-10.0.0_r411.首先下载repo:a)终端运行gitclonegit://codeaurora.org/tools/repo.gitb)mkdir~/binc)拷贝repo到~/bin下面,修改repo权限,chmoda+x~</div> </li> <li><a href="/article/1773571984861495296.htm" title="llama.cpp 编译安装@Ubuntu" target="_blank">llama.cpp 编译安装@Ubuntu</a> <span class="text-muted">skywalk8163</span> <a class="tag" taget="_blank" href="/search/%E9%A1%B9%E7%9B%AE%E5%AE%9E%E8%B7%B5/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/llama/1.htm">llama</a><a class="tag" taget="_blank" href="/search/ubuntu/1.htm">ubuntu</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a> <div>在Kylin和Ubuntu编译llama.cpp,具体参考:llama模型c语言推理@FreeBSD-CSDN博客现在代码并编译:gitclonehttps://github.com/ggerganov/llama.cppcdllama.cppmkdirbuildcdbuildcmake..cmake--build.--configRelease#可选安装makeinstall#或可选添加路径ex</div> </li> <li><a href="/article/1773569718641295360.htm" title="uni-app实现 步骤条" target="_blank">uni-app实现 步骤条</a> <span class="text-muted">夏夏的码农</span> <a class="tag" taget="_blank" href="/search/uni-app/1.htm">uni-app</a> <div>实现如图样式html部分代码如下投资期限与收益0?'active':'default'">募集开始1?'active':'default'">募集结束2?'active':'default'">产品成立3?'active':'default'">产品到期0?'active-step1':'step1'">1?'active-st</div> </li> <li><a href="/article/1773552600176721920.htm" title="1.计算机处理器架构+嵌入式处理器架构及知识" target="_blank">1.计算机处理器架构+嵌入式处理器架构及知识</a> <span class="text-muted">vv 啊</span> <a class="tag" taget="_blank" href="/search/arm-linux%E5%AD%A6%E4%B9%A0/1.htm">arm-linux学习</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E7%B3%BB%E7%BB%9F%E6%9E%B6%E6%9E%84/1.htm">系统架构</a> <div>目录一:x86-64处理器架构二:Intel80386处理器(i386)1.i3862.i686三:嵌入式Linux知识:1.MinGW2.GNU计划2.1GNU工具链概述此次只分享英特尔和ADM处理器有关于x86的架构,至于嵌入式处理器架构请查看https://en.wikipedia.org/wiki/List_of_ARM_processors一:x86-64处理器架构x86-64,也称为x</div> </li> <li><a href="/article/1773540138937286656.htm" title="【计算机网络】第 3 问:电路交换、报文交换、分组交换之间的区别?" target="_blank">【计算机网络】第 3 问:电路交换、报文交换、分组交换之间的区别?</a> <span class="text-muted">孤独打铁匠Julian</span> <a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/%E8%AE%A1%E7%AE%97%E6%9C%BA408%E8%80%83%E7%A0%94%E9%9D%A2%E8%AF%95/1.htm">计算机408考研面试</a><a class="tag" taget="_blank" href="/search/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/1.htm">计算机网络</a><a class="tag" taget="_blank" href="/search/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/1.htm">计算机网络</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a> <div>电路交换、报文交换、分组交换之间的区别?省流图详解电路交换电路交换的优点电路交换的缺点建立连接时间长的原因报文交换报文交换的优点报文交换的缺点分组交换分组交换的优点分组交换的缺点比较总结省流图详解电路交换在进行数据传输前,两个结点之间必须先建立一条专用(双方独占)的物理通信路径(由通信双方之间的交换设备和链路逐段连接而成),该路径可能经过许多中间结点。这一路径在整个数据传输期间一直被独占,直到通信</div> </li> <li><a href="/article/1773525411561537536.htm" title="用XMLHttpRequest发送和接收JSON数据" target="_blank">用XMLHttpRequest发送和接收JSON数据</a> <span class="text-muted">潭池先生</span> <a class="tag" taget="_blank" href="/search/json/1.htm">json</a><a class="tag" taget="_blank" href="/search/XMLHttpRequest/1.htm">XMLHttpRequest</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a> <div>百度的AI回答了一个案例:varxhr=newXMLHttpRequest();varurl="your_endpoint_url";//替换为你的API端点vardata=JSON.stringify({key1:"value1",key2:"value2"});xhr.open("POST",url,true);xhr.setRequestHeader("Content-Type","appl</div> </li> <li><a href="/article/1773505290910629888.htm" title="【转载】SSD测试第一神器——FIO" target="_blank">【转载】SSD测试第一神器——FIO</a> <span class="text-muted">running_sheep</span> <div>转自:[http://www.ssdfans.com]对于SSD性能测试来说,最好的工具莫过于FIO了。FIO是Jens开发的一个开源测试工具,功能非常强大,本文就只介绍其中一些基本功能。线程,队列深度,Offset,同步异步,DirectIO,BIO使用FIO之前,首先要有一些SSD性能测试的基础知识。线程指的是同时有多少个读或写任务在并行执行,一般来说,CPU里面的一个核心同一时间只能运行一个</div> </li> <li><a href="/article/1773500735770656768.htm" title="大创项目推荐 深度学习 opencv python 公式识别(图像识别 机器视觉)" target="_blank">大创项目推荐 深度学习 opencv python 公式识别(图像识别 机器视觉)</a> <span class="text-muted">laafeer</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a> <div>文章目录0前言1课题说明2效果展示3具体实现4关键代码实现5算法综合效果6最后0前言优质竞赛项目系列,今天要分享的是基于深度学习的数学公式识别算法实现该项目较为新颖,适合作为竞赛课题方向,学长非常推荐!学长这里给一个题目综合评分(每项满分5分)难度系数:3分工作量:4分创新点:4分更多资料,项目分享:https://gitee.com/dancheng-senior/postgraduate1课题</div> </li> <li><a href="/article/1773495447948689408.htm" title="docker怎么端口映射" target="_blank">docker怎么端口映射</a> <span class="text-muted">Lance_mu</span> <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>1、默认固定的端口#Web服务器:WebApache或Nginx通常使用80端口HTTP:80HTTPS:443#数据库服务器MySQL:3306PostgreSQL:5432MongoDB:27017Redis:6379#邮件服务器SMTP:25POP3:110IMAP:143#其他服务SSH:22FTP:21DNS(域名解析):53代理服务器Squid:3128版本控制系统Git:9418(S</div> </li> <li><a href="/article/1773475811752476672.htm" title="ES-LTR粗排模块" target="_blank">ES-LTR粗排模块</a> <span class="text-muted">poins</span> <a class="tag" taget="_blank" href="/search/jenkins/1.htm">jenkins</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a> <div>ES-LTR粗排模块官方资源:https://github.com/HeiBoWang/elasticsearch-learning-to-rankElasticsearch学习排名插件使用机器学习提高搜索相关性排名。它为维基媒体基金会和Snagajob等地方的搜索提供了动力!这个插件有什么功能此插件:允许您在Elasticsearch中存储特征(Elasticsearch查询模板)记录特征得分(</div> </li> <li><a href="/article/1773467586458091520.htm" title="Jenkins安装" target="_blank">Jenkins安装</a> <span class="text-muted">lettger</span> <div>1.第一步sudowget-O/etc/yum.repos.d/jenkins.repohttps://pkg.jenkins.io/redhat/jenkins.reposudorpm--importhttps://pkg.jenkins.io/redhat/jenkins.io.key2.第二步sudoyuminstalljenkins3.第三步servicejenkinsstatus|sta</div> </li> <li><a href="/article/1773450885851054080.htm" title="python转码" target="_blank">python转码</a> <span class="text-muted">Desamond</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>转码在许多场景中都有应用,以下是一些常见的场景:网页开发:当用户在网页上输入文本时,可能需要将特殊字符(如空格、引号、特殊符号等)进行转码,以防止这些字符对URL或HTML代码产生干扰。文件名处理:在处理文件名时,可能需要将特殊字符进行转码,以避免文件名被错误地解析或显示。数据传输:在数据传输过程中,为了确保数据的完整性和正确性,可能需要将数据中的特殊字符进行转码。数据存储:在数据库或数据存储中,</div> </li> <li><a href="/article/1773436283402649600.htm" title="natapp内网穿透工具" target="_blank">natapp内网穿透工具</a> <span class="text-muted">万变不离其宗_8</span> <a class="tag" taget="_blank" href="/search/%E5%B7%A5%E5%85%B7/1.htm">工具</a><a class="tag" taget="_blank" href="/search/%E5%85%B6%E4%BB%96/1.htm">其他</a> <div>1.NATAPP1分钟快速新手图文教程https://natapp.cn/article/natapp_newbie2.下载https://natapp.cn/#download3.使用本地配置文件config.ini,下载地址如下:https://natapp.cn/article/config_ini</div> </li> <li><a href="/article/1773411232229949440.htm" title="【译】kube-router-8 操作指南" target="_blank">【译】kube-router-8 操作指南</a> <span class="text-muted">niufw_qb</span> <a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/%E4%BA%91%E5%8E%9F%E7%94%9F/1.htm">云原生</a><a class="tag" taget="_blank" href="/search/k8s/1.htm">k8s</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a> <div>kube-router的健康检查kube-router目前的基本健康检查方式是,每次主循环成功完成后,每个控制器都会向healthcontroller发送心跳。健康端口默认为20244,但可通过启动选项进行更改。健康检查路径为/healthz.--health-port=如果端口设置为0(零),HTTP端点将不可用,但健康控制器仍将运行,并将错过的心跳打印到kube-router的STDERR中。</div> </li> <li><a href="/article/1773397763799711744.htm" title="15:00面试,15:06就出来了,问的问题有点变态。。。" target="_blank">15:00面试,15:06就出来了,问的问题有点变态。。。</a> <span class="text-muted">爱学习的执念</span> <a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/%E8%BD%AF%E4%BB%B6%E6%B5%8B%E8%AF%95/1.htm">软件测试</a><a class="tag" taget="_blank" href="/search/%E8%BD%AF%E4%BB%B6%E6%B5%8B%E8%AF%95%E9%9D%A2%E8%AF%95/1.htm">软件测试面试</a><a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/%E8%81%8C%E5%9C%BA%E5%92%8C%E5%8F%91%E5%B1%95/1.htm">职场和发展</a> <div>从小厂出来,没想到在另一家公司又寄了。到这家公司开始上班,加班是每天必不可少的,看在钱给的比较多的份上,就不太计较了。没想到9月一纸通知,所有人不准加班,加班费不仅没有了,薪资还要降40%,这下搞的饭都吃不起了。还在有个朋友内推我去了一家互联网公司,兴冲冲见面试官,没想到一道题把我给问死了:如果模块请求http改为了https,测试方案应该如何制定,修改?感觉好简单的题,硬是没有答出来,早知道好好</div> </li> <li><a href="/article/1773356656105684992.htm" title="计算机网络知识点汇总" target="_blank">计算机网络知识点汇总</a> <span class="text-muted">蓝小俊</span> <div>第1章概述P36习题3、7、14、15、17、22、24、262.“协议”与“服务”的异同点?答:(1)协议是控制两个对等实体进行通信的规则的集合。在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务,而要实现本层协议,还需要使用下面一层提供服务。(2)协议和服务的概念的区分:1、协议的实现保证了能够向上一层提供服务。本层的服务用户只能看见服务而无法看见下面的协议。下面的协议对上面的服</div> </li> <li><a href="/article/1773347793847517184.htm" title="UNDERSTANDING HTML WITH LARGE LANGUAGE MODELS" target="_blank">UNDERSTANDING HTML WITH LARGE LANGUAGE MODELS</a> <span class="text-muted">liferecords</span> <a class="tag" taget="_blank" href="/search/LLM/1.htm">LLM</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/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E8%87%AA%E7%84%B6%E8%AF%AD%E8%A8%80%E5%A4%84%E7%90%86/1.htm">自然语言处理</a> <div>UNDERSTANDINGHTMLWITHLARGELANGUAGEMODELS相关链接:arXiv关键字:大型语言模型、HTML理解、Web自动化、自然语言处理、机器学习摘要大型语言模型(LLMs)在各种自然语言任务上表现出色。然而,它们在HTML理解方面的能力——即解析网页的原始HTML,对于自动化基于Web的任务、爬取和浏览器辅助检索等应用——尚未被充分探索。我们为HTML理解模型(经过微调</div> </li> <li><a href="/article/1773343638902865920.htm" title="Python+Requests模拟发送GET请求" target="_blank">Python+Requests模拟发送GET请求</a> <span class="text-muted">爱学习的执念</span> <a class="tag" taget="_blank" href="/search/%E8%87%AA%E5%8A%A8%E5%8C%96%E6%B5%8B%E8%AF%95/1.htm">自动化测试</a><a class="tag" taget="_blank" href="/search/%E8%BD%AF%E4%BB%B6%E6%B5%8B%E8%AF%95/1.htm">软件测试</a><a class="tag" taget="_blank" href="/search/%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB/1.htm">技术分享</a><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>模拟发送GET请求前置条件:导入requests库一、发送不带参数的get请求代码如下:以百度首页为例importrequests#发送get请求response=requests.get(url="http://www.baidu.com")print(response.content.decode("utf-8"))#以utf-8的编码输出内容二、发送带参数的get请求发送带参数的get请求有</div> </li> <li><a href="/article/1773308900838277120.htm" title="Web前端Html的表单" target="_blank">Web前端Html的表单</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/html/1.htm">html</a> <div>表单的关键字:form标签表示一个表单区域action=“后端地址”method=“提交数据方式:get/post”input单行输入框type=“text”文本name=“定义名称名字自定义”向后端提交的键readonly=“readonly”只读,不可修改,但是可以提交disabled=“disabled”禁用组件不可修改,不能提交type=“password”密码框type=“radio”单</div> </li> <li><a href="/article/1773306760505917440.htm" title="PaperWeekly" target="_blank">PaperWeekly</a> <span class="text-muted">sapienst</span> <a class="tag" taget="_blank" href="/search/Papers/1.htm">Papers</a><a class="tag" taget="_blank" href="/search/PaperwithCode/1.htm">PaperwithCode</a><a class="tag" taget="_blank" href="/search/General/1.htm">General</a><a class="tag" taget="_blank" href="/search/ML/1.htm">ML</a> <div>1.Python软件包解决DL在未见过的数据分布下性能差的问题:(1)神经网络和损失分离的模块化设计(2)强大便捷的基准测试能力(3)易于使用但难以修改(4)github:https://github.com/marrlab/domainlabTrainer和Models之间是什么关系Trainer和Models是DomainLab中的两个核心概念。Trainer是一个用于指导数据流向模型并计算S</div> </li> <li><a href="/article/1773280073802121216.htm" title="php 快速入门(六)" target="_blank">php 快速入门(六)</a> <span class="text-muted">王依硕</span> <a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a><a class="tag" taget="_blank" href="/search/php/1.htm">php</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>一、前后台交互1.1$_GET用来获取浏览器通过GET方法提交的数据GET方法它是通过把参数数据加在提交表单的action属性所指的URL中,值和表单内每个字段一一对应,然后在URL中可以看到,但是有如下缺点1.安全性不好,在URL中可以看得到2.传送数据量较小,不能大于2KB1.2$_POST用来获取浏览器通过POST方法提交的数据。POST方法它是通过HTTPPOST机制,将表单的各个字段放置</div> </li> <li><a href="/article/1773279947515822080.htm" title="Nginx服务" target="_blank">Nginx服务</a> <span class="text-muted">老伙子53</span> <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>Nginx服务一、什么是Nginx1、概念Nginx是一个高性能的开源的HTTP和反向代理服务器,以及邮件(IMAP/POP3)代理服务器。它最初由IgorSysoev创建,并于2004年首次公开发布。Nginx的主要特点包括高性能、低内存占用、高并发处理能力以及高度的可靠性。2、特点高性能Nginx被设计成高性能的服务器软件,能够处理大量并发连接和高流量的请求。它采用了事件驱动的架构,使用异步I</div> </li> <li><a href="/article/1773259809336918016.htm" title="Ubuntu下安装Chrome浏览器(简单,使用)" target="_blank">Ubuntu下安装Chrome浏览器(简单,使用)</a> <span class="text-muted">Starry-sky(jing)</span> <a class="tag" taget="_blank" href="/search/%5Blinux%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E7%AC%94%E8%AE%B0%5D/1.htm">[linux操作系统笔记]</a><a class="tag" taget="_blank" href="/search/chrome/1.htm">chrome</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a> <div>下载安装GoogleChrome浏览器deb包极速下载:下载链接32位wgethttps://dl.google.com/linux/direct/google-chrome-stable_current_i386.deb64位wgethttps://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb安装sudodpk</div> </li> <li><a href="/article/1773257291911462912.htm" title="若依框架集成seata分布式事务的一些幺蛾子" target="_blank">若依框架集成seata分布式事务的一些幺蛾子</a> <span class="text-muted">半山惊竹</span> <a class="tag" taget="_blank" href="/search/%E5%88%86%E5%B8%83%E5%BC%8F/1.htm">分布式</a> <div>一、bug连环炮A服务调用B服务,B服务异常,A服务插入的数据没有回退,前面没有思路,就查了下,说是没有切换为seata的数据源,我就在启动类加了一个@EnableAutoDataSourceProxy注解,结果就开始报错了:2024-03-1910:49:30.653[http-nio-8080-exec-2]INFOc.a.n.client.config.impl.CacheData-Line</div> </li> <li><a href="/article/1773211849400057856.htm" title="Linux(centos7)部署hive" target="_blank">Linux(centos7)部署hive</a> <span class="text-muted">灯下夜无眠</span> <a class="tag" taget="_blank" href="/search/Linux/1.htm">Linux</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/hive/1.htm">hive</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/dbeaver/1.htm">dbeaver</a><a class="tag" taget="_blank" href="/search/hive%E5%AE%A2%E6%88%B7%E7%AB%AF/1.htm">hive客户端</a> <div>前提环境:已部署完hadoop(HDFS、MapReduce、YARN)1、安装元数据服务MySQL切换root用户#更新密钥rpm--importhttps://repo.mysql.com/RPM-GPG-KEY-mysqL-2022#安装Mysqlyum库rpm-Uvhhttp://repo.mysql.com//mysql57-community-release-el7-7.noarch.</div> </li> <li><a href="/article/1773162507913986048.htm" title="git使用代理解决无法clone的问题及git代理设置" target="_blank">git使用代理解决无法clone的问题及git代理设置</a> <span class="text-muted">yaningli</span> <div>在使用git的时候,经常需要去国外的一些网站clone,由于众所周知的原因,clone失败例如:$gitclonehttps://android.googlesource.com/platform/packages/apps/MessagingCloninginto‘Messaging’…fatal:unabletoaccess‘https://android.googlesource.com/p</div> </li> <li><a href="/article/1772783842764062720.htm" title="SAP Spartacus的Component映射" target="_blank">SAP Spartacus的Component映射</a> <span class="text-muted">JerryWang_汪子熙</span> <div>Spartacus默认的购物车界面:https://github.com/SAP/spartacus-bootcamp/blob/master/sparta0/src/app/components/cart.component.ts新建一个CartComponent,对Spartacus标准的CartDetailsComponent进行扩展:import{Component}from'@angul</div> </li> <li><a href="/article/1772773132000624640.htm" title="【前端学习——js篇】7.函数缓存" target="_blank">【前端学习——js篇】7.函数缓存</a> <span class="text-muted">笔下无竹墨下有鱼</span> <a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF%E5%AD%A6%E4%B9%A0/1.htm">前端学习</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a> <div>具体见:https://github.com/febobo/web-interview7.函数缓存函数缓存,就是将函数运算过的结果进行缓存本质上就是用空间(缓存存储)换时间(计算过程)常用于缓存数据计算结果和缓存对象。其实现主要通过闭包、柯里化和高阶函数。下面主要介绍下柯里化:①柯里化柯里化(currying)是一种函数式编程的概念,指的是将一个带有多个参数的函数转换成一系列只接受一个参数的函数的</div> </li> <li><a href="/article/28.htm" title="如何用ruby来写hadoop的mapreduce并生成jar包" target="_blank">如何用ruby来写hadoop的mapreduce并生成jar包</a> <span class="text-muted">wudixiaotie</span> <a class="tag" taget="_blank" href="/search/mapreduce/1.htm">mapreduce</a> <div>ruby来写hadoop的mapreduce,我用的方法是rubydoop。怎么配置环境呢: 1.安装rvm:     不说了 网上有 2.安装ruby:     由于我以前是做ruby的,所以习惯性的先安装了ruby,起码调试起来比jruby快多了。 3.安装jruby:     rvm install jruby然后等待安</div> </li> <li><a href="/article/155.htm" title="java编程思想 -- 访问控制权限" target="_blank">java编程思想 -- 访问控制权限</a> <span class="text-muted">百合不是茶</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E8%AE%BF%E9%97%AE%E6%8E%A7%E5%88%B6%E6%9D%83%E9%99%90/1.htm">访问控制权限</a><a class="tag" taget="_blank" href="/search/%E5%8D%95%E4%BE%8B%E6%A8%A1%E5%BC%8F/1.htm">单例模式</a> <div>访问权限是java中一个比较中要的知识点,它规定者什么方法可以访问,什么不可以访问   一:包访问权限;   自定义包: package com.wj.control; //包 public class Demo { //定义一个无参的方法 public void DemoPackage(){ System.out.println("调用</div> </li> <li><a href="/article/282.htm" title="[生物与医学]请审慎食用小龙虾" target="_blank">[生物与医学]请审慎食用小龙虾</a> <span class="text-muted">comsci</span> <a class="tag" taget="_blank" href="/search/%E7%94%9F%E7%89%A9/1.htm">生物</a> <div>      现在的餐馆里面出售的小龙虾,有一些是在野外捕捉的,这些小龙虾身体里面可能带有某些病毒和细菌,人食用以后可能会导致一些疾病,严重的甚至会死亡.....      所以,参加聚餐的时候,最好不要点小龙虾...就吃养殖的猪肉,牛肉,羊肉和鱼,等动物蛋白质     </div> </li> <li><a href="/article/409.htm" title="org.apache.jasper.JasperException: Unable to compile class for JSP:" target="_blank">org.apache.jasper.JasperException: Unable to compile class for JSP:</a> <span class="text-muted">商人shang</span> <a class="tag" taget="_blank" href="/search/maven/1.htm">maven</a><a class="tag" taget="_blank" href="/search/2.2/1.htm">2.2</a><a class="tag" taget="_blank" href="/search/jdk1.8/1.htm">jdk1.8</a> <div>环境: jdk1.8    maven  tomcat7-maven-plugin  2.0 原因: tomcat7-maven-plugin  2.0 不知吃 jdk 1.8,换成 tomcat7-maven-plugin  2.2就行,即     <plugin> </div> </li> <li><a href="/article/536.htm" title="你的垃圾你处理掉了吗?GC" target="_blank">你的垃圾你处理掉了吗?GC</a> <span class="text-muted">oloz</span> <a class="tag" taget="_blank" href="/search/GC/1.htm">GC</a> <div>前序:本人菜鸟,此文研究学习来自网络,各位牛牛多指教  1.垃圾收集算法的核心思想   Java语言建立了垃圾收集机制,用以跟踪正在使用的对象和发现并回收不再使用(引用)的对象。该机制可以有效防范动态内存分配中可能发生的两个危险:因内存垃圾过多而引发的内存耗尽,以及不恰当的内存释放所造成的内存非法引用。   垃圾收集算法的核心思想是:对虚拟机可用内存空间,即堆空间中的对象进行识别</div> </li> <li><a href="/article/663.htm" title="shiro 和 SESSSION" target="_blank">shiro 和 SESSSION</a> <span class="text-muted">杨白白</span> <a class="tag" taget="_blank" href="/search/shiro/1.htm">shiro</a> <div>shiro 在web项目里默认使用的是web容器提供的session,也就是说shiro使用的session是web容器产生的,并不是自己产生的,在用于非web环境时可用其他来源代替。在web工程启动的时候它就和容器绑定在了一起,这是通过web.xml里面的shiroFilter实现的。通过session.getSession()方法会在浏览器cokkice产生JESSIONID,当关闭浏览器,此</div> </li> <li><a href="/article/790.htm" title="移动互联网终端 淘宝客如何实现盈利" target="_blank">移动互联网终端 淘宝客如何实现盈利</a> <span class="text-muted">小桔子</span> <a class="tag" taget="_blank" href="/search/%E7%A7%BB%E5%8B%95%E5%AE%A2%E6%88%B6%E7%AB%AF/1.htm">移動客戶端</a><a class="tag" taget="_blank" href="/search/%E6%B7%98%E5%AE%A2/1.htm">淘客</a><a class="tag" taget="_blank" href="/search/%E6%B7%98%E5%AF%B6App/1.htm">淘寶App</a> <div>       2012年淘宝联盟平台为站长和淘宝客带来的分成收入突破30亿元,同比增长100%。而来自移动端的分成达1亿元,其中美丽说、蘑菇街、果库、口袋购物等App运营商分成近5000万元。 可以看出,虽然目前阶段PC端对于淘客而言仍旧是盈利的大头,但移动端已经呈现出爆发之势。而且这个势头将随着智能终端(手机,平板)的加速普及而更加迅猛</div> </li> <li><a href="/article/917.htm" title="wordpress小工具制作" target="_blank">wordpress小工具制作</a> <span class="text-muted">aichenglong</span> <a class="tag" taget="_blank" href="/search/wordpress/1.htm">wordpress</a><a class="tag" taget="_blank" href="/search/%E5%B0%8F%E5%B7%A5%E5%85%B7/1.htm">小工具</a> <div>wordpress 使用侧边栏的小工具,很方便调整页面结构 小工具的制作过程 1 在自己的主题文件中新建一个文件夹(如widget),在文件夹中创建一个php(AWP_posts-category.php) 小工具是一个类,想侧边栏一样,还得使用代码注册,他才可以再后台使用,基本的代码一层不变 <?php class AWP_Post_Category extends WP_Wi</div> </li> <li><a href="/article/1044.htm" title="JS微信分享" target="_blank">JS微信分享</a> <span class="text-muted">AILIKES</span> <a class="tag" taget="_blank" href="/search/js/1.htm">js</a> <div>// 所有功能必须包含在 WeixinApi.ready 中进行    WeixinApi.ready(function(Api) {        // 微信分享的数据            var wxData = {       &nb</div> </li> <li><a href="/article/1171.htm" title="封装探讨" target="_blank">封装探讨</a> <span class="text-muted">百合不是茶</span> <a class="tag" taget="_blank" href="/search/JAVA%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1+%E5%B0%81%E8%A3%85/1.htm">JAVA面向对象 封装</a> <div>//封装   属性 方法 将某些东西包装在一起,通过创建对象或使用静态的方法来调用,称为封装;封装其实就是有选择性地公开或隐藏某些信息,它解决了数据的安全性问题,增加代码的可读性和可维护性   在 Aname类中申明三个属性,将其封装在一个类中:通过对象来调用   例如   1: //属性 将其设为私有 姓名 name 可以公开 </div> </li> <li><a href="/article/1298.htm" title="jquery radio/checkbox change事件不能触发的问题" target="_blank">jquery radio/checkbox change事件不能触发的问题</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/jquery/1.htm">jquery</a> <div>我想让radio来控制当前我选择的是机动车还是特种车,如下所示:  <html> <head> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"><</div> </li> <li><a href="/article/1425.htm" title="AngularJS中安全性措施" target="_blank">AngularJS中安全性措施</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/AngularJS/1.htm">AngularJS</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8%E6%80%A7/1.htm">安全性</a><a class="tag" taget="_blank" href="/search/XSRF/1.htm">XSRF</a><a class="tag" taget="_blank" href="/search/JSON%E6%BC%8F%E6%B4%9E/1.htm">JSON漏洞</a> <div>        在使用web应用中,安全性是应该首要考虑的一个问题。AngularJS提供了一些辅助机制,用来防护来自两个常见攻击方向的网络攻击。 一.JSON漏洞         当使用一个GET请求获取JSON数组信息的时候(尤其是当这一信息非常敏感,</div> </li> <li><a href="/article/1552.htm" title="[Maven学习笔记九]Maven发布web项目" target="_blank">[Maven学习笔记九]Maven发布web项目</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/maven/1.htm">maven</a> <div>基于Maven的web项目的标准项目结构 user-project     user-core     user-service     user-web        src      </div> </li> <li><a href="/article/1679.htm" title="【Hive七】Hive用户自定义聚合函数(UDAF)" target="_blank">【Hive七】Hive用户自定义聚合函数(UDAF)</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/hive/1.htm">hive</a> <div>用户自定义聚合函数,用户提供的多个入参通过聚合计算(求和、求最大值、求最小值)得到一个聚合计算结果的函数。 问题:UDF也可以提供输入多个参数然后输出一个结果的运算,比如加法运算add(3,5),add这个UDF需要实现UDF的evaluate方法,那么UDF和UDAF的实质分别究竟是什么?   Double evaluate(Double a, Double b)  </div> </li> <li><a href="/article/1806.htm" title="通过 nginx-lua 给 Nginx 增加 OAuth 支持" target="_blank">通过 nginx-lua 给 Nginx 增加 OAuth 支持</a> <span class="text-muted">ronin47</span> <div>前言:我们使用Nginx的Lua中间件建立了OAuth2认证和授权层。如果你也有此打算,阅读下面的文档,实现自动化并获得收益。SeatGeek 在过去几年中取得了发展,我们已经积累了不少针对各种任务的不同管理接口。我们通常为新的展示需求创建新模块,比如我们自己的博客、图表等。我们还定期开发内部工具来处理诸如部署、可视化操作及事件处理等事务。在处理这些事务中,我们使用了几个不同的接口来认证: &n</div> </li> <li><a href="/article/1933.htm" title="利用tomcat-redis-session-manager做session同步时自定义类对象属性保存不上的解决方法" target="_blank">利用tomcat-redis-session-manager做session同步时自定义类对象属性保存不上的解决方法</a> <span class="text-muted">bsr1983</span> <a class="tag" taget="_blank" href="/search/session/1.htm">session</a> <div>在利用tomcat-redis-session-manager做session同步时,遇到了在session保存一个自定义对象时,修改该对象中的某个属性,session未进行序列化,属性没有被存储到redis中。 在 tomcat-redis-session-manager的github上有如下说明: Session Change Tracking As noted in the &qu</div> </li> <li><a href="/article/2060.htm" title="《代码大全》表驱动法-Table Driven Approach-1" target="_blank">《代码大全》表驱动法-Table Driven Approach-1</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/%E7%AE%97%E6%B3%95/1.htm">算法</a> <div>关于Table Driven Approach的一篇非常好的文章: http://www.codeproject.com/Articles/42732/Table-driven-Approach package com.ljn.base; import java.util.Random; public class TableDriven { public </div> </li> <li><a href="/article/2187.htm" title="Sybase封锁原理" target="_blank">Sybase封锁原理</a> <span class="text-muted">chicony</span> <a class="tag" taget="_blank" href="/search/Sybase/1.htm">Sybase</a> <div>       昨天在操作Sybase IQ12.7时意外操作造成了数据库表锁定,不能删除被锁定表数据也不能往其中写入数据。由于着急往该表抽入数据,因此立马着手解决该表的解锁问题。     无奈此前没有接触过Sybase IQ12.7这套数据库产品,加之当时已属于下班时间无法求助于支持人员支持,因此只有借助搜索引擎强大的</div> </li> <li><a href="/article/2314.htm" title="java异常处理机制" target="_blank">java异常处理机制</a> <span class="text-muted">CrazyMizzz</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>java异常关键字有以下几个,分别为 try catch final throw throws 他们的定义分别为 try:    Opening exception-handling statement. catch:  Captures the exception. finally: Runs its code before terminating</div> </li> <li><a href="/article/2441.htm" title="hive 数据插入DML语法汇总" target="_blank">hive 数据插入DML语法汇总</a> <span class="text-muted">daizj</span> <a class="tag" taget="_blank" href="/search/hive/1.htm">hive</a><a class="tag" taget="_blank" href="/search/DML/1.htm">DML</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E6%8F%92%E5%85%A5/1.htm">数据插入</a> <div>Hive的数据插入DML语法汇总1、Loading files into tables语法:1) LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1=val1, partcol2=val2 ...)]解释:1)、上面命令执行环境为hive客户端环境下: hive>l</div> </li> <li><a href="/article/2568.htm" title="工厂设计模式" target="_blank">工厂设计模式</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a> <div>  使用设计模式是促进最佳实践和良好设计的好办法。设计模式可以提供针对常见的编程问题的灵活的解决方案。 工厂模式 工厂模式(Factory)允许你在代码执行时实例化对象。它之所以被称为工厂模式是因为它负责“生产”对象。工厂方法的参数是你要生成的对象对应的类名称。 Example #1 调用工厂方法(带参数) <?phpclass Example{ </div> </li> <li><a href="/article/2695.htm" title="mysql字符串查找函数" target="_blank">mysql字符串查找函数</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a> <div>  FIND_IN_SET(str,strlist) 假如字符串str 在由N 子链组成的字符串列表strlist 中,则返回值的范围在1到 N 之间。一个字符串列表就是一个由一些被‘,’符号分开的自链组成的字符串。如果第一个参数是一个常数字符串,而第二个是type SET列,则   FIND_IN_SET() 函数被优化,使用比特计算。如果str不在strlist 或st</div> </li> <li><a href="/article/2822.htm" title="jvm内存管理" target="_blank">jvm内存管理</a> <span class="text-muted">easterfly</span> <a class="tag" taget="_blank" href="/search/jvm/1.htm">jvm</a> <div>一、JVM堆内存的划分 分为年轻代和年老代。年轻代又分为三部分:一个eden,两个survivor。 工作过程是这样的:e区空间满了后,执行minor gc,存活下来的对象放入s0, 对s0仍会进行minor gc,存活下来的的对象放入s1中,对s1同样执行minor gc,依旧存活的对象就放入年老代中; 年老代满了之后会执行major gc,这个是stop the word模式,执行</div> </li> <li><a href="/article/2949.htm" title="CentOS-6.3安装配置JDK-8" target="_blank">CentOS-6.3安装配置JDK-8</a> <span class="text-muted">gengzg</span> <a class="tag" taget="_blank" href="/search/centos/1.htm">centos</a> <div>JAVA_HOME=/usr/java/jdk1.8.0_45 JRE_HOME=/usr/java/jdk1.8.0_45/jre PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib export JAVA_HOME</div> </li> <li><a href="/article/3076.htm" title="【转】关于web路径的获取方法" target="_blank">【转】关于web路径的获取方法</a> <span class="text-muted">huangyc1210</span> <a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/%E8%B7%AF%E5%BE%84/1.htm">路径</a> <div>假定你的web application 名称为news,你在浏览器中输入请求路径:  http://localhost:8080/news/main/list.jsp  则执行下面向行代码后打印出如下结果:  1、 System.out.println(request.getContextPath()); //可返回站点的根路径。也就是项</div> </li> <li><a href="/article/3203.htm" title="php里获取第一个中文首字母并排序" target="_blank">php里获取第一个中文首字母并排序</a> <span class="text-muted">远去的渡口</span> <a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1.htm">数据结构</a><a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a> <div>很久没来更新博客了,还是觉得工作需要多总结的好。今天来更新一个自己认为比较有成就的问题吧。 最近在做储值结算,需求里结算首页需要按门店的首字母A-Z排序。我的数据结构原本是这样的: Array ( [0] => Array ( [sid] => 2885842 [recetcstoredpay] =&g</div> </li> <li><a href="/article/3330.htm" title="java内部类" target="_blank">java内部类</a> <span class="text-muted">hm4123660</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%86%85%E9%83%A8%E7%B1%BB/1.htm">内部类</a><a class="tag" taget="_blank" href="/search/%E5%8C%BF%E5%90%8D%E5%86%85%E9%83%A8%E7%B1%BB/1.htm">匿名内部类</a><a class="tag" taget="_blank" href="/search/%E6%88%90%E5%91%98%E5%86%85%E9%83%A8%E7%B1%BB/1.htm">成员内部类</a><a class="tag" taget="_blank" href="/search/%E6%96%B9%E6%B3%95%E5%86%85%E9%83%A8%E7%B1%BB/1.htm">方法内部类</a> <div>      在Java中,可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类。内部类仍然是一个独立的类,在编译之后内部类会被编译成独立的.class文件,但是前面冠以外部类的类名和$符号。内部类可以间接解决多继承问题,可以使用内部类继承一个类,外部类继承一个类,实现多继承。      &nb</div> </li> <li><a href="/article/3457.htm" title="Caused by: java.lang.IncompatibleClassChangeError: class org.hibernate.cfg.Exten" target="_blank">Caused by: java.lang.IncompatibleClassChangeError: class org.hibernate.cfg.Exten</a> <span class="text-muted">zhb8015</span> <div>maven pom.xml关于hibernate的配置和异常信息如下,查了好多资料,问题还是没有解决。只知道是包冲突,就是不知道是哪个包....遇到这个问题的分享下是怎么解决的。。   maven pom:   <dependency> <groupId>org.hibernate</groupId> <ar</div> </li> <li><a href="/article/3584.htm" title="Spark 性能相关参数配置详解-任务调度篇" target="_blank">Spark 性能相关参数配置详解-任务调度篇</a> <span class="text-muted">Stark_Summer</span> <a class="tag" taget="_blank" href="/search/spark/1.htm">spark</a><a class="tag" taget="_blank" href="/search/cache/1.htm">cache</a><a class="tag" taget="_blank" href="/search/cpu/1.htm">cpu</a><a class="tag" taget="_blank" href="/search/%E4%BB%BB%E5%8A%A1%E8%B0%83%E5%BA%A6/1.htm">任务调度</a><a class="tag" taget="_blank" href="/search/yarn/1.htm">yarn</a> <div>随着Spark的逐渐成熟完善, 越来越多的可配置参数被添加到Spark中来, 本文试图通过阐述这其中部分参数的工作原理和配置思路, 和大家一起探讨一下如何根据实际场合对Spark进行配置优化。   由于篇幅较长,所以在这里分篇组织,如果要看最新完整的网页版内容,可以戳这里:http://spark-config.readthedocs.org/,主要是便</div> </li> <li><a href="/article/3711.htm" title="css3滤镜" target="_blank">css3滤镜</a> <span class="text-muted">wangkeheng</span> <a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a> <div>经常看到一些网站的底部有一些灰色的图标,鼠标移入的时候会变亮,开始以为是js操作src或者bg呢,搜索了一下,发现了一个更好的方法:通过css3的滤镜方法。 html代码: <a href='' class='icon'><img src='utv.jpg' /></a> css代码: .icon{-webkit-filter: graysc</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>