web基础与HTTP协议

目录

一、DNS与域名

1、域名的概念

2、域名的申请

二、DNS解析的三种方式

1、/etc/hosts

2、/etc/resolv.conf

3、在网卡配置文件中定义

三、域名服务与域名注册

1、域名

2、域名服务

3、域名注册

四、网页访问(HTTP/HTTPS)

1、网页基本概念

2、HTML

 3、网页基本标签

4、网页基本标签

5、标题标签类型

五、web

1、web概述

2、Web1.0 vs Web2.0

3、静态页面与动态页面

     3.1、静态页面定义

    3.2、静态页面特点

    3.3、动态页面

    3.4、动态页面特点

六、HTTP协议概述

1.HTTP协议简介、版本

1.1、HTTP协议的版本

2、HTTP1.0和HTTP1.1之间的区别

3、HTTP 请求格式( GET / POST 方式 )

     3.1、GET 方式

     3.2、POST 请求方式

     3.3、GET 与POST 区别

4、三次握手与四次挥手

   为什么是三次握手,而不是二次?

   为什么是四次断开?

七、常见状态码返回码

八、HTTP协议请求

1、工作原因

2、http协议请求流程分析

九、总结


引言:随着互联网的飞速发展,企业信息化应用大多已采用网页的形式构建,掌握网页的相关的知识和 HTTP 的请求流程,是掌握互联网技术的第一步。Web基础知识,包括域名的概念、DNS原理、静态网页和动态网页的相关知识。

一、DNS与域名

1、域名的概念

  • 网络是基于 TCP/IP 协议进行通信和连接的,每一台主机都有一个唯一的固定的 IP 地址,以区别于网络上成千上万个用户和计算机。
  • 网络中的地址方案分为两套:IP 地址系统和域名地址系统,两套地址系统是一一对应的。
  • 由于 IP 地址是数字标识,使用时难以记忆和书写,因此在IP地址的基础上发展出一种符号化的地址方案,来代替数字型的IP地址。
  • 每个符号化的地址都与特定的 IP 地址对应,这样网络上资源访问起来就比较容易的多,这个与网络上的数字型,IP地址相对应的字符型地址,就是域名。

2、域名的申请

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

阿里云域名怎么申请?

申请查询重名给钱20-60块备案(阿里云)拍照(负责人拍照人) 10-20天申请之后就可以解析和用但是如果有问题会被封。

二、DNS解析的三种方式

1、/etc/hosts

linux系统中负责快速解析的文件,包含了ip与主机名的映射关系,在没有DNS服务器的情况下,使用本地/etc/hosts完成解析/映射,实现快速访问

Hosts 文件是一个用于存储计算机网络中节点信息的文件,可以将主机名映射到相应的 IP 地址,
实现 DNS 的功能,可以由计算机的用户进行修改控制。
[root@ly ~]# vim /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.58.10 www.liyong.com

2、/etc/resolv.conf

DNS客户端配置文件,主要用于设置DNS服务器的iP和域名,还包含了主机域名的搜索顺序等等,
这个文件是由域名解析器(resolver,一个根据主机名解析IP地址的库)使用的配置文件。

主要用与匹配DNS服务器,示例:

nameserver 114.114.114.114

nameserver 8.8.8.8

[root@ly ~]# vim /etc/resolv.conf 

# Generated by NetworkManager
nameserver 8.8.8.8

3、在网卡配置文件中定义

/etc/ sysconfig/ network-scripts/ifcfg-ens33

DNS1=114.114.114.114

DNS2=8.8.8.8

#生效顺序: hosts文件 > 网卡配置文件 > /etc/resolv.conf

三、域名服务与域名注册

1、域名

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

根域:位于域名空间最顶层,一般用一个".“表示。以”.”根域为开始域名空间结构(从右往左看)根域位于域名空间最顶层,一般用一个".”表示基础单位,除了根域其他都只有一个上级域,有0或多个子域,同层域不可重复的子域或域名

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

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

主机:主机位于域名空间最下层,就是一台具体的计算机,如

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

2、域名服务

域名服务器:分布式,每台主机维护一个部分

  • 保持和维护域名空间的程序
  • 响应解析器的请求

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

3、域名注册

域名注册是Internet中用于解决地址对应问题的一种方法遵循先申请先注册原则

域名注册步骤:

  1. 准备申请资料
  2. 寻找域名注册网站
  3. 查询域名
  4. 正式申请
  5. 申请成功

四、网页访问(HTTP/HTTPS)

1、网页基本概念

网页

纯文本格式文件

编写语言为HTML

在用户的浏览器中被“翻译”成网页形式显示出来

网站

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

主页

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

域名

浏览网页时输入的网址

HTTP/HTTPS

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

URL

是一种万维网寻址系统

HTML

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

超链接

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

发布

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

2、HTML

HTML超文本标记语言

  • Hyper Text Markup Language
  • 网页的“源码”

浏览器:“解释和执行”HTML源码的工具

HTML文档的结构

HTML网页

头部部分

标题部分

主体部分

网页内容,包括文本、图像等

示例


 

 
我的第一个网页 
 

 

       Hello World!

 

web基础与HTTP协议_第1张图片

 3、网页基本标签

头标签中常用标签:

