web 基础与 http 协议

目录

一  Web 基础

1. 域名和 DNS

1.1 域名的概念

1.2 DNS

2. 网页与HTML

2.1 HTML 概述

2.2 HTML 基本标签

2.3 网站和主页

3. 静态网页与动态网页

3.1 静态网页

3.2 动态网页

二 HTTP 协议

1. HTTP 协议概述

2. HTTP 方法

3. HTTP 状态码

4. HTTP 请求流程分析


一  Web 基础

1. 域名和 DNS

1.1 域名的概念

网络是基于 TCP/IP 协议进行通信和连接的,每一台主机都有一个唯一的标识(固 定的 IP 地址),用以区别在网络上成千上万个用户和计算机。网络在区分所有与之相 连的网络和主机时,均采用一种唯一、通用的地址格式,即每一个与网络相连接的计算 机和服务器都被指派一个独一无二的地址。为了保证网络上每台计算机的 IP 地址的唯 一性,用户必须向特定机构申请注册,分配IP地址。网络中的地址方案分为两套:IP地址系统和域名地址系统。这两套地址系统其实是一一对应的关系。IP地址用二进制数来表示,每个IP地址长32 比特,由 4 个小于 256 的数字组成,数字之间用点间隔,例如 100.10.0.1 表示一个 IP 地址。由于 IP 地址是数字标识,使用时难以记忆和书写,因此在 IP 地址的基础上又发展出一种符号化的地址方案,来代替数字型的IP地址。每 一个符号化的地址都与特定的IP 地址对应,这样网络上的资源访问起来就容易得多了。 这个与网络上的数字型 IP 地址相对应的字符型地址,就被称为域名。

(1) 域名的结构

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

DNS 规定,域名中的标号都由英文字母和数字组成,每一个标号不超过 63个字符,也不区分大小写字母。标号中除连字符(-)外不能使用其他的标点符号。级别最低的 域名写在最左边,而级别最高的域名写在最右边。由多个标号组成的完整域名总共不超过 255个字符。一些国家也纷纷开发使用采用本民族语言构成的域名,如德语,法语等。中国也开始使用中文域名,但可以预计的是,在中国国内今后相当长的时期内,以英语为基础的域名(即英文域名)仍然是主流。

(2)域名结构类型

根域:指的是根服务器,要用来管理互联网的主目录,全世界只有13台。1个为 主根服务器,放置在美国。其余 12 个均为辅根服务器,其中9 个放置在美国欧洲 2个,位于英国和瑞典:亚洲1个,位于日本。所有根服务器均由美国政府授权的互联网域名与号码分配机构ICANN 统一管理,负责全球互联网域名根服务器、 域名体系和 IP 地址等的管理。

顶级域:包括组织域和国家/地区域名。域名的最右侧是国家/地区域名,国家代码 由两个字母组成的如.cn,.uk,.de 和.jp,其中.cn 是中国专用的顶级域名。在国家/地区域名左侧,是组织域名,常见的.com 用于商业机构,.net用于网络组织,.org 用于各种组织包括非盈利组织。

二级域名:在顶级域名之前的域名,在顶级域名前面,它是指域名注册人的网上名称,例如 baidu,ibm ,yahoo ,microsoft 等。

FQDN:是主机名.DNS 后缀,是指主机名加上全路径,全路径中列出了序列中所有 域成员。全域名可以从逻辑上准确地表示出主机在什么地方,也可以说全域名是主机名的一种完全表示形式。

1.2 DNS

在互联网上域名与 IP 地址之间是一一对应的,域名虽然便于人们记忆,但机器之 间只能互相认识 IP 地址,它们之间的转换工作称为域名解析,域名解析要由专门的域 名解析系统来完成,DNS就是进行域名解析的系统。主机名到IP地址的映射有两种方式:

静态映射:每台设备上都配置主机到IP地址的映射,各设备独立维护自己的映射 表,而且只供本设备使用。

动态映射:建立一套域名解析系统(DNS),只在专门的DNS服务器上配置主机 到IP地址的映射,网络上需要使用主机名通信的设备,首先需要到 DNS服务器查询主机所对应的 IP 地址。

通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解 析)。在解析域名时,可以首先采用静态域名解析的方法。如果静态域名解析不成功,再采用动态域名解析的方法。可以将一些常用的域名放入静态域名解析表中,这样可以 大大提高域名解析效率。在 Windows 命令行模式中输入网络査询命令 nslookup www.baidu.com,可以查询 到域名对应的 IP 地址。

2. 网页与HTML

网页是构成网站的基本元素,是承载各种网站应用的平台。通俗地说,网站就是由 网页组成的。如果只有域名和虚拟主机而没有制作任何网页,那么客户仍旧无法访问这 个网站。因为网页是由 HTML(超文本标记语言)编写的。

(1) 网页概述

网页是一个文件,他存放在世界某个角落的某一部计算机中,而这部计算机必须是 与互联网相连的。网页经由网址(URL)来识别与存取,是互联网中的一“页”。

网页可以包括如下内容:

  • 文本:文本是网页上最重要的信息载体与交流工具,网页中的主要信息一般都以文 本形式为主。
  • 图像:图像元素在网页中具有提供信息并展示直观形象的作用。静态图像:在页面中可能是图片或矢量图形。图片格式通常为GIF、JPEG 或 PNG 等;矢量格式通常为 SVG 或 Flash。
  • Flash 动画:动画在网页中的作用是有效地吸引访问者更多的注意。
  • 声音:声音是多媒体和视频网页重要的组成部分。
  • 视频:视频文件的采用使网页效果更加精彩且富有动感。
  • 表格:表格是在网页中用来控制页面信息的布局方式。
  • 导航栏:导航栏在网页中是一组超链接,其连接的目的端是网页中重要的
    页面。
  • 交互式表单:表单在网页中通常用来联接数据库并接受访问用户在浏览器端输入的 数据,利用数据库为客户端与服务器端提供更多的互动。

网页相关概念如下:

  • 域名:是浏览网页时输入的网址。
  • HTTP:用来传输网页的通信协议,使用浏览器访问网址时,在域名前面要加上 http://,表示使用 http 协议传输网页。
  • URL:是一种万维网寻址系统,表示网络上资源的位置路径。
  • HTML:是编写网页的超文本标记语言。
  • 超链接:具备将网站中不同网页链接起来的功能。
  • 发布:将制作好的网页上传到服务器供用户访问的过程。

2.1 HTML 概述

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

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

2.2 HTML 基本标签

(1)HTML 语法规则

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

(2)HTML 文件结构

HTML 文件最外层由表示,说明该文件是用 HTML 语言描述的。在它里面是并列的头标签()和内容标签(),最基本的 HTML 文件结构如下:


网页的内容描述信息
网页显示的内容

常用的头标签中的标签如下表所示:

