计算机网络 应用层上 | 域名解析系统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/1902615788154580992.htm" title="高频SQL50题 第一天 | 1757. 可回收且低脂的产品、584. 寻找用户推荐人、595. 大的国家、1683. 无效的推文、1148. 文章浏览 I" target="_blank">高频SQL50题 第一天 | 1757. 可回收且低脂的产品、584. 寻找用户推荐人、595. 大的国家、1683. 无效的推文、1148. 文章浏览 I</a> <span class="text-muted">榛果咖啡有点苦</span> <a class="tag" taget="_blank" href="/search/%E9%AB%98%E9%A2%91/1.htm">高频</a><a class="tag" taget="_blank" href="/search/SQL/1.htm">SQL</a><a class="tag" taget="_blank" href="/search/50/1.htm">50</a><a class="tag" taget="_blank" href="/search/%E9%A2%98/1.htm">题</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a> <div>1757.可回收且低脂的产品题目链接:https://leetcode.cn/problems/recyclable-and-low-fat-products/description/?envType=study-plan-v2&envId=sql-free-50状态:已完成考点:无selectproduct_idfromProductswherelow_fats='Y'andrecyclable</div> </li> <li><a href="/article/1902610360431603712.htm" title="HTML:ul标签的作用" target="_blank">HTML:ul标签的作用</a> <span class="text-muted">凭君语未可</span> <a class="tag" taget="_blank" href="/search/Web%E5%BC%80%E5%8F%91/1.htm">Web开发</a><a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a> <div>ul标签解释解释举例效果分析``标签支持的属性1.`type`举例:效果:分析2.`class`举例:效果:分析解释在HTML中,标签表示无序列表(UnorderedList)。它用于创建一个项目列表,其中列表项通常以圆形、方形或none的图标(也称为列表项标记)进行标记。每个列表项都是使用(listitem)标签创建的。举例123效果分析在上面的例子中,我们创建了一个包含三个项目的无序列表,这些</div> </li> <li><a href="/article/1902607713284714496.htm" title="CocoaPods创建本地私有库、远程私有库和公有库" target="_blank">CocoaPods创建本地私有库、远程私有库和公有库</a> <span class="text-muted">群野</span> <a class="tag" taget="_blank" href="/search/iOS%E7%BB%84%E4%BB%B6%E5%8C%96/1.htm">iOS组件化</a><a class="tag" taget="_blank" href="/search/iOS%E4%BB%A3%E7%A0%81%E7%AE%A1%E7%90%86/1.htm">iOS代码管理</a><a class="tag" taget="_blank" href="/search/objective-c/1.htm">objective-c</a><a class="tag" taget="_blank" href="/search/ios/1.htm">ios</a><a class="tag" taget="_blank" href="/search/cocoapods/1.htm">cocoapods</a> <div>pod库创建过程创建工程更新本地索引库手动创建本地私有库创建自己的pod库部署您的库创建工程gitremoteaddorigin[https://code.adress.com.git]关联远程代码拷贝远程库gitclone[https://code.adress.com.git],进入拷贝工程的目录,gitcommit-am'init'本地提交gitlog查看本地提交记录,gitpush提交到远</div> </li> <li><a href="/article/1902607461106380800.htm" title="常用的git和linux命令有哪些?" target="_blank">常用的git和linux命令有哪些?</a> <span class="text-muted">海姐软件测试</span> <a class="tag" taget="_blank" href="/search/git/1.htm">git</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/elasticsearch/1.htm">elasticsearch</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a><a class="tag" taget="_blank" href="/search/%E6%90%9C%E7%B4%A2%E5%BC%95%E6%93%8E/1.htm">搜索引擎</a> <div>一、Git常用命令1.仓库与基础操作命令作用常用参数/示例gitinit初始化新仓库gitinitgitclone克隆远程仓库gitclonehttps://github.com/user/repo.gitgitstatus查看仓库状态gitstatus-s(简洁模式)gitadd添加文件到暂存区gitadd.(添加所有文件)gitaddfile1.txtgitcommit提交代码gitcommi</div> </li> <li><a href="/article/1902605065311547392.htm" title="基于k8s集群免密拉取需认证的仓库镜像" target="_blank">基于k8s集群免密拉取需认证的仓库镜像</a> <span class="text-muted">星溢</span> <a class="tag" taget="_blank" href="/search/kubernetes/1.htm">kubernetes</a><a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/http/1.htm">http</a> <div>一、环境背景1、k8s集群,1.17+,目前k8s最新版本已更新至V1.31版本;2、镜像仓库,如harbor、registry、portus、nexus等;3、配置镜像仓库用户登录认证,参考资料如下:harbor参考:https://www.geekby.cn/posts/harbor-https/registry参考:https://www.cnblogs.com/chen2ha/p/1478</div> </li> <li><a href="/article/1902604057235746816.htm" title="python pip报错:Preparing metadata (pyproject.toml) ... error" target="_blank">python pip报错:Preparing metadata (pyproject.toml) ... error</a> <span class="text-muted">我有一个魔盒</span> <a class="tag" taget="_blank" href="/search/%E5%85%B6%E4%BB%96/1.htm">其他</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/pip/1.htm">pip</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>环境:win11(Python3.9.13)原因:想安装低版本python,结果安装成了32位的,但是依赖包基本都是64位的。解决办法:重装64位python(可能还需要VisualStudio内安装“使用C++的桌面开发”)异常报错:Collectingmatplotlib~=3.0(fromgradio)Usingcachedhttps://pypi.tuna.tsinghua.edu.cn/</div> </li> <li><a href="/article/1902603049914920960.htm" title="python安装scipy库出错_解决scipy安装(pip install scipy)失败,以及其他问题" target="_blank">python安装scipy库出错_解决scipy安装(pip install scipy)失败,以及其他问题</a> <span class="text-muted">weixin_39663933</span> <div>解决scipy安装(pipinstallscipy)失败,以及其他问题解决:1.在scipy官方库中并没有适合Windows的python3.6相关版本,故需要在网址http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy下载适合的版本,下载如:scipy‑0.19.1‑cp36‑cp36m‑win32.whl2.Windows中scipy安装成功后,还会存</div> </li> <li><a href="/article/1902602923204997120.htm" title="pdf转word" target="_blank">pdf转word</a> <span class="text-muted">废材是怎么养成的</span> <a class="tag" taget="_blank" href="/search/pdf/1.htm">pdf</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/word/1.htm">word</a> <div>完了,新年第一天老婆喊我找个免费的转换软件帮她转一下dpf,我倒是找了些个在线免费转化的,也找了些免费的软件但是不是现在页数就是需要开会员,要么就限制大小,好吧,程序员嘛能省一块钱是一块钱,,能白嫖哎就白嫖下吧。新的一年希望祖国经济好起来,也预祝大家新年快乐,身体健康,万事如意。免费在线转:https://www.alltoall.net/pom插件、包引入、测试类,jar包通过网盘分享的文件:a</div> </li> <li><a href="/article/1902598381671346176.htm" title="Ubuntu 22.05编译OpenWrt 23.05实战" target="_blank">Ubuntu 22.05编译OpenWrt 23.05实战</a> <span class="text-muted">诺依阁</span> <a class="tag" taget="_blank" href="/search/ubuntu/1.htm">ubuntu</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/linux/1.htm">linux</a> <div>本篇文章原文地址:https://blog.nuoyis.net/posts/9990.html哔哩哔哩视频教程:https://www.bilibili.com/video/BV1rnsCe1ErV博主基本插件版本推荐编译配置:16核心20G内存150G硬盘用于存储数据包以及编译包等前情提要1.需要准备能访问到外网域名的加速器(自己斟酌)2.准备一个安装好的ubuntu虚拟机(或者直接使用海外服</div> </li> <li><a href="/article/1902595731202568192.htm" title="centOS7使用yum安装报错的解决办法" target="_blank">centOS7使用yum安装报错的解决办法</a> <span class="text-muted">小泊客</span> <a class="tag" taget="_blank" href="/search/lLinux%E5%AD%A6%E4%B9%A0/1.htm">lLinux学习</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/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/ssh/1.htm">ssh</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4%E5%BC%80%E5%8F%91/1.htm">运维开发</a> <div>一、错误提示信息:[root@localhost/]#sudoyuminstallbash-completionCouldnotretrievemirrorlisthttp://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stockerrorwas14:curl#7-"Failedtoconnectto2a05:d012:8</div> </li> <li><a href="/article/1902594848398045184.htm" title="Python前端开发" target="_blank">Python前端开发</a> <span class="text-muted">PITSU</span> <a class="tag" taget="_blank" href="/search/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F/1.htm">正则表达式</a><a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/css3/1.htm">css3</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a> <div>Python前端开发1.前端三剑客(HTML,CSS和JavaScript)1.1HTML1.1.1HTML简介HyperTextMark-upLanguage,指的是超文本标记语言;html是开发网页的语言;html中的标签大多数都是成对出现的,格式:1.1.2HTML结构第一行是文档声明部分HTML:分为页头,页身和页脚。标签大部分是成对出现1.1.3第一行文档声明部分HTML在vscode中</div> </li> <li><a href="/article/1902593208039305216.htm" title="初识HTML中的div块元素—零基础自学网页制作" target="_blank">初识HTML中的div块元素—零基础自学网页制作</a> <span class="text-muted">猿说前端</span> <a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/web%E5%BC%80%E5%8F%91/1.htm">web开发</a> <div>块元素基础属性讲解元素是个有故事的元素,这个元素很早就出现在html超文本标记语言中,它设计之初就是为了解决网页页面布局的需求。但是遗憾的是它出生后一直怀才不遇。在我还上初中的时候,智能手机还没有出现,更没有平板电脑等移动设备。上网是通过摆在桌子上的计算机来完成的。那时,大街小巷上有好多网吧。那时,马云刚刚辞去工作准备创业。那时,发送邮件的操作都会出现在计算机课程中。那时,对页面还没有现在的跨平台</div> </li> <li><a href="/article/1902590049283796992.htm" title="nginx性能优化有哪些方式?" target="_blank">nginx性能优化有哪些方式?</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/%E9%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96/1.htm">性能优化</a><a class="tag" taget="_blank" href="/search/php/1.htm">php</a> <div>0.运维干货分享软考高级系统架构设计师备考学习资料软考高级网络规划设计师备考学习资料KubernetesCKA认证学习资料分享信息安全管理体系(ISMS)制度模板分享免费文档翻译工具(支持word、pdf、ppt、excel)PuTTY中文版安装包MobaXterm中文版安装包pinginfoview网络诊断工具中文版Nginx是一个高性能的HTTP服务器和反向代理服务器,但在高并发场景下,仍然有</div> </li> <li><a href="/article/1902589922901028864.htm" title="使用码云搭建CocoaPods远程私有库" target="_blank">使用码云搭建CocoaPods远程私有库</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/cocoapods/1.htm">cocoapods</a><a class="tag" taget="_blank" href="/search/xcode/1.htm">xcode</a><a class="tag" taget="_blank" href="/search/ios/1.htm">ios</a> <div>一、创建远程私有索引库用来存放私有框架的详细描述信息.podspec文件1.创建私有库假设码云上创建的私有库为repo-spec2.查看本地已存在的索引库podrepolist3.将远程私有索引库添加到本地podrepoadd[https://gitee.com/jingluoguo/repo-spec.git](https://gitee.com/lsapp_dev/repo-spec.git)</div> </li> <li><a href="/article/1902588034889609216.htm" title="在德国观看中文视频的免费网站总结--涵盖几乎中文各类所有视频" target="_blank">在德国观看中文视频的免费网站总结--涵盖几乎中文各类所有视频</a> <span class="text-muted">zilan23</span> <div>1.独播库https://www.duboku.tv/2.欧乐影院https://www.olevod.com/3.一帆视频https://www.ifsp.tv/tv-series</div> </li> <li><a href="/article/1902585005146697728.htm" title="TCP、UDP、HTTP、WebSocket 和 MQTT协议区别" target="_blank">TCP、UDP、HTTP、WebSocket 和 MQTT协议区别</a> <span class="text-muted">PHPlai</span> <a class="tag" taget="_blank" href="/search/php/1.htm">php</a><a class="tag" taget="_blank" href="/search/tcp%2Fip/1.htm">tcp/ip</a><a class="tag" taget="_blank" href="/search/udp/1.htm">udp</a><a class="tag" taget="_blank" href="/search/http/1.htm">http</a> <div>目录1.TCP协议2.UDP协议3.HTTP协议4.WebSocket协议5.MQTT协议总结1.TCP协议类型:面向连接的协议。可靠性:提供可靠的数据传输,确保数据包按顺序到达。流量控制:具备流量控制与拥塞控制机制。适用场景:适合对数据传输可靠性要求高的应用,如文件传输、网页加载。2.UDP协议类型:无连接的协议。可靠性:不保证数据包的可靠传输,可能会丢失、重复或顺序错乱。流量控制:不具备流量控</div> </li> <li><a href="/article/1902581477099499520.htm" title="HTTP、MQTT、CoAP大比拼:谁才是物联网通信的王者?" target="_blank">HTTP、MQTT、CoAP大比拼:谁才是物联网通信的王者?</a> <span class="text-muted">极客小张</span> <a class="tag" taget="_blank" href="/search/%E7%89%A9%E8%81%94%E7%BD%91/1.htm">物联网</a><a class="tag" taget="_blank" href="/search/http/1.htm">http</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%8D%8F%E8%AE%AE/1.htm">网络协议</a><a class="tag" taget="_blank" href="/search/%E5%8D%95%E7%89%87%E6%9C%BA/1.htm">单片机</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a> <div>物联网(IoT)时代,数以亿计的设备需要相互连接和通信,而超文本传输协议(HTTP)作为互联网的基石,凭借其简单易用、广泛应用等优势,也成为了物联网通信协议的有力竞争者。本文将深入浅出地剖析HTTP协议在物联网中的应用,从工作原理、优缺点、安全问题到未来发展趋势,带您全面了解HTTP在物联网世界中的角色和潜力。一、HTTP协议:物联网通信的通用语言1.1HTTP协议工作原理:请求与响应的循环HTT</div> </li> <li><a href="/article/1902581221158875136.htm" title="QT信号和槽用于对象之间的通信" target="_blank">QT信号和槽用于对象之间的通信</a> <span class="text-muted">qq_33510982</span> <a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a><a class="tag" taget="_blank" href="/search/QT/1.htm">QT</a><a class="tag" taget="_blank" href="/search/%E4%BF%A1%E5%8F%B7%E4%B8%8E%E6%A7%BD/1.htm">信号与槽</a> <div>转载:http://blog.csdn.net/zhang2531/article/details/50807616初学qt,觉得这篇关于qt信号和槽机制讲的最为透彻。信号和槽信号和槽用于对象间的通讯。信号/槽机制是Qt的一个中心特征并且也许是Qt与其它工具包的最不相同的部分。在图形用户界面编程中,我们经常希望一个窗口部件的一个变化被通知给另一个窗口部件。更一般地,我们希望任何一类的对象可以和其它</div> </li> <li><a href="/article/1902573271463817216.htm" title="localStorage在上面位置?数据存放文件名是什么?" target="_blank">localStorage在上面位置?数据存放文件名是什么?</a> <span class="text-muted">2301_79698214</span> <a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>在上述代码中,数据并不是以传统文件的形式存放在某个具体的文件里,而是存储在浏览器的localStorage中。localStorage是HTML5新增的一个会话存储对象,它用于临时保存同一窗口(或标签页)的数据,在关闭窗口或标签页后数据仍然存在。数据存储位置和文件名存储位置:localStorage是浏览器提供的一个存储机制,数据存储在浏览器的本地存储区域,不同的浏览器存储位置不同,例如:Chro</div> </li> <li><a href="/article/1902572641336750080.htm" title="物联网为什么用MQTT不用 HTTP 或 UDP?" target="_blank">物联网为什么用MQTT不用 HTTP 或 UDP?</a> <span class="text-muted">工程师焱记</span> <a class="tag" taget="_blank" href="/search/%E7%89%A9%E8%81%94%E7%BD%91/1.htm">物联网</a><a class="tag" taget="_blank" href="/search/http/1.htm">http</a><a class="tag" taget="_blank" href="/search/udp/1.htm">udp</a><a class="tag" taget="_blank" href="/search/%E7%A1%AC%E4%BB%B6%E6%9E%B6%E6%9E%84/1.htm">硬件架构</a><a class="tag" taget="_blank" href="/search/%E5%B5%8C%E5%85%A5%E5%BC%8F%E7%A1%AC%E4%BB%B6/1.htm">嵌入式硬件</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E6%BA%90%E5%8D%8F%E8%AE%AE/1.htm">开源协议</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a> <div>先来两个代码对比,上传温度数据给服务器。MQTT代码示例//MQTT客户端连接到MQTT服务器mqttClient.connect("mqtt://broker.server.com:8883",clientId)//订阅特定主题mqttClient.subscribe("sensor/data",qos=1)//发布消息到主题mqttClient.publish("sensor/data","t</div> </li> <li><a href="/article/1902572137047191552.htm" title="GraphQL Schema Registry:企业级GraphQL架构的利器" target="_blank">GraphQL Schema Registry:企业级GraphQL架构的利器</a> <span class="text-muted">宣连璐Maura</span> <div>GraphQLSchemaRegistry:企业级GraphQL架构的利器graphql-schema-registryGraphQLschemaregistry项目地址:https://gitcode.com/gh_mirrors/gr/graphql-schema-registry项目介绍graphql-schema-registry是一个专为GraphQL联邦网关设计的企业级Schema存储</div> </li> <li><a href="/article/1902560294362738688.htm" title="Promise 原理与实战:从基础到高级的完整教程" target="_blank">Promise 原理与实战:从基础到高级的完整教程</a> <span class="text-muted">D.eL</span> <a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF%E5%B7%A5%E7%A8%8B%E5%8C%96%E4%BB%8E%E6%97%A0/1.htm">前端工程化从无</a><a class="tag" taget="_blank" href="/search/-/1.htm">-</a><a class="tag" taget="_blank" href="/search/%E9%80%9A/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/javascript/1.htm">javascript</a> <div>一、前言:为什么会出现Promise?Promise的重要性我认为没有必要多说,概括起来就是五个字:必!须!得!掌!握!。而且还要掌握透彻,在实际的使用中,有非常多的应用场景我们不能立即知道应该如何继续往下执行。最常见的一个场景就是ajax请求,通俗来说,由于网速的不同,可能你得到返回值的时间也是不同的,这个时候我们就需要等待,结果出来了之后才知道怎么样继续下去。letxhr=newXMLHttp</div> </li> <li><a href="/article/1902554494642745344.htm" title="NSSCTF_crypto_[HGAME 2022 week3]RSA attack 3" target="_blank">NSSCTF_crypto_[HGAME 2022 week3]RSA attack 3</a> <span class="text-muted">岁岁的O泡奶</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/%E5%AF%86%E7%A0%81%E5%AD%A6/1.htm">密码学</a><a class="tag" taget="_blank" href="/search/crypto/1.htm">crypto</a><a class="tag" taget="_blank" href="/search/NSSCTF/1.htm">NSSCTF</a><a class="tag" taget="_blank" href="/search/%E7%BB%B4%E7%BA%B3%E6%94%BB%E5%87%BB/1.htm">维纳攻击</a> <div>[HGAME2022week3]RSAattack3题目:太多了自己去看,提示:维纳攻击首先在做这题之前你得先懂得维纳攻击的原理https://www.cnblogs.com/wandervogel/p/16805992.htmlok啊看懂了维纳攻击的原理就来开始写脚本吧fromCrypto.Util.numberimportlong_to_bytesimportgmpy2#已知参数n=50741</div> </li> <li><a href="/article/1902553610630262784.htm" title="springBoot中myBatisPlus的使用" target="_blank">springBoot中myBatisPlus的使用</a> <span class="text-muted">无足鸟丶</span> <a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/boot/1.htm">boot</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>MyBatis-Plus是一个MyBatis的增强工具,在SpringBoot项目里使用它能极大提升开发效率。下面为你详细介绍在SpringBoot中使用MyBatis-Plus的步骤以及示例代码。1.创建SpringBoot项目你可以借助SpringInitializr(https://start.spring.io/)来创建一个新的SpringBoot项目,添加以下依赖:SpringWebSp</div> </li> <li><a href="/article/1902553356019232768.htm" title="网页大屏适配 使用css的scale方法 缺点是两边会有留白;" target="_blank">网页大屏适配 使用css的scale方法 缺点是两边会有留白;</a> <span class="text-muted">无足鸟丶</span> <a class="tag" taget="_blank" href="/search/css/1.htm">css</a><a class="tag" taget="_blank" href="/search/css3/1.htm">css3</a><a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a> <div>网页大屏适配使用css的scale方法缺点是两边会有留白;Document*{margin:0;padding:0;}html,body{width:100vw;height:100vh;background-color:blue;}#container{width:100%;height:100%;}.box{width:1920px;height:1080px;background-color</div> </li> <li><a href="/article/1902553103970922496.htm" title="Browser-Use WebUI项目启动指南" target="_blank">Browser-Use WebUI项目启动指南</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/chatgpt/1.htm">chatgpt</a><a class="tag" taget="_blank" href="/search/%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB/1.htm">经验分享</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a> <div>摘要此前发布《Browser-UseWebUI使用体验》博文后,鉴于部分朋友运行时出现问题,重新运行并整理相关内容。本文详细记录WebUI项目启动全过程,涵盖Python3.11+、Chrome浏览器及APIKeys等环境要求,Python环境检查、依赖安装等环境配置步骤,.env文件中环境变量的设置方法。同时,针对启动中如lxml.html.clean依赖缺失、连接被拒等问题给出解决方案,介绍启</div> </li> <li><a href="/article/1902550581134815232.htm" title="零基础怎么开始学网络安全(非常详细)零基础入门到精通,收藏这一篇就够了" target="_blank">零基础怎么开始学网络安全(非常详细)零基础入门到精通,收藏这一篇就够了</a> <span class="text-muted">程序员羊羊</span> <a class="tag" taget="_blank" href="/search/web%E5%AE%89%E5%85%A8/1.htm">web安全</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8/1.htm">安全</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a><a class="tag" taget="_blank" href="/search/php/1.htm">php</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a> <div>一、学习建议1.了解基础概念:开始之前,了解网络安全的基本概念和术语是很重要的。你可以查找网络安全入门教程或在线课程,了解网络安全领域的基本概念,如黑客、漏洞、攻击类型等。2.网络基础知识:学习计算机网络基础知识,了解网络通信原理,不同网络协议(如TCP/IP)的工作方式,以及网络拓扑结构等。3.操作系统知识:了解常见的操作系统,特别是Windows和Linux。掌握基本的命令行操作和系统管理技能</div> </li> <li><a href="/article/1902549318204715008.htm" title="Python获取tiktok视频数据信息 api 爬虫" target="_blank">Python获取tiktok视频数据信息 api 爬虫</a> <span class="text-muted">程序媛了了</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>Tiktok通过ID爬取视频信息api采集页面如图:https://www.tiktok.com/@basketwithball2.0/video/7273119444522650912?q=irving&t=1706683319923请求APIhttp://api.xxxx.com/tt/video/info?video_id=7273119444522650912&token=test请求参数</div> </li> <li><a href="/article/1902548058596503552.htm" title="C语言每日一练——day_9" target="_blank">C语言每日一练——day_9</a> <span class="text-muted">Run_Teenage</span> <a class="tag" taget="_blank" href="/search/C%E8%AF%AD%E8%A8%80%E5%85%A5%E9%97%A8%E7%BB%83%E4%B9%A0%E9%A2%98/1.htm">C语言入门练习题</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/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>引言针对初学者,每日练习几个题,快速上手C语言。第九天。(连续更新中)采用在线OJ的形式什么是在线OJ?在线判题系统(英语:OnlineJudge,缩写OJ)是一种在编程竞赛中用来测试参赛程序的在线系统,也可以用于平时的练习。详细内容可以看一下这篇博客:关于C/C++语言的初学者在哪刷题,怎么刷题-CSDN博客https://blog.csdn.net/2401_88433210/article/</div> </li> <li><a href="/article/1902547932335370240.htm" title="C语言每日一练——day_6" target="_blank">C语言每日一练——day_6</a> <span class="text-muted">Run_Teenage</span> <a class="tag" taget="_blank" href="/search/C%E8%AF%AD%E8%A8%80%E5%85%A5%E9%97%A8%E7%BB%83%E4%B9%A0%E9%A2%98/1.htm">C语言入门练习题</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/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>引言针对初学者,每日练习几个题,快速上手C语言。第六天。(连续更新中)采用在线OJ的形式什么是在线OJ?在线判题系统(英语:OnlineJudge,缩写OJ)是一种在编程竞赛中用来测试参赛程序的在线系统,也可以用于平时的练习。详细内容可以看一下这篇博客:关于C/C++语言的初学者在哪刷题,怎么刷题-CSDN博客https://blog.csdn.net/2401_88433210/article/</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>