标签 描述
</td> <td style="text-align:center;">定义了文档的标题</td> </tr> <tr> <td style="text-align:center;"><base></td> <td style="text-align:center;">定义了页面链接标签的默认链接地址</td> </tr> <tr> <td style="text-align:center;"><link></td> <td style="text-align:center;">定义了一个文档和外部资源之间的关系</td> </tr> <tr> <td style="text-align:center;"><meta></td> <td style="text-align:center;">定义了 HTML 文档中的元数据</td> </tr> <tr> <td style="text-align:center;"><script></td> <td style="text-align:center;">定义了客户端的脚本文件</td> </tr> <tr> <td style="text-align:center;"><style></td> <td style="text-align:center;">定义了 HTML 文档的样式文件</td> </tr> </tbody> </table> <p><strong>内容标签中常用标签</strong></p> <table border="1" style="width:500px;"> <tbody> <tr> <td>标签</td> <td>描述</td> </tr> <tr> <td><table></td> <td>定义一个表格</td> </tr> <tr> <td><tr></td> <td>定义了表格中的一行</td> </tr> <tr> <td><td></td> <td>定义了表格中某一行的一列</td> </tr> <tr> <td><img></td> <td>定义了一个图像</td> </tr> <tr> <td><a></td> <td>定义了一个超链接</td> </tr> <tr> <td><p></td> <td>定义了一行</td> </tr> <tr> <td><br></td> <td>定义了换行</td> </tr> <tr> <td><font></td> <td>定义了字体</td> </tr> </tbody> </table> <h3 id="4%E3%80%81%E7%BD%91%E9%A1%B5%E5%9F%BA%E6%9C%AC%E6%A0%87%E7%AD%BE">4、网页基本标签</h3> <p><strong>网页摘要信息的作用</strong></p> <ul> <li>有利于浏览器解析</li> <li>有利于搜索引擎搜索</li> </ul> <pre><code><title>标签 #标题 <meta>标签 #元标志</code></pre> <h3 id="5%E3%80%81%E6%A0%87%E9%A2%98%E6%A0%87%E7%AD%BE%E7%B1%BB%E5%9E%8B">5、标题标签类型</h3> <ul> <li>标题标签</li> <li>行控制相关标签</li> <li>范围标签</li> <li>图像标签</li> <li>超链接标签</li> <li>特殊符号</li> </ul> <h2 id="%E4%BA%94%E3%80%81web">五、web</h2> <h3 id="1%E3%80%81web%E6%A6%82%E8%BF%B0">1、web概述</h3> <p>Web(World Wide Web)即全球广域网,也称为万维网</p> <p>一种分布式图形信息系统</p> <p>建立在Internet上的一种网络服务</p> <h3 id="2%E3%80%81Web1.0%20vs%20Web2.0">2、Web1.0 vs Web2.0</h3> <p><strong>Web1.0</strong></p> <ul> <li>以编辑为特征,网站提供给用户的内容是编辑处理后的,然后用户阅读网站提供的内容</li> <li>这个过程是网站到用户的单向行为</li> </ul> <p><strong>Web2.0</strong></p> <ul> <li>更注重用户的交互作用,用户既是网站内容的消费者(浏览者),也是网站内容的制造者</li> <li>加强了网站与用户之间的互动,网站内容基于用户提供,网站的诸多功能也由用户参与建设,实现了网站与用户双向的交流与参与</li> </ul> <p><strong>Web2.0特征</strong></p> <ul> <li>用户分享、以兴趣为聚合点的社群、开放的平台,活跃的用户</li> </ul> <h3 id="3.%E9%9D%99%E6%80%81%E9%A1%B5%E9%9D%A2%E4%B8%8E%E5%8A%A8%E6%80%81%E9%A1%B5%E9%9D%A2">3、静态页面与动态页面</h3> <h3 id="3.1%20%E9%9D%99%E6%80%81%E9%A1%B5%E9%9D%A2%E5%AE%9A%E4%B9%89"><strong>3.1、静态页面定义</strong></h3> <p><strong>静态网页是标准的HTML文件扩展名是.htm .html</strong></p> <ul> <li>例如文本、图像、声音、Flash动画、客户端脚本和Activex控件及Java小程序等</li> </ul> <p><strong>是网站建设的基础,早期网站一般都由静态网页制作</strong></p> <p><strong>没有后台数据库、不含程序和不可交互的网页</strong></p> <p><strong>相对更新起来比较麻烦,适用于一般更新较少的展示型网站</strong></p> <h3 id="3.2%20%E9%9D%99%E6%80%81%E9%A1%B5%E9%9D%A2%E7%89%B9%E7%82%B9"><strong>3.2、静态页面特点</strong></h3> <ul> <li>每个静态网页都有一个固定的URL,且URL以.htm、.html、.shtml等常见形式为后缀,而不含有"?"</li> <li>网页内容一经发布到网站服务器上,无论是否有用户访问,每个静态网页都是保存在网站服务器上的</li> <li>静态网页的内容相对稳定,容易被搜索引擎检索</li> <li>静态网页没有数据库的支持,在网站制作和维护方面工作量较大,因此当网站信息量很大时完全依靠静态网页制作方式比较困难</li> <li>静态网页的交互性较差,在功能方面有较大的限制</li> <li>页面浏览速度迅速,过程无需连接数据库,开启页面速度快于动态页面</li> </ul> <h3 id="3.3%E3%80%81%E5%8A%A8%E6%80%81%E9%A1%B5%E9%9D%A2">3.3、动态页面</h3> <ul> <li>网页URL不固定,能通过后台与用户交互,在动态网页网址中有一个标志性的符号——"?"</li> <li>常用的语言有PHP、JSP、Python、Ruby等</li> </ul> <h3 id="3.4%E3%80%81%E5%8A%A8%E6%80%81%E9%A1%B5%E9%9D%A2%E7%89%B9%E7%82%B9">3.4、动态页面特点</h3> <p><strong>交互性</strong></p> <p>网页会根据用户的要求和选择而动态改变和响应,将浏览器作为客户端界面,这将是今后wBB发展的大势所趋</p> <p><strong>自动更新</strong></p> <p>无须手动地更新HTML文档,便会自动生成新的页面,可以大大节省工作量</p> <p><strong>因时因人而变</strong></p> <p>当不同的时间,不同的人访问同一网址时会产生不同的页面</p> <h2 id="%E5%85%AD%E3%80%81HTTP%E5%8D%8F%E8%AE%AE%E6%A6%82%E8%BF%B0">六、HTTP协议概述</h2> <h3 id="1.HTTP%E5%8D%8F%E8%AE%AE%E7%AE%80%E4%BB%8B%E3%80%81%E7%89%88%E6%9C%AC">1.HTTP协议简介、版本</h3> <ul> <li>HTTP(超文本传输协议HyperText Transfer Protocol)协议是互联网上应用最为广泛的一种网络协议,它是基于TCP协议的应用层传输协议,简单来说就是客户端和服务端进行数据传输的一种规则。</li> <li>HTTP/HTTPS是应用层上的协议,建立在传输层TCP之上,客户端通过与服务端进行TCP连接(三次握手),之后发送HTTP请求与接收HTTP响应都是通过访问Socket接口来调用TCP协议实现</li> <li>HTTP 是一种无状态 (stateless) 协议, HTTP协议本身不会对发送过的请求和相应的通信状态进行持久化处理(存储,保存)。这样做的目的是为了保持HTTP协议的简单性,从而能够快速处理大量的事务, 提高效率。然而,在许多应用场景中,我们需要保持用户登录的状态或记录用户购物车中的商品。由于HTTP是无状态协议,所以必须引入一些技术来记录管理状态,例如Cookie。</li> <li>cookie和session都为了实现的是http的短期的持久化(内存/缓存方式,查询快、效率比较高),cookie是缓存在用户端(client)浏览器中的(默认缓存一天),当下次客户端通过同一个浏览器访问客户端的时候,会优先读取cookie中的缓存信息,向服务端进行请求,同时服务端收到客户端请求的时候,读取到cookie文件,知道客户端之前找的是服务器A处理的任务,为了省事儿,省资源,干脆直接讲请求直接再交给服务器A处理。</li> </ul> <p><strong>两者对比</strong></p> <p>cookie 省服务器性能,session 更安全</p> <h3 id="1.1%E3%80%81HTTP%E5%8D%8F%E8%AE%AE%E7%9A%84%E7%89%88%E6%9C%AC"><strong>1.1、HTTP协议的版本</strong></h3> <pre><code>HTTP 0.9已过时 HTTP 1.0(完善的请求、响应模型 并且协议补充(完整) get post head方法) HTTP 1.1(新增五种请求方式:OPTIONS PUT DELETE TRACE CONNECT) HTTP 2.0</code></pre> <h3 id="2.HTTP1.0%E5%92%8CHTTP1.1%E4%B9%8B%E9%97%B4%E7%9A%84%E5%8C%BA%E5%88%AB"><strong>2、HTTP1.0和HTTP1.1之间的区别</strong></h3> <p><strong>缓存处理</strong></p> <p>在HTTP1.0中主要使用header里的If-Modified-Since,Expires来做为缓存判断的标准,HTTP1.1则引入了更多的缓存控制策略例如Entity tag,If-Unmodified-Since, If-Match, If-None-Match等更多可供选择的缓存头来控制缓存策略。</p> <p><strong>带宽优化及网络连接的使用</strong></p> <p>HTTP1.0中,存在一些浪费带宽的现象,例如客户端只是需要某个对象的一部分,而服务器却将整个对象送过来了,并且不支持断点续传功能,HTTP1.1则在请求头引入了range头域,它允许只请求资源的某个部分,即返回码是206(Partial Content),这样就方便了开发者自由的选择以便于充分利用带宽和连接</p> <p><strong>错误通知的管理</strong></p> <p>在HTTP1.1中新增了24个错误状态响应码,如409(Conflict)表示请求的资源与资源的当前状态发生冲突;410(Gone)表示服务器上的某个资源被永久性的删除</p> <p><strong>Host头处理</strong></p> <p>在HTTP1.0中认为每台服务器都绑定一个唯一的IP地址,因此,请求消息中的URL并没有传递主机名(hostname)。但随着虚拟主机技术的发展,在一台物理服务器上可以存在多个虚拟主机(Multi-homed Web Servers),并且它们共享一个IP地址。HTTP1.1的请求消息和响应消息都应支持Host头域,且请求消息中如果没有Host头域会报告一个错误(400 Bad Request)</p> <p><strong>长连接</strong></p> <p>HTTP 1.1支持长连接(PersistentConnection)和请求的流水线(Pipelining)处理,在一个TCP连接上可以传送多个HTTP请求和响应,减少了建立和关闭连接的消耗和延迟,在HTTP1.1中默认开启Connection: keep-alive,一定程度上弥补了HTTP1.0每次请求都要创建连接的缺点<strong>。</strong></p> <h3 id="3%E3%80%81HTTP%20%E8%AF%B7%E6%B1%82%E6%A0%BC%E5%BC%8F(%20GET%20%2F%20POST%20%E6%96%B9%E5%BC%8F%20)"><br> 3、HTTP 请求格式( GET / POST 方式 )</h3> <p><strong>HTTP 支持几种不同的请求命令,这些命令被称为 HTTP 方法,每条 HTTP 请求报文都包含一个方法,告诉服务器要执行什么动作,包括获取一个页面、允许一个网关程序、删除一个文件等。</strong><br> 其中,最常用的方法是 GET、POST,如下:</p> <table border="1" style="width:500px;"> <tbody> <tr> <td style="text-align:center;">方法</td> <td style="text-align:center;">描述</td> </tr> <tr> <td style="text-align:center;">GET</td> <td style="text-align:center;">请求获取Request-URI</td> </tr> <tr> <td style="text-align:center;">PUT</td> <td style="text-align:center;">请求服务器存储一个资源,并用Request-URI作为其标识</td> </tr> <tr> <td style="text-align:center;">DELETE</td> <td style="text-align:center;">请求服务器删除 Request-URI所标识的资源</td> </tr> <tr> <td style="text-align:center;">POST</td> <td style="text-align:center;">在Request-URI 所标识的资源后附加新的数据</td> </tr> <tr> <td style="text-align:center;">HEAD</td> <td style="text-align:center;">请求获取由Request-URI所标识的资源的响应消息报头</td> </tr> </tbody> </table> <h3 id="3.1%E3%80%81GET%20%E6%96%B9%E5%BC%8F">3.1、GET 方式</h3> <p><strong>请求行</strong></p> <pre><code>请求的方式 请求的资源路径 请求的版本协议号</code></pre> <p><strong> 请求头(描述信息/标准化信息)</strong></p> <pre><code>Accept:客户端可以接受的数据类型 Accept-Language:客户端可以接受的语言类型 User-Agent:浏览器的信息 Accpect-Encoding:客户端可以接受的编码格式 Host:表示请求的ip和端口号 Connection:告诉服务器请求连接如何处理 Keep-Alive:通知服务器回传数据不要马上关闭,保持一小段的连接 Closed:马上关闭</code></pre> <h3 id="3.2%C2%A0POST%20%E8%AF%B7%E6%B1%82%E6%96%B9%E5%BC%8F"><strong>3.2、POST 请求方式</strong></h3> <p><strong>请求行</strong></p> <pre><code>请求的方式 请求的资源路径 请求的协议的版本号</code></pre> <p><strong>请求头</strong></p> <pre><code>Accept:客户端可以接受的数据类型 Accept-Language:客户端可以接受的语言类型 Referer:表示请求发起时,浏览器地址栏中的地址 User-Agent:浏览器的信息 Content-Type:发送的数据类型 Content-Length:发送的数据长度</code></pre> <p><strong>请求体</strong></p> <pre><code>就是发送给服务器的数据</code></pre> <h3 id="3.3%E3%80%81GET%20%E4%B8%8EPOST%20%E5%8C%BA%E5%88%AB">3.3、GET 与POST 区别</h3> <p><strong>区别一:语义上的区别</strong></p> <p>Get向服务器请求数据,依照HTTP协议,get 是用来请求数据。</p> <p>Post向服务器发数据,依照HTTP协议,Post的语义是向服务器添加数据,也就是说按照Post的语</p> <p>义,该操作是会修改服务器上的数据</p> <p><strong>区别二:服务器请求的区别</strong></p> <p>Get请求是可以被缓存,示例:访问百度,访问的方式就是GET,此时访问后的内容会缓被存在浏览器中,短时间再次访问,其实是拿到的浏览器中的缓存内容</p> <p>另外Get请求只能接收ASCII码的回复</p> <p>Post请求是不可以被缓存的。对于Post方式提交表单,刷新页面浏览器会弹出提示框“是否重新提交表单”,Post可以接收二进制等各种数据形式,所以如果要上传文件一般用Post请求</p> <p><strong>区别三:参数放请求头和请求体的差别</strong></p> <p>Get请求通常没有请求体(当然这也是可以由程序猿心情改变的),在TCP传输中只需传输一次(而不是一个包),所以Get请求效率相对高。</p> <p>Post请求将数据放在请求体中,而实际传输中,会先传输完请求头,再传输请求体,是分为两次传输的(而不是两个包)。Post请求头会比Get更小(一般不带参数),请求头更容易在一个TCP包中完成传输,更何况请求头中有Content-Length的标识,可以更好地保证Http包的完整性。</p> <table border="1" style="width:500px;"> <tbody> <tr> <td style="text-align:center;">GET方法</td> <td style="text-align:center;">POST方法</td> </tr> <tr> <td style="text-align:center;">从指定的服务器上获得数据</td> <td style="text-align:center;">提交数据给指定服务器处理</td> </tr> <tr> <td style="text-align:center;">GET请求能被缓存</td> <td style="text-align:center;">POST请求不能被缓存</td> </tr> <tr> <td style="text-align:center;">GET请求会保存在浏览器的浏览纪录里(cookit)</td> <td style="text-align:center;">POST请求不会保存在浏览器的浏览纪录里</td> </tr> <tr> <td style="text-align:center;">GET请求有长度的限制</td> <td style="text-align:center;">POST请求没有长度限制</td> </tr> <tr> <td style="text-align:center;">主要用于获取数据</td> <td style="text-align:center;">​查询的字符串不会显示在URL中,比较安全</td> </tr> <tr> <td style="text-align:center;">查询的字符串会显示在URL中,不安全</td> <td style="text-align:center;"></td> </tr> </tbody> </table> <h3 id="4%E3%80%81%E4%B8%89%E6%AC%A1%E6%8F%A1%E6%89%8B%E4%B8%8E%E5%9B%9B%E6%AC%A1%E6%8C%A5%E6%89%8B">4、三次握手与四次挥手</h3> <p><strong>三从握手</strong></p> <p><a href="http://img.e-com-net.com/image/info8/ddec1d34300449999634b09b3a1dfabb.jpg" target="_blank"><img alt="web基础与HTTP协议_第2张图片" height="395" src="http://img.e-com-net.com/image/info8/ddec1d34300449999634b09b3a1dfabb.jpg" width="650" style="border:1px solid black;"></a></p> <pre><code>SYN: Synchronize Sequence Numbers,同步序列编号,建立连接的信号。客户端在接受到 SYN 消息 时,就会在自己的段内生成一个随机值 X。 SYN-ACK:服务器收到 SYN 后,打开客户端连接,发送一个 SYN-ACK 作为答复。确认号设置为比接 收到的序列号多一个,即 X + 1,服务器为数据包选择的序列号是另一个随机数 Y。 ACK:Acknowledge character, 确认字符,表示发来的数据已确认接收无误。最后,客户端将 ACK 发送 给服务器。序列号被设置为所接收的确认值即 Y + 1。 FIN: 断开连接信号</code></pre> <ul> <li><strong>第一次握手</strong>:PC1向PC2发送请求连接(同步已发送状态)</li> <li><strong>第二次握手</strong>:PC2收到PC1的请求连接的信息后,然后给PC1发送消息,表示自己已经收到了,并且同意连接。(同步收到)</li> <li><strong>第三次握手</strong>:PC1收到PC2的信息后,还要给PC2发消息确认自己已经收到了(已建立链接)</li> </ul> <p><strong>四次挥手</strong></p> <p><a href="http://img.e-com-net.com/image/info8/40ce2f30be6d4ca8ab613d19c3aae5a9.jpg" target="_blank"><img alt="web基础与HTTP协议_第3张图片" height="342" src="http://img.e-com-net.com/image/info8/40ce2f30be6d4ca8ab613d19c3aae5a9.jpg" width="650" style="border:1px solid black;"></a></p> <pre><code>1、当客户端决定断开时,向服务端发送FIN信号,进入 FIN_WAIT_1 状态,等待来自服务器的 ACK 响应 2、 客户端收到服务器发送的 ACK 响应后,客户端就进入 FIN_WAIT_2 状态,然后等待来自服务器的 FIN 信号 3、服务器发送 ACK 确认消息后,一段时间(可以配置关闭)会发送 FIN 信号给客户端,告知客户端可以进行关闭。 4、客户端收到从服务端发送的 FIN 消息时,客户端就会由 FIN_WAIT_2 状态变为 TIME_WAIT 状态,在这里要注意这个时候客户端可以重新连接到服务端为了防止信息丢失,如果不进行连接,那么在一段时间连接关闭,客户端所有数据包括端口号缓存数据等全部释放 </code></pre> <ul> <li> 第一次挥手:PC1发送FIN/ACK给PC2,表示自己要断开连接。(终止等待-1)</li> <li>第二次挥手:PC2收到PC1请求断开连接的消息后,要发送ACK报文给PC1,表示确认自己收到了信息。(关闭等待)</li> <li>第三次挥手:PC2也要发送FIN/ACK给PC1,表示自己要断开连接.(终止等待-1)</li> <li>第四次握手:PC1收到PC2请求断开连接的消息后,也要发送ACK报文给PC1,然后断开连接。(时间等待)</li> </ul> <h3 id="%E4%B8%BA%E4%BB%80%E4%B9%88%E6%98%AF%E4%B8%89%E6%AC%A1%E6%8F%A1%E6%89%8B%EF%BC%8C%E8%80%8C%E4%B8%8D%E6%98%AF%E4%BA%8C%E6%AC%A1%EF%BC%9F">为什么是三次握手,而不是二次?</h3> <pre><code>为了实现可靠数据传输, TCP 协议的通信双方, 都必须维护一个序列号, 以标识发送出去的数据包中, 哪些是已经被对方收到的。 三次握手的过程即是通信双方相互告知序列号起始值, 并确认对方已经收到了序列号起始值的必经步骤 如果只是两次握手, 至多只有连接发起方的起始序列号能被确认, 另一方选择的序列号则得不到确认 </code></pre> <h3 id="%E4%B8%BA%E4%BB%80%E4%B9%88%E6%98%AF%E5%9B%9B%E6%AC%A1%E6%96%AD%E5%BC%80%EF%BC%9F">为什么是四次断开?</h3> <pre><code>因为当 Server 端收到 Client 端的 SYN连 接请求报文后,可以直接发送SYN+ACK报文。其中ACK报文是用来应答的,SYN报文是用来同步的。但是关闭连接时,当Server端收到FIN报文时,很可能并不会立即关闭SOCKET,所以只能先回复一个ACK报文,告诉Client端,“你发的FIN报文我收到了”。只有等到我Server端所有的报文都发送完了,我才能发送FIN报文,因此不能一起发送。故需要四步握手。 </code></pre> <h2 id="%E4%B8%83%E3%80%81%E5%B8%B8%E8%A7%81%E7%8A%B6%E6%80%81%E7%A0%81%E8%BF%94%E5%9B%9E%E7%A0%81">七、常见状态码返回码</h2> <table border="1" style="width:500px;"> <tbody> <tr> <td style="text-align:center;">状态码首位</td> <td style="text-align:center;">已定义范围</td> <td style="text-align:center;">分类</td> </tr> <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> <p><strong>生产环境常见的HTTP状态码</strong></p> <table border="1" style="width:500px;"> <tbody> <tr> <td style="text-align:center;">消息</td> <td style="text-align:center;">描述</td> </tr> <tr> <td style="text-align:center;">200 OK</td> <td style="text-align:center;">请求成功(其后是对GET和POST请求的应答文档)</td> </tr> <tr> <td style="text-align:center;">301 Moved Permanently</td> <td style="text-align:center;">请求的永久页面跳转</td> </tr> <tr> <td style="text-align:center;">403 Forbidden</td> <td style="text-align:center;">禁止访问该页面</td> </tr> <tr> <td style="text-align:center;">404 Not Found</td> <td style="text-align:center;">服务器无法找到被请求的页面</td> </tr> <tr> <td style="text-align:center;">500 Internal Server Error </td> <td style="text-align:center;">内部服务器错误</td> </tr> <tr> <td style="text-align:center;">502 Bad Gateway </td> <td style="text-align:center;">无效网关</td> </tr> <tr> <td style="text-align:center;">503 Service Unavailable</td> <td style="text-align:center;">当前服务不可用</td> </tr> <tr> <td style="text-align:center;">504 Gateway Timeout</td> <td style="text-align:center;">网关请求超时</td> </tr> </tbody> </table> <h2 id="%E5%85%AB%E3%80%81HTTP%E5%8D%8F%E8%AE%AE%E8%AF%B7%E6%B1%82">八、HTTP协议请求</h2> <h3 id="1%E3%80%81%E5%B7%A5%E4%BD%9C%E5%8E%9F%E5%9B%A0">1、工作原因</h3> <ul> <li>由HTTP客户端发起一个请求,建立一个到服务器指定端口(默认是80端口)的TCP连接。 连接</li> <li>HTTP服务器则在那个端口监听客户端发送过来的请求。一旦收到请求, 请求</li> <li>服务器(向客户端)发回一个状态行,比如"HTTP/1.1 200 OK",和(响应的)消息,消息的消息体可能是请求的文件、错误消息、或者其它一些信息。 响应</li> <li>客户端接收服务器所返回的信息通过浏览器显示在用户的显示屏上,然后客 http工作流程图 http工作流程图 户机与服务器断开连接。</li> </ul> <p><strong>HTTP使用TCP而不是UDP的原因在于(打开)一个网页必须传送很多数据,而TCP协议提供传输控制,按顺序组织数据,和错误纠正</strong></p> <h3 id="2%E3%80%81http%E5%8D%8F%E8%AE%AE%E8%AF%B7%E6%B1%82%E6%B5%81%E7%A8%8B%E5%88%86%E6%9E%90">2、http协议请求流程分析</h3> <p>用户输入URL(地址链接)(http://www.baidu.com:80/tools.html)客户端获取到端口及主机名后,客户端利用DNS解析域名,客户端的浏览器会先找自身的缓存,如果有解析结束,如果没有客户端会去找host文件,如果host文件没有的话,客户端会去本地的DNS缓存服务器。本地的DNS缓存服务器没有的话,缓存服务器会去找根域,根域没有,会返回一个.com,然后本地缓存器会去找顶级域,顶级域没有的话会返回baidu.com,然后本地缓存服务器会去找二级域,二级域解析完后会返回客户端。</p> <p><strong>客户端解析到IP地址后会通过TCP的三次握手与服务器建立连接。</strong></p> <h2 id="%E4%B9%9D%E3%80%81%E6%80%BB%E7%BB%93">九、总结</h2> <p>本篇主要讲述了web1和web2的区别,以及httpd协议的格式,主要需要了解理论知识。以及post和get的方法区别。</p> </div> </div> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1530045518988734464"></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,网络,网络协议)</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/1773604712310964224.htm" title="python抓包与解包_Python—网络抓包与解包(pcap、dpkt)" target="_blank">python抓包与解包_Python—网络抓包与解包(pcap、dpkt)</a> <span class="text-muted">weixin_39691055</span> <a class="tag" taget="_blank" href="/search/python%E6%8A%93%E5%8C%85%E4%B8%8E%E8%A7%A3%E5%8C%85/1.htm">python抓包与解包</a> <div>pcap安装[root@localhost~]#pipinstallpypcap抓包与解包#-*-coding:utf-8-*-importpcap,dpktimportre,threading,requests__black_ip=['103.224.249.123','203.66.1.212']#抓包:param1eth_name网卡名,如:eth0,eth3。param2p_type日志捕</div> </li> <li><a href="/article/1773603579169406976.htm" title="2022年河南省高等职业教育技能大赛云计算赛项竞赛赛卷(样卷)" target="_blank">2022年河南省高等职业教育技能大赛云计算赛项竞赛赛卷(样卷)</a> <span class="text-muted">忘川_ydy</span> <a class="tag" taget="_blank" href="/search/%E4%BA%91%E8%AE%A1%E7%AE%97/1.htm">云计算</a><a class="tag" taget="_blank" href="/search/%E4%BA%91%E8%AE%A1%E7%AE%97/1.htm">云计算</a><a class="tag" taget="_blank" href="/search/openstack/1.htm">openstack</a><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/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/k8s/1.htm">k8s</a><a class="tag" taget="_blank" href="/search/ansible/1.htm">ansible</a> <div>#需要资源(软件包及镜像)或有问题的,可私博主!!!#需要资源(软件包及镜像)或有问题的,可私博主!!!#需要资源(软件包及镜像)或有问题的,可私博主!!!第一部分:私有云任务1私有云服务搭建(10分)使用提供的用户名密码,登录竞赛用的云计算平台,按要求自行使用镜像创建两台云主机,创建完云主机后确保网络正常通信,然后按要求配置服务器。根据提供安装脚本框架,补充脚本完成OpenStack平台的安装搭</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/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/1773504784859463680.htm" title="子非鱼,焉知鱼之乐" target="_blank">子非鱼,焉知鱼之乐</a> <span class="text-muted">零启若</span> <div>在如今网络爆飞信息发达的时代,我们会在各种论坛以及平台看到不计其数的评论,有一些人在评论的时候总是以高尚的道德为标准和底线去衡量,评判,甚至谩骂他人。并且觉得自己充满正义感,义正辞严。这些人姑且不说有没有考虑到别人的感受,更没有感同身受的体验,只是凭借着言论自由,甚至是一种猥琐和变相的心理发泄。就像人和动物一样,人类总是以高等动物自居,高高在上,并且认为人类吃食各种动物都是理所当然,动物就是给人吃</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/1773496455663779840.htm" title="关于举办第十五届蓝桥杯全国软件和信息技术专业人才大赛项目实战赛的通知" target="_blank">关于举办第十五届蓝桥杯全国软件和信息技术专业人才大赛项目实战赛的通知</a> <span class="text-muted">QSNKJJSW</span> <a class="tag" taget="_blank" href="/search/%E8%93%9D%E6%A1%A5%E6%9D%AF/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><a class="tag" taget="_blank" href="/search/%E9%9D%92%E5%B0%91%E5%B9%B4%E7%BC%96%E7%A8%8B/1.htm">青少年编程</a><a class="tag" taget="_blank" href="/search/%E6%97%A0%E4%BA%BA%E6%9C%BA/1.htm">无人机</a><a class="tag" taget="_blank" href="/search/%E6%9C%BA%E5%99%A8%E4%BA%BA/1.htm">机器人</a><a class="tag" taget="_blank" href="/search/%E7%A7%91%E6%8A%80/1.htm">科技</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a> <div>各高等院校及相关单位:为贯彻落实《中国教育现代化2035》和《国务院关于印发新时期促进集成电路产业和软件产业高质量发展若干政策的通知》有关精神,为我国制造强国和网络强国战略提供人才支持,提高学生自主创新意识和工程实践能力,工业和信息化部人才交流中心决定举办第十五届蓝桥杯全国软件和信息技术专业人才大赛——项目实战赛。大赛连续四年入围中国高等教育学会“全国普通高校大学生竞赛排行榜”竞赛项目榜单。现将项</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/1773471029155397632.htm" title="网络安全(黑客)——自学2024" target="_blank">网络安全(黑客)——自学2024</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/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8/1.htm">网络安全</a><a class="tag" taget="_blank" href="/search/%E4%BF%A1%E6%81%AF%E5%AE%89%E5%85%A8/1.htm">信息安全</a><a class="tag" taget="_blank" href="/search/%E6%B8%97%E9%80%8F%E6%B5%8B%E8%AF%95/1.htm">渗透测试</a> <div>01什么是网络安全网络安全可以基于攻击和防御视角来分类,我们经常听到的“红队”、“渗透测试”等就是研究攻击技术,而“蓝队”、“安全运营”、“安全运维”则研究防御技术。无论网络、Web、移动、桌面、云等哪个领域,都有攻与防两面性,例如Web安全技术,既有Web渗透,也有Web防御技术(WAF)。作为一个合格的网络安全工程师,应该做到攻守兼备,毕竟知己知彼,才能百战百胜。02怎样规划网络安全如果你是一</div> </li> <li><a href="/article/1773470776930926592.htm" title="黑客(网络安全)技术自学30天" target="_blank">黑客(网络安全)技术自学30天</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/%E7%AC%94%E8%AE%B0/1.htm">笔记</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8/1.htm">网络安全</a><a class="tag" taget="_blank" href="/search/%E4%BF%A1%E6%81%AF%E5%AE%89%E5%85%A8/1.htm">信息安全</a><a class="tag" taget="_blank" href="/search/%E6%B8%97%E9%80%8F%E6%B5%8B%E8%AF%95/1.htm">渗透测试</a> <div>01什么是网络安全网络安全可以基于攻击和防御视角来分类,我们经常听到的“红队”、“渗透测试”等就是研究攻击技术,而“蓝队”、“安全运营”、“安全运维”则研究防御技术。无论网络、Web、移动、桌面、云等哪个领域,都有攻与防两面性,例如Web安全技术,既有Web渗透,也有Web防御技术(WAF)。作为一个合格的网络安全工程师,应该做到攻守兼备,毕竟知己知彼,才能百战百胜。02怎样规划网络安全如果你是一</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/1773449816127373312.htm" title="生活中的很多事是既令人生气又令人伤感,但却还无可奈何" target="_blank">生活中的很多事是既令人生气又令人伤感,但却还无可奈何</a> <span class="text-muted">城中隐士</span> <div>今天一打开手机,就看到姨娘家的姐姐兰兰在抖音上发了一则信息,信息内容如下:“我绝对不是我爸妈亲生的,不知他们是从哪儿把我捡回来的”。图源网络,侵则必删今天一大早,天刚蒙蒙亮,姨父就着急莫慌给姨妈家姐姐来一电话,说是家里今天有急事,喊她赶紧回去。还没等姐姐反应过来,姨父就草草地挂断了电话。吓得姐姐立马清醒,以为家里不知出了多大的事?她赶紧从床上爬起来以最快速度第一时间从温江赶到中江。等她顶着烈日,风</div> </li> <li><a href="/article/1773449688918327296.htm" title="李金清焦点网络初级班34期 约练46次,坚持分享79天" target="_blank">李金清焦点网络初级班34期 约练46次,坚持分享79天</a> <span class="text-muted">清水清水</span> <div>约练心得咨询中,忍受不了沉默;聊天中,忍受不了寂静;工作中,忍受不了闲暇。自己心中按耐不住的着急,总想一步做的最好,总想让大家开心,总怕别人尴尬,总怕冷场,,,这些都充满着习惯,充满着认为自己该做的事。咨询中的沉默是为了让来访者时间考虑思索,更好的打开,有力咨询的开展。聊天中的静下来,是为了对上个问题的思考和对下个问题的开展留有空间。工作中的闲暇,是为了让自己有时间静下来整理和积累,为了以后的忙而</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/1773410350826323968.htm" title="物联网边缘网关有哪些优势?-天拓四方" target="_blank">物联网边缘网关有哪些优势?-天拓四方</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/%E5%85%B6%E4%BB%96/1.htm">其他</a><a class="tag" taget="_blank" href="/search/%E8%BE%B9%E7%BC%98%E8%AE%A1%E7%AE%97/1.htm">边缘计算</a> <div>随着物联网技术的快速发展,越来越多的设备接入网络,数据交互日益频繁,对数据处理和传输的要求也越来越高。在这样的背景下,物联网边缘网关应运而生,以其低延迟、减少带宽消耗、提高数据质量和安全性等优势,为物联网应用提供了强大的支持。物联网边缘网关的应用场景广泛,几乎涵盖了所有需要实时数据处理和传输的领域。在工业场景中,边缘计算网关可以实时处理海量传感器和设备的数据,实现对运行、制造过程的全环节实时监控、</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/1773363905746239488.htm" title="Element-UI中el-time-picker时间选择器无法选择" target="_blank">Element-UI中el-time-picker时间选择器无法选择</a> <span class="text-muted">爱健身的小刘同学</span> <a class="tag" taget="_blank" href="/search/bug/1.htm">bug</a><a class="tag" taget="_blank" href="/search/Element/1.htm">Element</a><a class="tag" taget="_blank" href="/search/Vue%E7%B3%BB%E5%88%97/1.htm">Vue系列</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><a class="tag" taget="_blank" href="/search/elementui/1.htm">elementui</a> <div>前言前几天开发时,在做一个时间选择时,遇到了无法选中时间的问题在网络上找了解决方法,特此记录一下解决方法我的代码结构营业时间时间选择不上的原因是因为初始值问题很有可能是最开始赋值为空数组了所以有3个解决方法1.设置为nullbusinessTimeInfo:null2.设置当前时间businessTimeInfo:[newDate(newDate()),newDate(newDate())](默认</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/1773347164047605760.htm" title="自学黑客(网络安全)技术——2024最新" target="_blank">自学黑客(网络安全)技术——2024最新</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/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/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/%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8/1.htm">网络安全</a><a class="tag" taget="_blank" href="/search/%E4%BF%A1%E6%81%AF%E5%AE%89%E5%85%A8/1.htm">信息安全</a> <div>01什么是网络安全网络安全可以基于攻击和防御视角来分类,我们经常听到的“红队”、“渗透测试”等就是研究攻击技术,而“蓝队”、“安全运营”、“安全运维”则研究防御技术。无论网络、Web、移动、桌面、云等哪个领域,都有攻与防两面性,例如Web安全技术,既有Web渗透,也有Web防御技术(WAF)。作为一个合格的网络安全工程师,应该做到攻守兼备,毕竟知己知彼,才能百战百胜。02怎样规划网络安全如果你是一</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/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/1773302480382263296.htm" title="计算机常用端口号" target="_blank">计算机常用端口号</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/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a><a class="tag" taget="_blank" href="/search/ssh/1.htm">ssh</a> <div>ftp:(20端口)用于ftp服务,用于数据传输。ftp:(21端口)用于文件上传和下载。ssh:(22端口)用于安全Shell访问和文件传输。telnet:(23端口)用于远程命令行计算机管理。smtp:(25端口)用于发送电子邮件。dns:(53端口)用于域名解析。dhcp:(67和68端口)用于动态分配IP地址和配置网络参数。tftp:(69端口)使用udp连接。finger:(79端口)是</div> </li> <li><a href="/article/78.htm" title="桌面上有多个球在同时运动,怎么实现球之间不交叉,即碰撞?" target="_blank">桌面上有多个球在同时运动,怎么实现球之间不交叉,即碰撞?</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/%E5%B0%8F%E7%90%83%E7%A2%B0%E6%92%9E/1.htm">小球碰撞</a> <div>稍微想了一下,然后解决了很多bug,最后终于把它实现了。其实原理很简单。在每改变一个小球的x y坐标后,遍历整个在dom树中的其他小球,看一下它们与当前小球的距离是否小于球半径的两倍?若小于说明下一次绘制该小球(设为a)前要把他的方向变为原来相反方向(与a要碰撞的小球设为b),即假如当前小球的距离小于球半径的两倍的话,马上改变当前小球方向。那么下一次绘制也是先绘制b,再绘制a,由于a的方向已经改变</div> </li> <li><a href="/article/205.htm" title="《高性能HTML5》读后整理的Web性能优化内容" target="_blank">《高性能HTML5》读后整理的Web性能优化内容</a> <span class="text-muted">白糖_</span> <a class="tag" taget="_blank" href="/search/html5/1.htm">html5</a> <div> 读后感         先说说《高性能HTML5》这本书的读后感吧,个人觉得这本书前两章跟书的标题完全搭不上关系,或者说只能算是讲解了“高性能”这三个字,HTML5完全不见踪影。个人觉得作者应该首先把HTML5的大菜拿出来讲一讲,再去分析性能优化的内容,这样才会有吸引力。因为只是在线试读,没有机会看后面的内容,所以不胡乱评价了。   </div> </li> <li><a href="/article/332.htm" title="[JShop]Spring MVC的RequestContextHolder使用误区" target="_blank">[JShop]Spring MVC的RequestContextHolder使用误区</a> <span class="text-muted">dinguangx</span> <a class="tag" taget="_blank" href="/search/jeeshop/1.htm">jeeshop</a><a class="tag" taget="_blank" href="/search/%E5%95%86%E5%9F%8E%E7%B3%BB%E7%BB%9F/1.htm">商城系统</a><a class="tag" taget="_blank" href="/search/jshop/1.htm">jshop</a><a class="tag" taget="_blank" href="/search/%E7%94%B5%E5%95%86%E7%B3%BB%E7%BB%9F/1.htm">电商系统</a> <div>    在spring mvc中,为了随时都能取到当前请求的request对象,可以通过RequestContextHolder的静态方法getRequestAttributes()获取Request相关的变量,如request, response等。         在jshop中,对RequestContextHolder的</div> </li> <li><a href="/article/459.htm" title="算法之时间复杂度" target="_blank">算法之时间复杂度</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/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E6%97%B6%E9%97%B4%E5%A4%8D%E6%9D%82%E5%BA%A6/1.htm">时间复杂度</a><a class="tag" taget="_blank" href="/search/%E6%95%88%E7%8E%87/1.htm">效率</a> <div>      在 计算机科学 中, 算法 的时间复杂度是一个 函数 ,它定量描述了该算法的运行时间。这是一个关于代表算法输入值的 字符串 的长度的函数。时间复杂度常用 大O符号 表述,不包括这个函数的低阶项和首项系数。使用这种方式时,时间复杂度可被称为是 渐近 的,它考察当输入值大小趋近无穷时的情况。 这样用大写O()来体现算法时间复杂度的记法,</div> </li> <li><a href="/article/586.htm" title="Java事务处理" target="_blank">Java事务处理</a> <span class="text-muted">g21121</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>一、什么是Java事务 通常的观念认为,事务仅与数据库相关。 事务必须服从ISO/IEC所制定的ACID原则。ACID是原子性(atomicity)、一致性(consistency)、隔离性(isolation)和持久性(durability)的缩写。事务的原子性表示事务执行过程中的任何失败都将导致事务所做的任何修改失效。一致性表示当事务执行失败时,所有被该事务影响的数据都应该恢复到事务执行前的状</div> </li> <li><a href="/article/713.htm" title="Linux awk命令详解" target="_blank">Linux awk命令详解</a> <span class="text-muted">510888780</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a> <div>一.  AWK 说明   awk是一种编程语言,用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入、一个或多个文件,或其它命令的输出。它支持用户自定义函数和动态正则表达式等先进功能,是linux/unix下的一个强大编程工具。它在命令行中使用,但更多是作为脚本来使用。    awk的处理文本和数据的方式:它逐行扫描文件,从第一行到</div> </li> <li><a href="/article/840.htm" title="android permission" target="_blank">android permission</a> <span class="text-muted">布衣凌宇</span> <a class="tag" taget="_blank" href="/search/Permission/1.htm">Permission</a> <div><uses-permission android:name="android.permission.ACCESS_CHECKIN_PROPERTIES" ></uses-permission>允许读写访问"properties"表在checkin数据库中,改值可以修改上传 <uses-permission android:na</div> </li> <li><a href="/article/967.htm" title="Oracle和谷歌Java Android官司将推迟" target="_blank">Oracle和谷歌Java Android官司将推迟</a> <span class="text-muted">aijuans</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a> <div>北京时间 10 月 7 日,据国外媒体报道,Oracle 和谷歌之间一场等待已久的官司可能会推迟至 10 月 17 日以后进行,这场官司的内容是 Android 操作系统所谓的 Java 专利权之争。本案法官 William Alsup 称根据专利权专家 Florian Mueller 的预测,谷歌 Oracle 案很可能会被推迟。  该案中的第二波辩护被安排在 10 月 17 日出庭,从目前看来</div> </li> <li><a href="/article/1094.htm" title="linux shell 常用命令" target="_blank">linux shell 常用命令</a> <span class="text-muted">antlove</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/shell/1.htm">shell</a><a class="tag" taget="_blank" href="/search/command/1.htm">command</a> <div>grep [options] [regex] [files] /var/root # grep -n "o" * hello.c:1:/* This C source can be compiled with: </div> </li> <li><a href="/article/1221.htm" title="Java解析XML配置数据库连接(DOM技术连接 SAX技术连接)" target="_blank">Java解析XML配置数据库连接(DOM技术连接 SAX技术连接)</a> <span class="text-muted">百合不是茶</span> <a class="tag" taget="_blank" href="/search/sax%E6%8A%80%E6%9C%AF/1.htm">sax技术</a><a class="tag" taget="_blank" href="/search/Java%E8%A7%A3%E6%9E%90xml%E6%96%87%E6%A1%A3/1.htm">Java解析xml文档</a><a class="tag" taget="_blank" href="/search/dom%E6%8A%80%E6%9C%AF/1.htm">dom技术</a><a class="tag" taget="_blank" href="/search/XML%E9%85%8D%E7%BD%AE%E6%95%B0%E6%8D%AE%E5%BA%93%E8%BF%9E%E6%8E%A5/1.htm">XML配置数据库连接</a> <div>    XML配置数据库文件的连接其实是个很简单的问题,为什么到现在才写出来主要是昨天在网上看了别人写的,然后一直陷入其中,最后发现不能自拔 所以今天决定自己完成 ,,,,现将代码与思路贴出来供大家一起学习   XML配置数据库的连接主要技术点的博客; JDBC编程 : JDBC连接数据库 DOM解析XML:  DOM解析XML文件 SA</div> </li> <li><a href="/article/1348.htm" title="underscore.js 学习(二)" target="_blank">underscore.js 学习(二)</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/underscore/1.htm">underscore</a> <div>        Array Functions 所有数组函数对参数对象一样适用。1.first   _.first(array, [n])   别名: head, take       返回array的第一个元素,设置了参数n,就</div> </li> <li><a href="/article/1475.htm" title="plSql介绍" target="_blank">plSql介绍</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</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/plsql/1.htm">plsql</a> <div>/* * PL/SQL 程序设计学习笔记 * 学习plSql介绍.pdf * 时间:2010-10-05 */ --创建DEPT表 create table DEPT ( DEPTNO NUMBER(10), DNAME NVARCHAR2(255), LOC NVARCHAR2(255) ) delete dept; select </div> </li> <li><a href="/article/1602.htm" title="【Nginx一】Nginx安装与总体介绍" target="_blank">【Nginx一】Nginx安装与总体介绍</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a> <div>启动、停止、重新加载Nginx nginx 启动Nginx服务器,不需要任何参数u nginx -s stop 快速(强制)关系Nginx服务器 nginx -s quit 优雅的关闭Nginx服务器 nginx -s reload 重新加载Nginx服务器的配置文件 nginx -s reopen 重新打开Nginx日志文件   </div> </li> <li><a href="/article/1729.htm" title="spring mvc开发中浏览器兼容的奇怪问题" target="_blank">spring mvc开发中浏览器兼容的奇怪问题</a> <span class="text-muted">bitray</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/springMVC/1.htm">springMVC</a><a class="tag" taget="_blank" href="/search/%E6%B5%8F%E8%A7%88%E5%99%A8/1.htm">浏览器</a><a class="tag" taget="_blank" href="/search/%E4%B8%8A%E4%BC%A0%E6%96%87%E4%BB%B6/1.htm">上传文件</a> <div>    最近个人开发一个小的OA项目,属于复习阶段.使用的技术主要是spring mvc作为前端框架,mybatis作为数据库持久化技术.前台使用jquery和一些jquery的插件.     在开发到中间阶段时候发现自己好像忽略了一个小问题,整个项目一直在firefox下测试,没有在IE下测试,不确定是否会出现兼容问题.由于jquer</div> </li> <li><a href="/article/1856.htm" title="Lua的io库函数列表" target="_blank">Lua的io库函数列表</a> <span class="text-muted">ronin47</span> <a class="tag" taget="_blank" href="/search/lua+io/1.htm">lua io</a> <div>1、io表调用方式:使用io表,io.open将返回指定文件的描述,并且所有的操作将围绕这个文件描述   io表同样提供三种预定义的文件描述io.stdin,io.stdout,io.stderr   2、文件句柄直接调用方式,即使用file:XXX()函数方式进行操作,其中file为io.open()返回的文件句柄   多数I/O函数调用失败时返回nil加错误信息,有些函数成功时返回nil</div> </li> <li><a href="/article/1983.htm" title="java-26-左旋转字符串" target="_blank">java-26-左旋转字符串</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div> public class LeftRotateString { /** * Q 26 左旋转字符串 * 题目:定义字符串的左旋转操作:把字符串前面的若干个字符移动到字符串的尾部。 * 如把字符串abcdef左旋转2位得到字符串cdefab。 * 请实现字符串左旋转的函数。要求时间对长度为n的字符串操作的复杂度为O(n),辅助内存为O(1)。 */ pu</div> </li> <li><a href="/article/2110.htm" title="《vi中的替换艺术》-linux命令五分钟系列之十一" target="_blank">《vi中的替换艺术》-linux命令五分钟系列之十一</a> <span class="text-muted">cfyme</span> <a class="tag" taget="_blank" href="/search/linux%E5%91%BD%E4%BB%A4/1.htm">linux命令</a> <div>vi方面的内容不知道分类到哪里好,就放到《Linux命令五分钟系列》里吧! 今天编程,关于栈的一个小例子,其间我需要把”S.”替换为”S->”(替换不包括双引号)。 其实这个不难,不过我觉得应该总结一下vi里的替换技术了,以备以后查阅。   1 所有替换方案都要在冒号“:”状态下书写。 2 如果想将abc替换为xyz,那么就这样 :s/abc/xyz/ 不过要特别</div> </li> <li><a href="/article/2237.htm" title="[轨道与计算]新的并行计算架构" target="_blank">[轨道与计算]新的并行计算架构</a> <span class="text-muted">comsci</span> <a class="tag" taget="_blank" href="/search/%E5%B9%B6%E8%A1%8C%E8%AE%A1%E7%AE%97/1.htm">并行计算</a> <div>      我在进行流程引擎循环反馈试验的过程中,发现一个有趣的事情。。。如果我们在流程图的每个节点中嵌入一个双向循环代码段,而整个流程中又充满着很多并行路由,每个并行路由中又包含着一些并行节点,那么当整个流程图开始循环反馈过程的时候,这个流程图的运行过程是否变成一个并行计算的架构呢?      </div> </li> <li><a href="/article/2364.htm" title="重复执行某段代码" target="_blank">重复执行某段代码</a> <span class="text-muted">dai_lm</span> <a class="tag" taget="_blank" href="/search/android/1.htm">android</a> <div>用handler就可以了 private Handler handler = new Handler(); private Runnable runnable = new Runnable() { public void run() { update(); handler.postDelayed(this, 5000); } }; 开始计时 h</div> </li> <li><a href="/article/2491.htm" title="Java实现堆栈(list实现)" target="_blank">Java实现堆栈(list实现)</a> <span class="text-muted">datageek</span> <a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E2%80%94%E2%80%94%E5%A0%86%E6%A0%88/1.htm">数据结构——堆栈</a> <div>public interface IStack<T> { //元素出栈,并返回出栈元素 public T pop(); //元素入栈 public void push(T element); //获取栈顶元素 public T peek(); //判断栈是否为空 public boolean isEmpty</div> </li> <li><a href="/article/2618.htm" title="四大备份MySql数据库方法及可能遇到的问题" target="_blank">四大备份MySql数据库方法及可能遇到的问题</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/DB/1.htm">DB</a><a class="tag" taget="_blank" href="/search/backup/1.htm">backup</a> <div>一:通过备份王等软件进行备份前台进不去? 用备份王等软件进行备份是大多老站长的选择,这种方法方便快捷,只要上传备份软件到空间一步步操作就可以,但是许多刚接触备份王软件的客用户来说还原后会出现一个问题:因为新老空间数据库用户名和密码不统一,网站文件打包过来后因没有修改连接文件,还原数据库是好了,可是前台会提示数据库连接错误,网站从而出现打不开的情况。 解决方法:学会修改网站配置文件,大多是由co</div> </li> <li><a href="/article/2745.htm" title="github做webhooks:[1]钩子触发是否成功测试" target="_blank">github做webhooks:[1]钩子触发是否成功测试</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/github/1.htm">github</a><a class="tag" taget="_blank" href="/search/git/1.htm">git</a><a class="tag" taget="_blank" href="/search/webhook/1.htm">webhook</a> <div>转自: http://jingyan.baidu.com/article/5d6edee228c88899ebdeec47.html github和svn一样有钩子的功能,而且更加强大。例如我做的是最常见的push操作触发的钩子操作,则每次更新之后的钩子操作记录都会在github的控制板可以看到! 工具/原料 github 方法/步骤 </div> </li> <li><a href="/article/2872.htm" title="JSP中<base href="<%=basePath%>">的作用" target="_blank">JSP中<base href="<%=basePath%>">的作用</a> <span class="text-muted">蕃薯耀</span> <div>JSP中<base href="<%=basePath%>">的作用 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> </div> </li> <li><a href="/article/2999.htm" title="linux下SAMBA服务安装与配置" target="_blank">linux下SAMBA服务安装与配置</a> <span class="text-muted">hanqunfeng</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a> <div>局域网使用的文件共享服务。 一.安装包: rpm -qa | grep samba samba-3.6.9-151.el6.x86_64 samba-common-3.6.9-151.el6.x86_64 samba-winbind-3.6.9-151.el6.x86_64 samba-client-3.6.9-151.el6.x86_64 samba-winbind-clients</div> </li> <li><a href="/article/3126.htm" title="guava cache" target="_blank">guava cache</a> <span class="text-muted">IXHONG</span> <a class="tag" taget="_blank" href="/search/cache/1.htm">cache</a> <div>缓存,在我们日常开发中是必不可少的一种解决性能问题的方法。简单的说,cache 就是为了提升系统性能而开辟的一块内存空间。   缓存的主要作用是暂时在内存中保存业务系统的数据处理结果,并且等待下次访问使用。在日常开发的很多场合,由于受限于硬盘IO的性能或者我们自身业务系统的数据处理和获取可能非常费时,当我们发现我们的系统这个数据请求量很大的时候,频繁的IO和频繁的逻辑处理会导致硬盘和CPU资源的</div> </li> <li><a href="/article/3253.htm" title="Query的开始--全局变量,noconflict和兼容各种js的初始化方法" target="_blank">Query的开始--全局变量,noconflict和兼容各种js的初始化方法</a> <span class="text-muted">kvhur</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><a class="tag" taget="_blank" href="/search/css/1.htm">css</a> <div>这个是整个jQuery代码的开始,里面包含了对不同环境的js进行的处理,例如普通环境,Nodejs,和requiredJs的处理方法。 还有jQuery生成$, jQuery全局变量的代码和noConflict代码详解  完整资源: http://www.gbtags.com/gb/share/5640.htm jQuery 源码:   (</div> </li> <li><a href="/article/3380.htm" title="美国人的福利和中国人的储蓄" target="_blank">美国人的福利和中国人的储蓄</a> <span class="text-muted">nannan408</span> <div>   今天看了篇文章,震动很大,说的是美国的福利。    美国医院的无偿入院真的是个好措施。小小的改善,对于社会是大大的信心。小孩,税费等,政府不收反补,真的体现了人文主义。    美国这么高的社会保障会不会使人变懒?答案是否定的。正因为政府解决了后顾之忧,人们才得以倾尽精力去做一些有创造力,更造福社会的事情,这竟成了美国社会思想、人</div> </li> <li><a href="/article/3507.htm" title="N阶行列式计算(JAVA)" target="_blank">N阶行列式计算(JAVA)</a> <span class="text-muted">qiuwanchi</span> <a class="tag" taget="_blank" href="/search/N%E9%98%B6%E8%A1%8C%E5%88%97%E5%BC%8F%E8%AE%A1%E7%AE%97/1.htm">N阶行列式计算</a> <div>package gaodai; import java.util.List; /** * N阶行列式计算 * @author 邱万迟 * */ public class DeterminantCalculation { public DeterminantCalculation(List<List<Double>> determina</div> </li> <li><a href="/article/3634.htm" title="C语言算法之打渔晒网问题" target="_blank">C语言算法之打渔晒网问题</a> <span class="text-muted">qiufeihu</span> <a class="tag" taget="_blank" href="/search/c/1.htm">c</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a> <div>如果一个渔夫从2011年1月1日开始每三天打一次渔,两天晒一次网,编程实现当输入2011年1月1日以后任意一天,输出该渔夫是在打渔还是在晒网。 代码如下:   #include <stdio.h> int leap(int a) /*自定义函数leap()用来指定输入的年份是否为闰年*/ { if((a%4 == 0 && a%100 != 0</div> </li> <li><a href="/article/3761.htm" title="XML中DOCTYPE字段的解析" target="_blank">XML中DOCTYPE字段的解析</a> <span class="text-muted">wyzuomumu</span> <a class="tag" taget="_blank" href="/search/xml/1.htm">xml</a> <div>DTD声明始终以!DOCTYPE开头,空一格后跟着文档根元素的名称,如果是内部DTD,则再空一格出现[],在中括号中是文档类型定义的内容. 而对于外部DTD,则又分为私有DTD与公共DTD,私有DTD使用SYSTEM表示,接着是外部DTD的URL. 而公共DTD则使用PUBLIC,接着是DTD公共名称,接着是DTD的URL.   私有DTD <!DOCTYPErootSYST</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>