标签 描述
</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">定义了 HT 文档的样式文件</td> </tr> </tbody> </table> <p> 内容标签中常用的标签如下表所示:</p> <table border="1" style="width:500px"> <tbody> <tr> <td style="text-align:center"><strong>标签</strong></td> <td style="text-align:center"><strong>描述</strong></td> </tr> <tr> <td style="text-align:center"><table></td> <td style="text-align:center">定义一个表格</td> </tr> <tr> <td style="text-align:center"><tr></td> <td style="text-align:center">定义了表格中的一行</td> </tr> <tr> <td style="text-align:center"><td></td> <td style="text-align:center">定义了表格中某一行的一列</td> </tr> <tr> <td style="text-align:center"><a></td> <td style="text-align:center">定义了一个超链接</td> </tr> <tr> <td style="text-align:center"><br></td> <td style="text-align:center">定义了换行</td> </tr> <tr> <td style="text-align:center"><font></td> <td style="text-align:center">定义了字体</td> </tr> </tbody> </table> <h4 id="2.3%20%E7%BD%91%E7%AB%99%E5%92%8C%E4%B8%BB%E9%A1%B5" name="2.3%20%E7%BD%91%E7%AB%99%E5%92%8C%E4%B8%BB%E9%A1%B5">2.3 网站和主页</h4> <p>网站是由网页组成的,包含多个网页页面,具有独立域名、独立存放空间的内容集 合,这些内容可能是网页,也可能是程序或其他文件。主页(首页)是用户打开浏览器时默认打开的网页。</p> <p>当一个网站服务器收到一台电脑上网络浏览器的消息连接请求时,便会向这台计算 机发送这个文档。当在浏览器的地址栏输入域名,而未指向特定目录或文件时,通常浏览器会打开网站的首页。网站首页往往会被编辑得易于了解该网站提供的信息,并引导互联网用户浏览网站其他部分的内容。这部分内容一般被认为是一个目录性质的内容。</p> <h3 id="3.%C2%A0%E9%9D%99%E6%80%81%E7%BD%91%E9%A1%B5%E4%B8%8E%E5%8A%A8%E6%80%81%E7%BD%91%E9%A1%B5" name="3.%C2%A0%E9%9D%99%E6%80%81%E7%BD%91%E9%A1%B5%E4%B8%8E%E5%8A%A8%E6%80%81%E7%BD%91%E9%A1%B5">3. 静态网页与动态网页</h3> <h4 id="3.1%C2%A0%E9%9D%99%E6%80%81%E7%BD%91%E9%A1%B5" name="3.1%C2%A0%E9%9D%99%E6%80%81%E7%BD%91%E9%A1%B5">3.1 静态网页</h4> <p>在网站设计中,纯粹 HTML,格式的网页通常被称为“静态网页”,静态网页是标准的 HTML 文件,它的文件扩展名是.htm、.html 。静态网页是网站建设的基础,早期的网 站一般都是由静态网页制作的。静态网页也可以出现各种动态的效果,如.GIF 格式的动画、FLASH 、滚动字幕等。这些“动态效果” 只是视觉上的,与下面将要介绍的动态网页 是不同的概念。</p> <h4 id="3.2%20%E5%8A%A8%E6%80%81%E7%BD%91%E9%A1%B5" name="3.2%20%E5%8A%A8%E6%80%81%E7%BD%91%E9%A1%B5">3.2 动态网页</h4> <p>所谓的动态网页,是指跟静态网页相对的一种网页编程技术。静态网页,随着 HTML 代码的生成,页面的内容和显示效果就基本上不会发生变化了--除非是修改页面代码。而动态网页则不然,页面代码虽然没有变,但是显示的内容却是可以随着时间、环境或者数据库操作的结果而发生改变的。动态网页URL的后缀不是.htm、.html、.shtml、.xml 等静态网页的常见网页制作格式,而是以.aspx、.asp、.jsp、.php、·perl 、.cgi 等形式为后缀,并且在动态网页网址中有一个 标志性的符号--“?”动态网页是基本的 html 语法规范与 Java 、PHP、C#等高级程序设计语言、数据库 编程等多种技术的融合,以期实现对网站内容和风格的高效、动态和交互式的管理。因 此,从这个意义上来讲,凡是结合了 HTML 以外的高级程序设计语言和数据库技术进行 的网页编程技术生成的网页都是动态网页。</p> <p><strong>动态网页语言</strong></p> <p>早期的动态网页主要采用通用网关接日CGI(Common Gateway Interface)技术,虽然 CGI技术已经发展成熟而且功能强大,但由于编程困难、效率低下、修改复杂,所以有逐渐被新技术取代的趋势。</p> <p><strong>目前常用的动态网页编程语言如下:</strong></p> <blockquote> <ul> <li>PHP 即 Hypertext Preprocessor(超文本预处理器),它是当今 Internet 上最为火 热的脚本语言,其语法借鉴了 C、Java、PERL 等语言,但只需要很少的编程知识 你就能使用 PHP 建立一个真正交互的 Web 站点。</li> <li>JSP 即 Java Server Pages(Java 服务器页面),它是由 Sun Microsystem 公司于1999年6月推出的新技术,是基于 Java Servlet 以及整个Java 体系的 Web 开 发技术。</li> <li>Python 是一种面向对象、跨平台的动态类计算机程序设计语言,最初被设计用于 编写自动化脚本(she11),随着版本的不断更新和语言新功能的添加,越来越多被用 于独立的大型项目开发。</li> <li>Ruby 是一种简单快捷的面向对象(面向对象程序设计)脚本语言,在 20世纪 90 年代由日本人松本行弘(Yukihiro Matsumoto)开发,遵守 GPL 协议和Ruby License.它的灵感与特性来自于 Perl、Smalltalk、Eiffe1、Ada 以及 Lisp 语言。</li> </ul> </blockquote> <h2 id="%E4%BA%8C%C2%A0HTTP%20%E5%8D%8F%E8%AE%AE" name="%E4%BA%8C%C2%A0HTTP%20%E5%8D%8F%E8%AE%AE">二 HTTP 协议</h2> <p>超文本传输协议(HTTP ,HyperText Transfer Protocol)是互联网上应用最广泛的一种网络协议。所有的网页文件都必须遵守这个标准。设计HTTP最初的目的是为 了提供一种发布和接收 HTML 页面的方法。</p> <h3 id="1.%C2%A0HTTP%20%E5%8D%8F%E8%AE%AE%E6%A6%82%E8%BF%B0" name="1.%C2%A0HTTP%20%E5%8D%8F%E8%AE%AE%E6%A6%82%E8%BF%B0">1. HTTP 协议概述</h3> <p>HTTP 协议采用了请求/响应模型。客户端向服务器发送一个请求,请求头包含请求 的方法、URL、协议版本、以及包含请求修饰符、客户信息和内容的类似于 ME 的消 息结构。服务器以一个状态行作为响应,响应的内容包括消息协议的版本,成功或者错 误编码加上服务器信息、实体元信息以及可能的实体内容。HTTP 已经演化出了很多版本,它们中的大部分都是向下兼容的。</p> <blockquote> <ul> <li>HTTP/0.9 已过时。只接受 GET 一种请求方法,没有在通讯中指定版本号且不支持请求头。由于该版本不支持 POST 方法,所以客户端无法向服务器传递太多 信息。</li> <li>HTTP/1.0 这是第一个在通讯中指定版本号的 HTTP 协议版本,至今仍被广泛 采用,特别是在代理服务器中。</li> <li>HTTP/1.1 当前版本。持久连接被默认采用,并能很好地配合代理服务器工作。还支持以管道方式同时发送多个请求,以便降低线路负载,提高传输速度。</li> </ul> </blockquote> <h3 id="2.%C2%A0HTTP%20%E6%96%B9%E6%B3%95" name="2.%C2%A0HTTP%20%E6%96%B9%E6%B3%95">2. HTTP 方法</h3> <p>HTTP 支持几种不同的请求命令,这些命令被称为 HTTP 方法(HTTP method)。每条 HTTP 请求报文都包含一个方法,告诉服务器要执行什么动作,包括:获取一个页 面,运行一个网关程序,删除一个文件等。最常用的获取资源的方法是 GET、POST 。HTTP 常用方法如下表所示</p> <table border="1" style="width:500px"> <tbody> <tr> <td style="text-align:center"><strong>HTTP 方法</strong></td> <td style="text-align:center"><strong>描述</strong></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> <p>GET 方法采用的是 URL 后缀的形式,比如 http://www.test.com/a.php?ld=123 就是一个 GET 请求,服务器接收后可以解析出 Id=123 。而 POST 方法不需要在 URL 中 显示”?Id=123”,参数作为内容进行了隐藏的提交。因此,<br> 表单类或者有用户名、密码 等内容提交时建议使用POST 方法。GET 方法在 URL 上显示参数,而 URL 是有长度限制,故不适合提交过大的数据。 GET 方法可以被浏览器缓存,当请求已经被请求过一次的 URL 时,浏览器不需要向服 务器再次发出请求,直接在本地缓存中获得页面。GET和POST方法对比如下表所示:</p> <table border="1" style="width:500px"> <tbody> <tr> <td style="text-align:center; width:171px"></td> <td style="text-align:center; width:179px"><strong>GET 方法</strong></td> <td style="text-align:center"><strong>POST 方法</strong></td> </tr> <tr> <td style="text-align:center; width:171px"><strong>对数据长度的限制</strong></td> <td style="text-align:center; width:179px">URL 的长度是受限制的(URL的最大长度是2048 个字符)</td> <td style="text-align:center">无限制</td> </tr> <tr> <td style="text-align:center; width:171px"><strong>缓存</strong></td> <td style="text-align:center; width:179px">能被缓存</td> <td style="text-align:center">不能缓存</td> </tr> <tr> <td style="text-align:center; width:171px"><strong>安全性</strong></td> <td style="text-align:center; width:179px">与POST 相比,GET 的安全性较差,因为所发送的数据是 URL的一部分。在发<br> ET<br> 送密码或其他敏感信息时绝不要使用G</td> <td style="text-align:center">POST 比GET 更安全,因为参数不会被保存在浏览器历史或Teb 服务器日志中</td> </tr> <tr> <td style="text-align:center; width:171px"><strong>历史</strong></td> <td style="text-align:center; width:179px">参数保留在浏览器历史中</td> <td style="text-align:center">参数不会保存在浏览器历史中</td> </tr> <tr> <td style="text-align:center; width:171px"><strong>后退按钮/刷新</strong></td> <td style="text-align:center; width:179px">无害</td> <td style="text-align:center">数据会被重新提交,浏览器应 该告知用户数据会被重新提交</td> </tr> <tr> <td style="text-align:center; width:171px"><strong>书签</strong></td> <td style="text-align:center; width:179px">可收藏为书签</td> <td style="text-align:center">不可收藏为书签</td> </tr> </tbody> </table> <h3 id="3.%C2%A0HTTP%20%E7%8A%B6%E6%80%81%E7%A0%81" name="3.%C2%A0HTTP%20%E7%8A%B6%E6%80%81%E7%A0%81">3. HTTP 状态码</h3> <p>HTTP 状态码(HTTP Status Code )是用以表示网页服务器 HTTP 响应状态的 3 位数字代码,当浏览器请求某一 URL 时,服务器根据处理情况返回相应的处理状态。<br> HTTP 状态码可以分为五大类,其中 1XX 表示信息提示,2XX、3xX表示请求正常,4XX、5XX表示出现常情况。如下图所示;</p> <table border="1" style="width:500px"> <tbody> <tr> <td>状态码首位</td> <td>已定义范国</td> <td>分类</td> </tr> <tr> <td>1xx</td> <td>100-101</td> <td>信息提示</td> </tr> <tr> <td>2xx</td> <td>200-206</td> <td>成功</td> </tr> <tr> <td>3xx</td> <td>300-305</td> <td>重定向</td> </tr> <tr> <td>4xx</td> <td>400-415</td> <td>客户端锘误</td> </tr> <tr> <td>5xx</td> <td>500-505</td> <td>服务霹镨误</td> </tr> </tbody> </table> <p>生产环境常见的状态码如下表所示:</p> <table border="1" style="width:500px"> <tbody> <tr> <td style="text-align:center"><strong>消息</strong></td> <td style="text-align:center"><strong>描述</strong></td> </tr> <tr> <td style="text-align:center">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> <h3 id="4.%C2%A0HTTP%20%E8%AF%B7%E6%B1%82%E6%B5%81%E7%A8%8B%E5%88%86%E6%9E%90" name="4.%C2%A0HTTP%20%E8%AF%B7%E6%B1%82%E6%B5%81%E7%A8%8B%E5%88%86%E6%9E%90">4. HTTP 请求流程分析</h3> <p>用户在浏览器输入 URL 访问时,发起 HTTP 请求报文,请求中包括请求行、请求 头、请求体,服务器收到请求后返回响应报文,包括状态行、响应头、响应体。流程图如下:</p> <p><a href="http://img.e-com-net.com/image/info8/b05a4baf38c84a41a4bd448348c65171.jpg" target="_blank"><img alt="web 基础与 http 协议_第2张图片" height="498" src="http://img.e-com-net.com/image/info8/b05a4baf38c84a41a4bd448348c65171.jpg" width="636" style="border:1px solid black;"></a></p> <p><strong>(1) 请求报文</strong></p> <blockquote> <ul> <li>请求行:请求行由请求方法、URL以及协议版本三部分组成。</li> <li>请求头:请求头为请求报文添加了一些附加信息,由“名/值”对组成,每行一对,名 和值之间使用冒号分隔,常用的请求头如下表所示</li> </ul> <table border="1" style="width:500px"> <tbody> <tr> <td style="text-align:center"><strong>请求头</strong></td> <td style="text-align:center"><strong>描述</strong></td> </tr> <tr> <td style="text-align:center">Host</td> <td style="text-align:center">接受请求的服务器地址,可以是IP:端口号,也可以是域名</td> </tr> <tr> <td style="text-align:center">User-Agent</td> <td style="text-align:center">发送请求的应用程序名称</td> </tr> <tr> <td style="text-align:center">Connection</td> <td style="text-align:center">指定与连接相关的属性,如Connection:Keep-Alive</td> </tr> <tr> <td style="text-align:center">Accept-Charset</td> <td style="text-align:center">通知服务端可以发送的编码格式</td> </tr> <tr> <td style="text-align:center">Accept-Encoding</td> <td style="text-align:center">通知服务端可以发送的数据压缩格式</td> </tr> <tr> <td style="text-align:center">Accept-Language</td> <td style="text-align:center">通知服务端可以发送的语言</td> </tr> </tbody> </table> <ul> <li>空行:请求头部的最后会有一个空行,表示请求头部结束,接下来为请求体,这一 行非常重要,必不可少。</li> <li>请求体:请求体是请求提交的参数,GET方法已经在URL中指明了参数,所以提交时没有数据。POST方法提交的参数在请求体中。</li> </ul> </blockquote> <p><strong>(2) 响应报文</strong></p> <blockquote> <ul> <li>状态行:状态行由协议版本,状态码,状态码描述三部分组成。</li> <li>响应头:响应头与请求头部类似,为响应报文添加了一些附加信息。常见响应头部如下表所示</li> </ul> <table border="1" style="width:500px"> <tbody> <tr> <td style="text-align:center"><strong>响应头</strong></td> <td style="text-align:center"><strong>描述</strong></td> </tr> <tr> <td style="text-align:center">Server</td> <td style="text-align:center">服务器应用程序软件的名称和版本</td> </tr> <tr> <td style="text-align:center">Content-Type</td> <td style="text-align:center">响应正文的类型(是图片还是二进制字符串)</td> </tr> <tr> <td style="text-align:center">Content-Length</td> <td style="text-align:center">响应正文长度</td> </tr> <tr> <td style="text-align:center">Content-Charset</td> <td style="text-align:center">响应正文使用的编码</td> </tr> <tr> <td style="text-align:center">Content-Encoding</td> <td style="text-align:center">响应正文使用的数据压缩格式</td> </tr> <tr> <td style="text-align:center">Content-Language</td> <td style="text-align:center">响应正文使用的语言</td> </tr> </tbody> </table> <ul> <li>空行:响应头部的最后会有一个空行,表示响应头部结束。</li> <li>响应体:服务器返回的相应 HTML 数据,浏览器对其解析后显示页面。</li> </ul> </blockquote> </div> </div> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1917201324005453824"></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/1938830117316915200.htm" title="PROFIBUS DP转EtherNet/IP网关:精密医疗器械粘合密封的质量守护者" target="_blank">PROFIBUS DP转EtherNet/IP网关:精密医疗器械粘合密封的质量守护者</a> <span class="text-muted">JIANGHONGZN</span> <a class="tag" taget="_blank" href="/search/PROFIBUS/1.htm">PROFIBUS</a><a class="tag" taget="_blank" href="/search/ETHERNET%2FIP/1.htm">ETHERNET/IP</a><a class="tag" taget="_blank" href="/search/DP/1.htm">DP</a><a class="tag" taget="_blank" href="/search/%E5%8D%8F%E8%AE%AE%E7%BD%91%E5%85%B3/1.htm">协议网关</a><a class="tag" taget="_blank" href="/search/%E5%B7%A5%E4%B8%9A%E9%80%9A%E8%AE%AF/1.htm">工业通讯</a><a class="tag" taget="_blank" href="/search/%E6%9C%BA%E5%99%A8%E4%BA%BA/1.htm">机器人</a> <div>在医疗器械制造领域,精密部件(如输液器接头、植入体密封壳)的粘合与密封工艺对可靠性和一致性要求近乎苛刻。这类工艺通常由高速、高精度的涂胶机器人执行,而其精准动作离不开与核心控制系统(如西门子PLC)的无缝数据交互。当产线中同时存在西门子PROFIBUSDP网络与支持EtherNet/IP的机器人时,专用协议转换网关便成为确保“数据血液”畅通的关键设备。网关的核心角色:协议翻译与无缝桥接此类网关设备</div> </li> <li><a href="/article/1938827724751695872.htm" title="linux mysql命令行操作" target="_blank">linux mysql命令行操作</a> <span class="text-muted"></span> <div>命令行,linux,命令行操作相关学习资料:https://edu.51cto.com/video/797.htmlhttps://edu.51cto.com/video/1400.htmlhttps://edu.51cto.com/video/3832.htmlLinuxMySQL命令行操作入门指南作为一名刚入行的开发者,掌握Linux系统下的MySQL命令行操作是一项基本技能。本文将带你一步步</div> </li> <li><a href="/article/1938824069814218752.htm" title="Linux tcp_info:监控TCP连接的秘密武器" target="_blank">Linux tcp_info:监控TCP连接的秘密武器</a> <span class="text-muted">CodeWithMe</span> <a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/tcp%2Fip/1.htm">tcp/ip</a> <div>深入解析Linuxtcp_info:TCP状态的实时监控利器在开发和运维网络服务时,我们常常遇到这些问题:我的TCP连接为什么速度慢?是发生了重传,还是窗口太小?拥塞控制到底有没有生效?这些问题的答案,其实隐藏在内核的tcp_info结构中。本文将详细介绍:tcp_info是什么,怎么用?各字段含义和实际用途在调优TCP服务中的应用实践一、什么是tcp_info?tcp_info是Linux内核中</div> </li> <li><a href="/article/1938823817522638848.htm" title="Python编程:使用Opencv进行图像处理" target="_blank">Python编程:使用Opencv进行图像处理</a> <span class="text-muted"></span> <div>【参考】https://github.com/opencv/opencv/tree/4.x/samples/pythonPython使用OpenCV进行图像处理OpenCV(OpenSourceComputerVisionLibrary)是一个开源的计算机视觉和机器学习软件库。下面将从基础到高阶介绍如何使用Python中的OpenCV进行图像处理。一、安装首先需要安装OpenCV库:pipinst</div> </li> <li><a href="/article/1938822177814016000.htm" title="ssh -T git@github.com失败后解决方案" target="_blank">ssh -T git@github.com失败后解决方案</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/ssh/1.htm">ssh</a><a class="tag" taget="_blank" href="/search/git/1.htm">git</a><a class="tag" taget="_blank" href="/search/github/1.htm">github</a> <div>这个错误表示你的SSH连接无法到达GitHub服务器。以下是详细解决方案,按照优先级排序:首选解决方案:使用SSHoverHTTPS(端口443)这是最有效的解决方案,因为许多网络会阻止22端口:#编辑SSH配置文件nano~/.ssh/config添加以下内容:Hostgithub.comHostnamessh.github.comPort443Usergit保存后测试连接:ssh-Tgit@g</div> </li> <li><a href="/article/1938813856868528128.htm" title="转行要趁早!网络安全行业人才缺口大,企业招聘需求正旺!" target="_blank">转行要趁早!网络安全行业人才缺口大,企业招聘需求正旺!</a> <span class="text-muted"></span> <div>网络安全行业具有人才缺口大、岗位选择多、薪资待遇好、学历要求不高等优势,对于想要转行的人员来说,是一个非常不错的选择。人才缺口大网络安全攻防技术手段日新月异,特别是现在人工智能技术飞速发展,网络安全形势复杂严峻,人才重要性凸显。教育部《网络安全人才实战能力白皮书》数据显示,到2027年,我国网络安全人员缺口将达327万。近期发布的《2024年网络安全产业人才发展报告》中提到,沿用ISC2的人才缺口</div> </li> <li><a href="/article/1938813729831448576.htm" title="将图片的base64编码直接嵌入到html文件的css中" target="_blank">将图片的base64编码直接嵌入到html文件的css中</a> <span class="text-muted">Kuo-Teng</span> <a class="tag" taget="_blank" href="/search/%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91%E5%AE%9E%E6%88%98/1.htm">软件开发实战</a><a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a> <div>将图片的base64编码直接嵌入到html文件的css中1.背景2.将图片进行base64编码3.将图片的base64编码写入到css1.背景如果你需要在html中引入一张外部图片,你可能会这样做:如果你将引用的图片保存到本地,你可能会这样做:但是,如果网络延迟较高,或者在jar包中运行Java项目时无法根据路径顺利找到图片呢?那么,将图片的base64编码直接写入html文件便是最好的选择!2.</div> </li> <li><a href="/article/1938813730565451776.htm" title="【为什么网络安全缺口很大,而招聘却很少?】" target="_blank">【为什么网络安全缺口很大,而招聘却很少?】</a> <span class="text-muted">网络安全工程师教学</span> <a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8/1.htm">安全</a><a class="tag" taget="_blank" href="/search/%E9%BB%91%E5%AE%A2%E6%8A%80%E6%9C%AF/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/web%E5%AE%89%E5%85%A8/1.htm">web安全</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%AE%89%E5%85%A8/1.htm">安全</a><a class="tag" taget="_blank" href="/search/%E6%B8%B8%E6%88%8F/1.htm">游戏</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a> <div>为什么网络安全缺口很大,而招聘却很少?2020年我国网络空间安全人才数量缺口超过了140万,就业人数却只有10多万,缺口高达了93%。这里就有人会问了:1、网络安全行业为什么这么缺人?2、明明人才那么稀缺,为什么招聘时招安全的人员却没有那么多呢?首先来回答第一个问题,从政策背景、市场需求、行业现状来说。政策背景自从斯诺登棱镜门事件曝光之后,网络空间站成为现代战场第一战场,网络安全能力也被各国列为了</div> </li> <li><a href="/article/1938813477606977536.htm" title="炫酷3D圆环动态照片墙:打造个性化展示新体验" target="_blank">炫酷3D圆环动态照片墙:打造个性化展示新体验</a> <span class="text-muted">姚芝舒</span> <div>炫酷3D圆环动态照片墙:打造个性化展示新体验【下载地址】3D圆环动态照片墙HTML文件本资源提供了一个精美的3D圆环动态照片墙HTML文件,用户可以通过鼠标自由拖拽照片墙,实现动态展示效果。该文件在某社交平台爆火,内置了30张高质量的JPG图片,用户只需在浏览器中直接打开即可体验,操作简单易上手。效果精致,适合用于个人展示或简单玩乐项目地址:https://gitcode.com/open-sou</div> </li> <li><a href="/article/1938811588123357184.htm" title="什么是Node.js,有什么特点" target="_blank">什么是Node.js,有什么特点</a> <span class="text-muted">前端与小赵</span> <a class="tag" taget="_blank" href="/search/node.js/1.htm">node.js</a> <div>Node.js简介Node.js是一个基于ChromeV8引擎的JavaScript运行时环境,由RyanDahl于2009年创建。Node.js允许开发者使用JavaScript编写服务器端应用程序,打破了JavaScript仅限于浏览器端的限制。Node.js的设计目标是提供一种简单、高效的方式来构建可伸缩的网络应用。Node.js的特点非阻塞I/O特点:Node.js使用事件驱动的非阻塞I/</div> </li> <li><a href="/article/1938809570361143296.htm" title="Web3解读:解锁去中心化网络的潜力" target="_blank">Web3解读:解锁去中心化网络的潜力</a> <span class="text-muted">清 晨</span> <a class="tag" taget="_blank" href="/search/%E5%8F%8D%E4%BE%A6%E6%B5%8B%E6%8C%87%E7%BA%B9%E6%B5%8F%E8%A7%88%E5%99%A8%E7%A4%BE%E4%BA%A4%E5%AA%92%E4%BD%93/1.htm">反侦测指纹浏览器社交媒体</a><a class="tag" taget="_blank" href="/search/web3/1.htm">web3</a><a class="tag" taget="_blank" href="/search/%E5%8E%BB%E4%B8%AD%E5%BF%83%E5%8C%96/1.htm">去中心化</a><a class="tag" taget="_blank" href="/search/%E5%8C%BA%E5%9D%97%E9%93%BE/1.htm">区块链</a><a class="tag" taget="_blank" href="/search/tiktok/1.htm">tiktok</a><a class="tag" taget="_blank" href="/search/facebook/1.htm">facebook</a><a class="tag" taget="_blank" href="/search/instagram/1.htm">instagram</a><a class="tag" taget="_blank" href="/search/ClonBrowser/1.htm">ClonBrowser</a> <div>随着互联网技术的飞速发展,我们正在进入一个新的时代——Web3。Web3不仅仅是一个技术概念,它代表了一种全新的网络架构和价值交换方式。本文将深入探讨Web3的核心理念,以及它如何解锁去中心化网络的潜力。什么是Web3?Web3是一个基于区块链技术的去中心化网络,它旨在提供一个更加开放、透明和安全的互联网环境。与传统的Web2相比,Web3强调用户对数据的控制权,以及数据的不可篡改性。在Web3中</div> </li> <li><a href="/article/1938802507300007936.htm" title="深入剖析Redis高性能的原因,IO多路复用模型,Redis数据迁移,分布式锁实现" target="_blank">深入剖析Redis高性能的原因,IO多路复用模型,Redis数据迁移,分布式锁实现</a> <span class="text-muted"></span> <div>一、深入剖析Redis单线程处理命令仍具备高性能的原因Redis虽然是单线程处理命令的(主线程负责网络I/O和命令处理),但它依然具备百万级QPS的吞吐能力。这个看似矛盾的现象,其实是Redis高性能架构设计和底层实现精妙配合的结果。下面我们从架构、内核原理、操作系统机制、与其他系统对比等多维度深入剖析,为何Redis单线程却读写性能极高。1.Redis是“单线程处理命令”,但不是完全单线程模块是</div> </li> <li><a href="/article/1938802001903153152.htm" title="Practical TLA+ 项目中的Dekker算法形式化验证" target="_blank">Practical TLA+ 项目中的Dekker算法形式化验证</a> <span class="text-muted">焦习娜Samantha</span> <div>PracticalTLA+项目中的Dekker算法形式化验证practical-tla-plusSourceCodefor'PracticalTLA+'byHillelWayne项目地址:https://gitcode.com/gh_mirrors/pr/practical-tla-plus概述本文分析PracticalTLA+项目中关于Dekker互斥算法的形式化规范。Dekker算法是解决多线</div> </li> <li><a href="/article/1938802002377109504.htm" title="深入理解reeze/tipi项目中的词法分析与语法分析技术" target="_blank">深入理解reeze/tipi项目中的词法分析与语法分析技术</a> <span class="text-muted">焦习娜Samantha</span> <div>深入理解reeze/tipi项目中的词法分析与语法分析技术tipiThinkingInPHPInternals,AnopenbookonPHPInternals项目地址:https://gitcode.com/gh_mirrors/ti/tipi引言在编程语言实现领域,词法分析和语法分析是构建编译器或解释器的关键环节。本文将基于reeze/tipi项目中的相关内容,深入浅出地讲解这些核心技术原理。</div> </li> <li><a href="/article/1938801243854008320.htm" title="【C++算法竞赛】前缀和+桶数组" target="_blank">【C++算法竞赛】前缀和+桶数组</a> <span class="text-muted">YLCHUP</span> <a class="tag" taget="_blank" href="/search/C%2B%2B%E7%AE%97%E6%B3%95%E6%8A%80%E5%B7%A7/1.htm">C++算法技巧</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/c%2B%2B/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><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/%E5%93%88%E5%B8%8C%E7%AE%97%E6%B3%95/1.htm">哈希算法</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/%E7%AC%94%E8%AE%B0/1.htm">笔记</a> <div>文章目录1.前缀和基础2.算法原理3.例题讲解[P1114“非常男女”计划](https://www.luogu.com.cn/problem/P1114)[P11965[GESP202503七级]等价消除](https://www.luogu.com.cn/problem/P11965)[P10724[GESP202406七级]区间乘积](https://www.luogu.com.cn/pro</div> </li> <li><a href="/article/1938797338537553920.htm" title="小程序入门:跳过域名校验、跨域与 Ajax 问题解析" target="_blank">小程序入门:跳过域名校验、跨域与 Ajax 问题解析</a> <span class="text-muted">you4580</span> <a class="tag" taget="_blank" href="/search/%E5%B0%8F%E7%A8%8B%E5%BA%8F/1.htm">小程序</a> <div>在小程序开发过程中,我们常常会遇到一些和网络请求相关的问题,比如合法域名校验、跨域以及Ajax的使用。今天这篇博客就来为大家详细讲解一下这些内容,帮助大家少走弯路,更高效地进行小程序开发。一、跳过request合法域名校验在小程序中发起网络数据请求,有两个硬性条件:接口必须基于https协议,同时要把接口对应的域名配置到合法域名列表里。可要是后端程序员只提供了http协议的接口,这时候该怎么办呢?</div> </li> <li><a href="/article/1938793557993254912.htm" title="Linux工作常用命令记录" target="_blank">Linux工作常用命令记录</a> <span class="text-muted">A little storm</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/ubuntu/1.htm">ubuntu</a><a class="tag" taget="_blank" href="/search/jvm/1.htm">jvm</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a> <div>Linux常用命令#列出当前系统中所有的网络连接和监听端口,可通过grep配合查找需要的信息netstat-nat#列出所有进程信息,可通过grep配合查找需要的信息psaux#查看防火墙规则iptables-L#查找文件,如查找RDB_SVRfind/-name"RDB_SVR"#查看所有磁盘空间使用情况df-h#查看文件或目录的磁盘空间使用情况,示例为查看当前目录中所有文件和目录的空间使用情况</div> </li> <li><a href="/article/1938792675587190784.htm" title="误差的回响:反向传播算法与神经网络的惊天逆转" target="_blank">误差的回响:反向传播算法与神经网络的惊天逆转</a> <span class="text-muted">田园Coder</span> <a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD%E7%A7%91%E6%99%AE/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/%E7%A7%91%E6%99%AE/1.htm">科普</a> <div>当专家系统在20世纪80年代初期大放异彩,成为人工智能实用化的耀眼明星时,另一股曾经被宣判“死刑”的力量——连接主义(神经网络)——正在寒冬的冻土下悄然涌动,孕育着一场惊天动地的复苏。马文·明斯基和西摩·帕尔特在1969年《感知机》专著中那精准而冷酷的理论批判,如同沉重的封印,将多层神经网络的研究禁锢了近二十年。他们指出的核心死结——缺乏有效算法来训练具有隐藏层的网络——仿佛一道无法逾越的天堑。单</div> </li> <li><a href="/article/1938792042582831104.htm" title="推荐使用:Vue-Cron —— 简易CRON表达式生成器" target="_blank">推荐使用:Vue-Cron —— 简易CRON表达式生成器</a> <span class="text-muted">乌昱有Melanie</span> <div>推荐使用:Vue-Cron——简易CRON表达式生成器项目地址:https://gitcode.com/gh_mirrors/vu/vue-cronVue-Cron是一款专为Vue.js和Element-UI设计的高效、易用的CRON表达式生成插件。它能帮助开发者轻松创建和管理定时任务策略,提供直观的界面和完善的国际化支持。项目介绍Vue-Cron提供了一个简洁的交互界面,让用户能够通过可视化的操</div> </li> <li><a href="/article/1938792043065176064.htm" title="vue-cron: Cron表达式UI组件开发指南" target="_blank">vue-cron: Cron表达式UI组件开发指南</a> <span class="text-muted">刘通双Elsie</span> <div>vue-cron:Cron表达式UI组件开发指南项目地址:https://gitcode.com/gh_mirrors/vu/vue-cron项目介绍vue-cron是一个基于Vue框架设计的cron表达式UI组件库.该项目特别适用于那些需要在前端界面中提供cron表达式编辑功能的应用场景。通过简洁直观的接口,开发者可以轻松地将此组件集成到他们的Vue应用程序中,以实现对定时任务计划的精确控制。该</div> </li> <li><a href="/article/1938791789959901184.htm" title="推荐使用ReactJS Cron:一款强大且灵活的定时任务编辑器" target="_blank">推荐使用ReactJS Cron:一款强大且灵活的定时任务编辑器</a> <span class="text-muted"></span> <div>推荐使用ReactJSCron:一款强大且灵活的定时任务编辑器react-js-cronAReactcroneditorbuiltwithantd项目地址:https://gitcode.com/gh_mirrors/re/react-js-cron项目简介ReactJSCron是一个基于React和AntDesign构建的高效能定时任务编辑组件。它提供了友好的用户界面,帮助开发者轻松创建和管理c</div> </li> <li><a href="/article/1938791410853539840.htm" title="LabVIEW液压系统远程监控" target="_blank">LabVIEW液压系统远程监控</a> <span class="text-muted">LabVIEW开发</span> <a class="tag" taget="_blank" href="/search/LabVIEW%E5%BC%80%E5%8F%91%E6%A1%88%E4%BE%8B/1.htm">LabVIEW开发案例</a><a class="tag" taget="_blank" href="/search/LabVIEW%E5%BC%80%E5%8F%91%E6%A1%88%E4%BE%8B/1.htm">LabVIEW开发案例</a> <div>利用LabVIEW开发构建注塑机合模液压系统远程监控平台,实现设备状态实时监测、数据交互与远程控制。应用场景工业自动化产线监控:在大型注塑生产车间,实时监测多台注塑机合模液压系统的压力、流量、位移等关键参数,支持产线集中管理。设备远程维护:工程师可通过VPN网络远程访问现场设备,实现故障诊断、参数调整,减少现场维护成本与停机时间。无人值守生产场景:配合自动化上下料系统,实现24小时连续生产监控,异</div> </li> <li><a href="/article/1938790402660298752.htm" title="【lua】Linux上安装lua和luarocks包管理工具" target="_blank">【lua】Linux上安装lua和luarocks包管理工具</a> <span class="text-muted">果壳~</span> <a class="tag" taget="_blank" href="/search/lua/1.htm">lua</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>目录安装lua安装luarocksluarocks其他命令安装lua首先打开lua官网https://lua.org点击download就可以看到安装脚本新建一个目录将压缩包下载到这个目录里curl-L-R-Ohttps://www.lua.org/ftp/lua-5.4.8.tar.gztarzxflua-5.4.8.tar.gzcdlua-5.4.8makealltest#最后还得加上make</div> </li> <li><a href="/article/1938788009742757888.htm" title="Redis网络通信模块深度解析:单线程Reactor到多线程IO的架构演进" target="_blank">Redis网络通信模块深度解析:单线程Reactor到多线程IO的架构演进</a> <span class="text-muted"></span> <div>一、核心架构:单线程Reactor模型Redis网络模块采用经典Reactor模式,核心流程如下:voidaeMain(aeEventLoop*eventLoop){while(!eventLoop->stop){//前置钩子(集群心跳/数据持久化)if(eventLoop->beforesleep)eventLoop->beforesleep(eventLoop);//事件分派:I/O复用+定时</div> </li> <li><a href="/article/1938781204551626752.htm" title="RPC与HTTP API对比" target="_blank">RPC与HTTP API对比</a> <span class="text-muted">漫谈网络</span> <a class="tag" taget="_blank" href="/search/NetDevOps/1.htm">NetDevOps</a><a class="tag" taget="_blank" href="/search/%E6%99%BA%E8%81%94%E7%A9%BA%E9%97%B4/1.htm">智联空间</a><a class="tag" taget="_blank" href="/search/rpc/1.htm">rpc</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> <div>一、核心流程对比环节RPCHTTPAPI调用方式调用远程函数/方法(如userService.getUser(123))调用远程端点(如GET/users/123)参数传递通过序列化直接传递编程语言对象通过URL参数、Header或Body传递结构化数据网络传输通常基于TCP/UDP+二进制协议(如gRPC的HTTP/2)基于HTTP/HTTPS文本协议数据封装由框架自动处理序列化/反序列化需手动</div> </li> <li><a href="/article/1938779818720030720.htm" title="适用于vue3的移动端Vant4组件库" target="_blank">适用于vue3的移动端Vant4组件库</a> <span class="text-muted">柒@宝儿姐</span> <a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a> <div>适用于vue3的移动端Vant4组件库地址:(https://vant-ui.github.io/vant/#/zh-CN/home)安装:npmivant</div> </li> <li><a href="/article/1938777422228942848.htm" title="vue3 使用 Univer Sheets 电子表格组件" target="_blank">vue3 使用 Univer Sheets 电子表格组件</a> <span class="text-muted">小云小白</span> <a class="tag" taget="_blank" href="/search/vue3/1.htm">vue3</a><a class="tag" taget="_blank" href="/search/excel/1.htm">excel</a><a class="tag" taget="_blank" href="/search/Univer/1.htm">Univer</a><a class="tag" taget="_blank" href="/search/Sheet/1.htm">Sheet</a> <div>背景部门要进行在线数据填报:excel表格样式不限;因为要支持直接从excel直接粘贴,经筛选选择:UniverSheetsUniverSheets官网地址https://docs.univer.ai/zh-CN/guides/sheets1、安装和配置#安装核心包pnpmadd@univerjs/presets正常到这就可以了,但是我这边前台报react版本错误,所以去源码包看了一下版本,单独指</div> </li> <li><a href="/article/1938774522723364864.htm" title="微软全新开源的Agentic Web网络项目:NLWeb详解" target="_blank">微软全新开源的Agentic Web网络项目:NLWeb详解</a> <span class="text-muted">kevin luan</span> <a class="tag" taget="_blank" href="/search/AI/1.htm">AI</a><a class="tag" taget="_blank" href="/search/%E5%B7%A5%E4%BD%9C%E6%B5%81/1.htm">工作流</a><a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B/1.htm">编程</a><a class="tag" taget="_blank" href="/search/microsoft/1.htm">microsoft</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a> <div>引言在2025年5月的MicrosoftBuild开发者大会上,微软推出了一个全新的开源项目——NLWeb(NaturalLanguageWeb,自然语言网络),被誉为“AgenticWeb(代理网络)”的基石,目标是将传统网页转变为支持自然语言交互的智能AI应用。微软将其比作Web时代的HTML,旨在通过简单的方式为网站添加对话式AI接口,让用户和AI代理能够以自然语言直接查询和交互网站内容。本</div> </li> <li><a href="/article/1938774269739724800.htm" title="Linux设备驱动开发详解 - 基于Linux 4.0内核" target="_blank">Linux设备驱动开发详解 - 基于Linux 4.0内核</a> <span class="text-muted"></span> <div>Linux设备驱动开发详解-基于Linux4.0内核去发现同类优质开源项目:https://gitcode.com/欢迎使用《Linux设备驱动开发详解》资源库本资源库致力于为Linux设备驱动开发者提供一份基于Linux4.0内核的详细指南和实践材料。随着Linux内核不断迭代,理解并掌握其最新特性和驱动开发的方法论变得尤为重要。本项目特别针对那些想要深入了解Linux内核机制、尤其是驱动程序开</div> </li> <li><a href="/article/1938774270238846976.htm" title="ARMv7内核架构手册及全部ARM内核资料下载" target="_blank">ARMv7内核架构手册及全部ARM内核资料下载</a> <span class="text-muted">杨焕月Great</span> <div>ARMv7内核架构手册及全部ARM内核资料下载去发现同类优质开源项目:https://gitcode.com/资源介绍本仓库提供了一个重要的资源文件下载,标题为“Armv7内核架构手册+全部arm内核资料”。该资源文件包含了ARMv7内核架构的详细手册以及其他相关的配套资料,非常适合想要深入了解和学习ARM内核的朋友。资源内容ARMArchitectureReferenceManualARMv7-</div> </li> <li><a href="/article/18.htm" title="jQuery 跨域访问的三种方式 No 'Access-Control-Allow-Origin' header is present on the reque" target="_blank">jQuery 跨域访问的三种方式 No 'Access-Control-Allow-Origin' header is present on the reque</a> <span class="text-muted">qiaolevip</span> <a class="tag" taget="_blank" href="/search/%E6%AF%8F%E5%A4%A9%E8%BF%9B%E6%AD%A5%E4%B8%80%E7%82%B9%E7%82%B9/1.htm">每天进步一点点</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0%E6%B0%B8%E6%97%A0%E6%AD%A2%E5%A2%83/1.htm">学习永无止境</a><a class="tag" taget="_blank" href="/search/%E8%B7%A8%E5%9F%9F/1.htm">跨域</a><a class="tag" taget="_blank" href="/search/%E4%BC%97%E8%A7%82%E5%8D%83%E8%B1%A1/1.htm">众观千象</a> <div>XMLHttpRequest cannot load http://v.xxx.com. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:63342' is therefore not allowed access. test.html:1 </div> </li> <li><a href="/article/145.htm" title="mysql 分区查询优化" target="_blank">mysql 分区查询优化</a> <span class="text-muted">annan211</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E5%8C%BA/1.htm">分区</a><a class="tag" taget="_blank" href="/search/%E4%BC%98%E5%8C%96/1.htm">优化</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a> <div> 分区查询优化 引入分区可以给查询带来一定的优势,但同时也会引入一些bug. 分区最大的优点就是优化器可以根据分区函数来过滤掉一些分区,通过分区过滤可以让查询扫描更少的数据。 所以,对于访问分区表来说,很重要的一点是要在where 条件中带入分区,让优化器过滤掉无需访问的分区。 可以通过查看explain执行计划,是否携带 partitions</div> </li> <li><a href="/article/272.htm" title="MYSQL存储过程中使用游标" target="_blank">MYSQL存储过程中使用游标</a> <span class="text-muted">chicony</span> <a class="tag" taget="_blank" href="/search/Mysql%E5%AD%98%E5%82%A8%E8%BF%87%E7%A8%8B/1.htm">Mysql存储过程</a> <div>DELIMITER $$ DROP PROCEDURE IF EXISTS getUserInfo $$ CREATE PROCEDURE getUserInfo(in date_day datetime)-- -- 实例-- 存储过程名为:getUserInfo-- 参数为:date_day日期格式:2008-03-08--    BEGINdecla</div> </li> <li><a href="/article/399.htm" title="mysql 和 sqlite 区别" target="_blank">mysql 和 sqlite 区别</a> <span class="text-muted">Array_06</span> <a class="tag" taget="_blank" href="/search/sqlite/1.htm">sqlite</a> <div>转载: http://www.cnblogs.com/ygm900/p/3460663.html mysql 和 sqlite 区别 SQLITE是单机数据库。功能简约,小型化,追求最大磁盘效率 MYSQL是完善的服务器数据库。功能全面,综合化,追求最大并发效率 MYSQL、Sybase、Oracle等这些都是试用于服务器数据量大功能多需要安装,例如网站访问量比较大的。而sq</div> </li> <li><a href="/article/526.htm" title="pinyin4j使用" target="_blank">pinyin4j使用</a> <span class="text-muted">oloz</span> <a class="tag" taget="_blank" href="/search/pinyin4j/1.htm">pinyin4j</a> <div>首先需要pinyin4j的jar包支持;jar包已上传至附件内 方法一:把汉字转换为拼音;例如:编程转换后则为biancheng      /** * 将汉字转换为全拼 * @param src 你的需要转换的汉字 * @param isUPPERCASE 是否转换为大写的拼音; true:转换为大写;fal</div> </li> <li><a href="/article/653.htm" title="微博发送私信" target="_blank">微博发送私信</a> <span class="text-muted">随意而生</span> <a class="tag" taget="_blank" href="/search/%E5%BE%AE%E5%8D%9A/1.htm">微博</a> <div>在前面文章中说了如和获取登陆时候所需要的cookie,现在只要拿到最后登陆所需要的cookie,然后抓包分析一下微博私信发送界面 http://weibo.com/message/history?uid=****&name=**** 可以发现其发送提交的Post请求和其中的数据, 让后用程序模拟发送POST请求中的数据,带着cookie发送到私信的接入口,就可以实现发私信的功能了。 </div> </li> <li><a href="/article/780.htm" title="jsp" target="_blank">jsp</a> <span class="text-muted">香水浓</span> <a class="tag" taget="_blank" href="/search/jsp/1.htm">jsp</a> <div>JSP初始化     容器载入JSP文件后,它会在为请求提供任何服务前调用jspInit()方法。如果您需要执行自定义的JSP初始化任务,复写jspInit()方法就行了 JSP执行     这一阶段描述了JSP生命周期中一切与请求相关的交互行为,直到被销毁。     当JSP网页完成初始化后</div> </li> <li><a href="/article/907.htm" title="在 Windows 上安装 SVN Subversion 服务端" target="_blank">在 Windows 上安装 SVN Subversion 服务端</a> <span class="text-muted">AdyZhang</span> <a class="tag" taget="_blank" href="/search/SVN/1.htm">SVN</a> <div>在 Windows 上安装 SVN Subversion 服务端2009-09-16高宏伟哈尔滨市道里区通达街291号   最佳阅读效果请访问原地址:http://blog.donews.com/dukejoe/archive/2009/09/16/1560917.aspx   现在的Subversion已经足够稳定,而且已经进入了它的黄金时段。我们看到大量的项目都在使</div> </li> <li><a href="/article/1034.htm" title="android开发中如何使用 alertDialog从listView中删除数据?" target="_blank">android开发中如何使用 alertDialog从listView中删除数据?</a> <span class="text-muted">aijuans</span> <a class="tag" taget="_blank" href="/search/android/1.htm">android</a> <div>我现在使用listView展示了很多的配置信息,我现在想在点击其中一条的时候填出 alertDialog,点击确认后就删除该条数据,( ArrayAdapter ,ArrayList,listView 全部删除),我知道在 下面的onItemLongClick 方法中 参数 arg2  是选中的序号,但是我不知道如何继续处理下去 1 2 3 </div> </li> <li><a href="/article/1161.htm" title="jdk-6u26-linux-x64.bin 安装" target="_blank">jdk-6u26-linux-x64.bin 安装</a> <span class="text-muted">baalwolf</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a> <div>1.上传安装文件(jdk-6u26-linux-x64.bin) 2.修改权限 [root@localhost ~]# ls -l /usr/local/jdk-6u26-linux-x64.bin 3.执行安装文件 [root@localhost ~]# cd /usr/local [root@localhost local]# ./jdk-6u26-linux-x64.bin&nbs</div> </li> <li><a href="/article/1288.htm" title="MongoDB经典面试题集锦" target="_blank">MongoDB经典面试题集锦</a> <span class="text-muted">BigBird2012</span> <a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a> <div>1.什么是NoSQL数据库?NoSQL和RDBMS有什么区别?在哪些情况下使用和不使用NoSQL数据库? NoSQL是非关系型数据库,NoSQL = Not Only SQL。 关系型数据库采用的结构化的数据,NoSQL采用的是键值对的方式存储数据。 在处理非结构化/半结构化的大数据时;在水平方向上进行扩展时;随时应对动态增加的数据项时可以优先考虑使用NoSQL数据库。 在考虑数据库的成熟</div> </li> <li><a href="/article/1415.htm" title="JavaScript异步编程Promise模式的6个特性" target="_blank">JavaScript异步编程Promise模式的6个特性</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/Promise/1.htm">Promise</a> <div>        Promise是一个非常有价值的构造器,能够帮助你避免使用镶套匿名方法,而使用更具有可读性的方式组装异步代码。这里我们将介绍6个最简单的特性。         在我们开始正式介绍之前,我们想看看Javascript Promise的样子: var p = new Promise(function(r</div> </li> <li><a href="/article/1542.htm" title="[Zookeeper学习笔记之八]Zookeeper源代码分析之Zookeeper.ZKWatchManager" target="_blank">[Zookeeper学习笔记之八]Zookeeper源代码分析之Zookeeper.ZKWatchManager</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/zookeeper/1.htm">zookeeper</a> <div>ClientWatchManager接口 //接口的唯一方法materialize用于确定那些Watcher需要被通知 //确定Watcher需要三方面的因素1.事件状态 2.事件类型 3.znode的path public interface ClientWatchManager { /** * Return a set of watchers that should</div> </li> <li><a href="/article/1669.htm" title="【Scala十五】Scala核心九:隐式转换之二" target="_blank">【Scala十五】Scala核心九:隐式转换之二</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/scala/1.htm">scala</a> <div>隐式转换存在的必要性,   在Java Swing中,按钮点击事件的处理,转换为Scala的的写法如下:   val button = new JButton button.addActionListener( new ActionListener { def actionPerformed(event: ActionEvent) { </div> </li> <li><a href="/article/1796.htm" title="Android JSON数据的解析与封装小Demo" target="_blank">Android JSON数据的解析与封装小Demo</a> <span class="text-muted">ronin47</span> <div>转自:http://www.open-open.com/lib/view/open1420529336406.html package com.example.jsondemo; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject;    impor</div> </li> <li><a href="/article/1923.htm" title="[设计]字体创意设计方法谈" target="_blank">[设计]字体创意设计方法谈</a> <span class="text-muted">brotherlamp</span> <a class="tag" taget="_blank" href="/search/UI/1.htm">UI</a><a class="tag" taget="_blank" href="/search/ui%E8%87%AA%E5%AD%A6/1.htm">ui自学</a><a class="tag" taget="_blank" href="/search/ui%E8%A7%86%E9%A2%91/1.htm">ui视频</a><a class="tag" taget="_blank" href="/search/ui%E6%95%99%E7%A8%8B/1.htm">ui教程</a><a class="tag" taget="_blank" href="/search/ui%E8%B5%84%E6%96%99/1.htm">ui资料</a> <div>  从古至今,文字在我们的生活中是必不可少的事物,我们不能想象没有文字的世界将会是怎样。在平面设计中,UI设计师在文字上所花的心思和功夫最多,因为文字能直观地表达UI设计师所的意念。在文字上的创造设计,直接反映出平面作品的主题。 如设计一幅戴尔笔记本电脑的广告海报,假设海报上没有出现“戴尔”两个文字,即使放上所有戴尔笔记本电脑的图片都不能让人们得知这些电脑是什么品牌。只要写上“戴尔笔</div> </li> <li><a href="/article/2050.htm" title="单调队列-用一个长度为k的窗在整数数列上移动,求窗里面所包含的数的最大值" target="_blank">单调队列-用一个长度为k的窗在整数数列上移动,求窗里面所包含的数的最大值</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><a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95%E9%A2%98/1.htm">面试题</a> <div>import java.util.LinkedList; /* 单调队列 滑动窗口 单调队列是这样的一个队列:队列里面的元素是有序的,是递增或者递减 题目:给定一个长度为N的整数数列a(i),i=0,1,...,N-1和窗长度k. 要求:f(i) = max{a(i-k+1),a(i-k+2),..., a(i)},i = 0,1,...,N-1 问题的另一种描述就</div> </li> <li><a href="/article/2177.htm" title="struts2处理一个form多个submit" target="_blank">struts2处理一个form多个submit</a> <span class="text-muted">chiangfai</span> <a class="tag" taget="_blank" href="/search/struts2/1.htm">struts2</a> <div>web应用中,为完成不同工作,一个jsp的form标签可能有多个submit。如下代码: <s:form action="submit" method="post" namespace="/my"> <s:textfield name="msg" label="叙述:"></div> </li> <li><a href="/article/2304.htm" title="shell查找上个月,陷阱及野路子" target="_blank">shell查找上个月,陷阱及野路子</a> <span class="text-muted">chenchao051</span> <a class="tag" taget="_blank" href="/search/shell/1.htm">shell</a> <div>date -d "-1 month" +%F     以上这段代码,假如在2012/10/31执行,结果并不会出现你预计的9月份,而是会出现八月份,原因是10月份有31天,9月份30天,所以-1 month在10月份看来要减去31天,所以直接到了8月31日这天,这不靠谱。     野路子解决:假设当天日期大于15号</div> </li> <li><a href="/article/2431.htm" title="mysql导出数据中文乱码问题" target="_blank">mysql导出数据中文乱码问题</a> <span class="text-muted">daizj</span> <a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/%E4%B8%AD%E6%96%87%E4%B9%B1%E7%A0%81/1.htm">中文乱码</a><a class="tag" taget="_blank" href="/search/%E5%AF%BC%E6%95%B0%E6%8D%AE/1.htm">导数据</a> <div>解决mysql导入导出数据乱码问题方法: 1、进入mysql,通过如下命令查看数据库编码方式: mysql>  show variables like 'character_set_%'; +--------------------------+----------------------------------------+ | Variable_name&nbs</div> </li> <li><a href="/article/2558.htm" title="SAE部署Smarty出现:Uncaught exception 'SmartyException' with message 'unable to write" target="_blank">SAE部署Smarty出现:Uncaught exception 'SmartyException' with message 'unable to write</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a><a class="tag" taget="_blank" href="/search/smarty/1.htm">smarty</a><a class="tag" taget="_blank" href="/search/sae/1.htm">sae</a> <div>  对于SAE出现的问题:Uncaught exception 'SmartyException' with message 'unable to write file...。 官方给出了详细的FAQ:http://sae.sina.com.cn/?m=faqs&catId=11#show_213 解决方案为:   01 $path </div> </li> <li><a href="/article/2685.htm" title="《教父》系列台词" target="_blank">《教父》系列台词</a> <span class="text-muted">dcj3sjt126com</span> <div>Your love is also your weak point. 你的所爱同时也是你的弱点。   If anything in this life is certain, if history has taught us anything, it is that you can kill anyone.   不顾家的人永远不可能成为一个真正的男人。 &</div> </li> <li><a href="/article/2812.htm" title="mongodb安装与使用" target="_blank">mongodb安装与使用</a> <span class="text-muted">dyy_gusi</span> <a class="tag" taget="_blank" href="/search/mongo/1.htm">mongo</a> <div>一.MongoDB安装和启动,widndows和linux基本相同 1.下载数据库,     linux:mongodb-linux-x86_64-ubuntu1404-3.0.3.tgz 2.解压文件,并且放置到合适的位置     tar -vxf mongodb-linux-x86_64-ubun</div> </li> <li><a href="/article/2939.htm" title="Git排除目录" target="_blank">Git排除目录</a> <span class="text-muted">geeksun</span> <a class="tag" taget="_blank" href="/search/git/1.htm">git</a> <div>在Git的版本控制中,可能有些文件是不需要加入控制的,那我们在提交代码时就需要忽略这些文件,下面讲讲应该怎么给Git配置一些忽略规则。   有三种方法可以忽略掉这些文件,这三种方法都能达到目的,只不过适用情景不一样。 1.  针对单一工程排除文件 这种方式会让这个工程的所有修改者在克隆代码的同时,也能克隆到过滤规则,而不用自己再写一份,这就能保证所有修改者应用的都是同一</div> </li> <li><a href="/article/3066.htm" title="Ubuntu 创建开机自启动脚本的方法" target="_blank">Ubuntu 创建开机自启动脚本的方法</a> <span class="text-muted">hongtoushizi</span> <a class="tag" taget="_blank" href="/search/ubuntu/1.htm">ubuntu</a> <div>转载自: http://rongjih.blog.163.com/blog/static/33574461201111504843245/ Ubuntu 创建开机自启动脚本的步骤如下: 1) 将你的启动脚本复制到 /etc/init.d目录下 以下假设你的脚本文件名为 test。   2) 设置脚本文件的权限 $ sudo chmod 755</div> </li> <li><a href="/article/3193.htm" title="第八章 流量复制/AB测试/协程" target="_blank">第八章 流量复制/AB测试/协程</a> <span class="text-muted">jinnianshilongnian</span> <a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/lua/1.htm">lua</a><a class="tag" taget="_blank" href="/search/coroutine/1.htm">coroutine</a> <div>流量复制 在实际开发中经常涉及到项目的升级,而该升级不能简单的上线就完事了,需要验证该升级是否兼容老的上线,因此可能需要并行运行两个项目一段时间进行数据比对和校验,待没问题后再进行上线。这其实就需要进行流量复制,把流量复制到其他服务器上,一种方式是使用如tcpcopy引流;另外我们还可以使用nginx的HttpLuaModule模块中的ngx.location.capture_multi进行并发</div> </li> <li><a href="/article/3320.htm" title="电商系统商品表设计" target="_blank">电商系统商品表设计</a> <span class="text-muted">lkl</span> <div>DROP TABLE IF EXISTS `category`; -- 类目表 /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `category` ( `id` int(11) NOT NUL</div> </li> <li><a href="/article/3447.htm" title="修改phpMyAdmin导入SQL文件的大小限制" target="_blank">修改phpMyAdmin导入SQL文件的大小限制</a> <span class="text-muted">pda158</span> <a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a> <div> 用phpMyAdmin导入mysql数据库时,我的10M的 数据库不能导入,提示mysql数据库最大只能导入2M。    phpMyAdmin数据库导入出错:   You probably tried to upload too large file. Please refer to documentation for ways to workaround this limit. </div> </li> <li><a href="/article/3574.htm" title="Tomcat性能调优方案" target="_blank">Tomcat性能调优方案</a> <span class="text-muted">Sobfist</span> <a class="tag" taget="_blank" href="/search/apache/1.htm">apache</a><a class="tag" taget="_blank" href="/search/jvm/1.htm">jvm</a><a class="tag" taget="_blank" href="/search/tomcat/1.htm">tomcat</a><a class="tag" taget="_blank" href="/search/%E5%BA%94%E7%94%A8%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">应用服务器</a> <div>一、操作系统调优 对于操作系统优化来说,是尽可能的增大可使用的内存容量、提高CPU的频率,保证文件系统的读写速率等。经过压力测试验证,在并发连接很多的情况下,CPU的处理能力越强,系统运行速度越快。。 【适用场景】 任何项目。 二、Java虚拟机调优 应该选择SUN的JVM,在满足项目需要的前提下,尽量选用版本较高的JVM,一般来说高版本产品在速度和效率上比低版本会有改进。 J</div> </li> <li><a href="/article/3701.htm" title="SQLServer学习笔记" target="_blank">SQLServer学习笔记</a> <span class="text-muted">vipbooks</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/xml/1.htm">xml</a> <div>1、create database school 创建数据库school 2、drop database school 删除数据库school 3、use school 连接到school数据库,使其成为当前数据库 4、create table class(classID int primary key identity not null) 创建一个名为class的表,其有一</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>