当前位置: 首页 > news >正文

WEBHTTP

 

目录

理解HTTP协议请求流程

1 · 1 Web基础

2 · Hosts文件

1 · 1 · 2网页与HTML

2 · HTML概述

1 · 1 · 3静态网页与动态网页

1.2HTTP协议

1 · 2 · 1 HTTP协议概述

1 · 2 · 2 HTTP方法

HTTP支持几种不同的请求命令,这些命令被称为HTTP方法(HTTP method

表1一3 HTTP方法

表1.4 GET和POST比较

1 · 2 · 3 HTTP状态码

1 · 2 · 4 HTTP请求流程分析

表1一6 HTTP请求头

表1一7 HTTP响应头


理解HTTP协议请求流程

随着互联网的高速发展,企业信息化应用大部分己采用网页的形式构建,掌握网页的相关知识和HTTP的请求流程,是掌握互联网技术的第一步,本课程将讲解相关内容。

1 · 1 Web基础

本节将介绍Web基础知识,包括域名的概念、DNS原理、静态网页和动态网页的相关知识。

1 · 1 · 1域名和DNS

1 ·域名的概念

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

(1)域名的结构

以一个常见的域名为例说明其结构。图1.1中,wwwbaidu.com网址是由二部分组成,标号!baidu '是这个域名的主体,而最后的标号“com '则是该域名的后缀,代表的这疋一个com国际域名,是顶级域名,而前面的w,uw是主机名。

图1.1域名结构图

DNS规定,域名中的标号都由英文字母和数字组成,每一个标号不超过63个字符,也不区分大小写字母。标号中除连字符(一)外不能使用其他的标点符号。级别最低的域名写在最左边,而级别最高的域名写在最右边。由多个标号组成的完整域名总共不超过255个字符。

一些国家也纷纷开发使用采用本民族语言构成的域名,如德语,法语等。中国也开始使用中文域名,但可以预计的是,在中国国内今后相当长的时期内,以英语为基础的域名(即英文域名)仍然是主流。

(2)域名结构类型

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

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

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

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

置。

2 · Hosts文件

Hosts文件是一个用于存储计算机网络中节点信息的文件,它可以将主机名映射到相应的| P地址,实现DNS的功能,它可以由计算机的用户进行修改控制。

  1. Hosts文件的作用

在网络上访问网站,要首先通过DNS服务器把要访问的域名解析成IP地址后,计算机才能对这个网络域名作网站进行访问。

对于每个域名请求,如果都要等待域名服务器解析后返回| P信息,那么访问网络的效率就会降低,因为DNS做域名解析和返回| P都需要时间。为了提高对经常访问的网络域名的解析效率,可以通过利用在Hosts文件中建立域名和IP的映射关系来达到目的。根据系统规定,在进行DNS请求以前,系统会先检查自己的Hosts文件中是否有这个网络域名映射关系。如果有则调用这个| P地址映射,如果没有,再向己知的DNS 服务器提出域名解析,即Hosts的请求级别比DNS高。

  1. 修改Hosts文件

Windows系统中Hosts文件存储在目录c:\windows\system32\dnvers\etc\下面,用记事本可以对其进行修改,CentOS系统中Hosts文件存储在目录/etc/目录下面,用 VI m /etc/hosts可以对其进行修改,如在文件中加上以下代码。

127.0.0.1 www.baidu.com

当访问www.baidu.com ,发现本机hosts文件中有映射的| P地址,则访问这个

IP地址。

3 · DNS

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

主机名到IP地址的映射有两种方式:

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

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

通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。在解析域名时,可以首先采用静态域名解析的方法。如果静态域名解析不成功,再采用动态域名解析的方法。可以将一些常用的域名放入静态域名解析表中,这样可以大大提高域名解析效率。

在Windows命令行模式中输入网络查询命令nslookup wwwbaidu.com/可以查询到域名对应的| P地址。

4 ·域名注册

域名注册是Internet中用于解决地址对应问题的一种方法。域名注册遵循先申请先注册原则,管理机构对申请人提出的域名是否违反了第三方的权利不进行任何实质审查。每个域名都是独一无二的,不可重复的。

域名注册的所有者都是以域名注册提交人填写域名订单的信息为准的,成功24小时后,即可在国际(℃ANN)、国内(CNN ℃)管理机构查询whois信息(域名所有者等信息)。

下面是域名注册步骤:

  1. 准备申请资料:com域名无需提供身份证、营业执照等资料,cn域名己开放个人申请注册,所以申请则需要提供身份证或企业营业执昭.
  2. 寻找域名注册网站:由于.com、.cn域名等不同后缀均属于不同注册管理机构所管理,如要注册不同后缀域名则需要从注册管理机构寻找经过其授权的顶级域名注册服务机构。如com域名的管理机构为℃ANN,cn域名的管理机构为CNN ℃(中国互联网络信息中心)。若注册商己经通过℃ANN、CNN ℃双重认证,则无需分别到其他注册服务机构申请域名;
  3. 查询域名:在域名注册查询网站注册用户名成功后并查询域名,选择要注册的域名,并点击注册;
  4. 正式申请:查到想要注册的域名,并且确认域名为可申请的状态后,提交注册,并缴纳年费;
  5. 申请成功:正式申请成功后,即可开始进入DNS解析管理、设置解析记录等操作。

1 · 1 · 2网页与HTML

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

1 ·网页概述

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

网页可以包括如下内容:

 文本:文本是网页上最重要的信息载体与交流工具,网页中的主要信息一般都以文本形式为主。

 图像:图像元素在网页中具有提供信息并展示直观形象的作用。

到 静态图像:在页面中可能是图片或矢量图形。图片格式通常为G | F、 JPEG或PNG等;矢量格式通常为SVG或Flash

到 动画图像:通常动画为GIF和SVGO

 Flash动画:动画在网页中的作用是有效地吸引访问者更多的注意。

 声音:声音是多媒体和视频网页重要的组成部分。

视频:视频文件的采用使网页效果更加精彩且富有动感。

 表格:表格是在网页中用来控制页面信息的布局方式。

 导航栏:导航栏在网页中是一组超链接,其连接的目的端是网页中重要的页面。

 交互式表单:表单在网页中通常用来联接数据库并接受访问用户在浏览器端输入的数据,利用数据库为客户端与服务器端提供更多的互动。

网页相关概念如下:

 域名:是浏览网页时输入的网址。

 HTTP:用来传输网页的通信协议,使用浏览器访问网址时,在域名前面要加上 http.//,表示使用http协议传输网页。

 URL:是一种万维网寻址系统,表示网络上资源的位置路径。

 HTML:是编写网页的超文本标记语言。

 超链接:具备将网站中不同网页链接起来的功能。

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

2 · HTML概述

HTML叫做超文本标记语言,是一种规范,也是一种标准,它通过标记符号来标记要显示的网页中的各个部分。网页文件本身是一种文本文件,通过在文本文件中添加标记符,可以告诉浏览器如何显示其中的内容。如:文字如何处理,画面如何安排,图片如何显示等。浏览器按顺序阅读网页文件,然后根据标记符解释和显示其标记的内容,对书写出错的标记将不指出其错误,且不停止其解释执行过程,开发者只能通过显示效果来分析出错原因和出错部位。但需要注意的是,不同的浏览器,对同一标记符可能会有不完全相同的解释,因而可能会有不同的显示效果。

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

3 · HTML基本标签

(1)HTML语法规则

HTML标签采用双标记符的形式,前后标记符对应,分别表示标记开始和结束,标记符中间的内容被标签描述。前标记符由“<XXX>"表示,结尾标记符多了一个“/"由

'</XXX>"表示。

2)HTML文件结构

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

< htm丨>

<head >网页的内容描述信息<head >

<body>网页显示的内容</body>

</html>

常用的头标签中的标签如表1.1所示。

表1一1头标签中常用标签

                             标签                                               描述

<title>

定义了文档的标题

<base>

定义了页面链接标签的默认链接地址

<link>

定义了一个文档和外部资源之间的关系

<meta>

定义了HTML文档中的元数据

<script>

定义了客户端的脚本文件

<style>

定又了HTML文档的样式文件

内容标签中常用的标签如表1.2所示。

表1一2内容标签中常用标签

                             标签                                               描述

<table>

定义一个表格

<tr>

定义了表格中的一行

<td>

定义了表格中某一行的一列定义了一个超链接

<br>

定义了换行

<font>

定义了字体

4 ·网站和主页

网站是由网页组成的,包含多个网页页面,具有独立域名、独立存放空间的内容集入,这些内容可能是网页,也可能是程序或其他文件。

主页(首页)是用户打开浏览器时默认打开的网页。

当一个网站服务器收到一台电脑上网络浏览器的消息连接请求时,便会向这台计算机发送这个文档。当在浏览器的地址栏输入域名,而未指向特定目录或文件时,通常浏览器会打开网站的首页。网站首页往往会被编辑得易于了解该网站提供的信息,并引导互联网用户浏览网站其他部分的内容。这部分内容一般被认为是一个目录性质的内容。 5 · Webl.O与Web2.O

Webl.0是指早期互联网模式,以门户网站为主,内容由网站运营商提供,以巨大的点击量和增值服务为主盈利手段。

(1)Webl.O基本采用的是技术创新主导模式,信息技术的变革和使用对于网站的新生与发展起到了关键性的作用。新浪最初就是以技术平台起家,腾讯以即时通讯技术起家,盛大以网络游戏起家,在这些网站的创始阶段,技术性的痕迹相当之重。

2)Webl.O的盈利都基于一个共通点,即巨大的点击流量。无论是早期融资还是后期获利,依托的都是为数众多的用户和点击率,以点击率为基础上市或开展增值服务,受众群众的基础,决定了盈利的水平和速度,充分地体现了互联网的眼球经济色彩。

Web2.0是相对于Webl.0的新的时代。指的是一个利用Web的平台,由用户主导而生成的内容互联网产品模式,如博客、社交网站等。为了区别传统由网站雇员主导生成的内容而定义为第二代互联网,即Web2.0,是一个新的时代。特征如下:

  1. 用户分享。在Web2.0模式下,可以不受时间和地域的限制分享各种观点。用户可以得到自己需要的信息也可以发布自己的观点。
  2. 以兴趣为聚合点的社群。在Web2.O模式下,聚集的是对某个或者某些问题感兴趣的群体,可以说,在无形中己经产生了细分市场。
  3. 开放的平台,活跃的用户。平台对于用户来说是开放的,而且用户因为兴趣而保持比较高的忠诚度,他们会积极的参与其中。

1 · 1 · 3静态网页与动态网页

  1. ·静态网页

在网站设计中,纯粹HTML格式的网页通常被称为“静态网页",静态网页是标准的 HTML文件,它的文件扩展名是htm、htmlo静态网页是网站建设的基础,早期的网站一般都是由静态网页制作的。静态网页也可以出现各种动态的效果,如G| F格式的动画、FLASH、滚动字幕等。这些“动态效果"只是视觉上的,与下面将要介绍的动态网页是不同的概念。

  1. ·动态网页

所谓的动态网页,是指跟静态网页相对的一种网页编程技术。静态网页,随着HTML 代码的生成,页面的内容和显示效果就基本上不会发生变化了一一除非是修改页面代码。而动态网页则不然,页面代码虽然没有变,但是显示的内容却是可以随着时间、环境或者数据库操作的结果而发生改变的。动态网页URL的后缀不是.htm、.htmk shtmk xml等静态网页的常见网页制作格式,而是以.aspx、.asp、刂sp、.php、.perl、cgi等形式为后缀,并且在动态网页网址中有一个标志性的符号

动态网页是基本的html语法规范与Java、PHP、C#等高级程序设计语言、数据库编程等多种技术的融合,以期实现对网站内容和风格的高效、动态和交互式的管理。因此,从这个意义上来讲,凡是结合了HTML以外的高级程序设计语言和数据库技术进行的网页编程技术生成的网页都是动态网页。

  1. ·动态网页语言

早期的动态网页主要采用通用网关接口CGI ( Common Gateway Interface)技术,虽然CGI技术己经发展成熟而且功能强大,但由于编程困难、效率低下、修改复杂,所以有逐渐被新技术取代的趋势。

目前常用的动态网页编程语言如下:

 PHP即Hypertext Preprocessor(超文本预处理器),它是当今Internet上最为火热的脚本语言,其语法借鉴了C、Java、PERL等语言,但只需要很少的编程知识你就能使用PHP建立一个真正交互的Web站点。

 JSP即Java Server Pages (Java服务器页面),它是由Sun Microsystem公司于1999年6月推出的新技术,是基于Java Servlet以及整个Java体系的Web开发技术。

ython是一种面向对象、跨平台的动态类计算机程序设计语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的大型项目开发。

Ruby是一种简单快捷的面向对象(面向对象程序设计)脚本语言,在20世纪90 年代由日本人松本行弘(Yukihiro Matsumoto)开发,遵守GPL协议和Ruby License

它的灵感与特性来自于Perl、Smalltalk、Eiffel、Ada以及Lisp语言。

1.2HTTP协议

超文本传输协议(HTTP, HyperText Transfer Protocol)是互联网上应用最为广

泛的一种网络协议。所有的网页文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。

1 · 2 · 1 HTTP协议概述

HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求,请求头包含请求的方法、URL、协议版本、以及包含请求修饰符、客户信息和内容的类似于MIME的消息结构。服务器以一个状态行作为响应,响应的内容包括消息协议的版本,成功或者错误编码加上服务器信息、实体元信息以及可能的实体内容。

HTTP己经演化出了很多版本,它们中的大部分都是向下兼容的。


(1)HTTP/0.9己过时。只接受GET一种请求方法,没有在通讯中指定版本号,且不支持请求头。由于该版本不支持POST方法,所以客户端无法向服务器传递太多

2)HTTP/I.O这是第一个在通讯中指定版本号的HTTP协议版本,至今仍被广泛采用,特别是在代理服务器中。

(3)HTTP/I.1当前版本。持久连接被默认采用,并能很好地配合代理服务器工作。

还支持以管道方式同时发送多个请求,以便降低线路负载,提高传输速度。

1 · 2 · 2 HTTP方法

HTTP支持几种不同的请求命令,这些命令被称为HTTP方法(HTTP method

每条HTTP请求报文都包含一个方法,告诉服务器要执行什么动作,包括:获取一个页面,运行一个网关程序,删除一个文件等。最常用的获取资源的方法是GET、POSTO HTTP常用方法如表1.3所示。

表1一3 HTTP方法

HTTP方法

描述

GET

请求获取Request-URI所标识的资源

PUT

请求服务器存储一个资源,并用Request-URI作为其标识

DELETE

请求服务器删除Request-URI所标识的资源

POST

在Request-URI所标识的资源后附加新的数据

HEAD

请求获取由Request-URI所标识的资源的响应消息报头

GET方法采用的是URL后缀的形式,比如http.//www.test.com/a.php?ld=123就

是一个GET请求,服务器接收后可以解析出| d= 123。而POST方法不需要在URL中 "

显示?| d= 123",参数作为内容进行了隐藏的提交。因此,表单类或者有用户名、密码等内容提交时建议使用POST方法。

GET方法在URL上显示参数,而URL是有长度限制,故不适合提交过大的数据。 GET方法可以被浏览器缓存,当请求己经被请求过一次的URL时,浏览器不需要向服务器再次发出请求,直接在本地缓存中获得页面。GET和POST方法对比如表1.4所

刁孓。

表1.4 GET和POST比较

GET方法

POST方法

对数据长度的限制

URL的长度是受限制的(URL的最大长度是2048个字符)

无限制

缓存

能被缓存

不能缓存

安全性

与POST相比,GET的安全性较差,因为所发送的数据是URL的一部分。在发送密码或其他敏感信息时绝不要使用GET

POST比GET更安全,因为参数不会被保存在浏览器历史或Web服务器日志中

历史

参数保留在浏览器历史中

参数不会保存在浏览器历史中

后退按钮/刷新

无害

数据会被重新提交,浏览器应该告知用户数据会被重新提交

书签

可收藏为书签

不可收藏为书签

1 · 2 · 3 HTTP状态码

HTTP状态码(HTTP Status Code)是用以表示网页服务器HTTP响应状态的3 位数字代码,当浏览器请求某一URL时,服务器根据处理情况返回相应的处理状态。 HTTP状态码可以分为五大类,如图1 2所示。其中IXX表示信息提示,2XX、3XX表示请求正常,4XX、5XX表示出现异常情况。

生产环境常见的状态码如表1.5所示。

表1.5生产环境常见的HTTP状态码

消息

描述

200 OK

请求成功(其后是对GET和POST请求的应答文档)

301 Moved Permanently

请求的永久页面跳转

403 Forbidden

禁止访问该页面

404 Not Found

服务器无法找到被请求的页面

500 Internal Server Error

内部服务器错误

502 Bad Gateway

无效网关

503 Service Unavailable

当前服务不可用

504 G ateway Timeout

网关请求超时

1 · 2 · 4 HTTP请求流程分析

用户在浏览器输入URL访问时,发起HTTP请求报文,请求中包括请求行、请求头、请求体,服务器收到请求后返回响应报文,包括状态行、响应头、响应体,如图 1.3所示。

图1.3 HTTP请求流程

1 ·请求报文

请求行:请求行由请求方法、URL以及协议版本三部分组成。

请求头:请求头为请求报文添加了一些附加信息,由“名/值"对组成,每行一对,名和值之间使用冒号分隔,常用的请求头如表1.6所示。

表1一6 HTTP请求头

请求头

描述

Host

接受请求的服务器地址,可以是IP端口号,也可以是域名

User-Agent

发送请求的应用程序名称

Connection

指定与连接相关的属性,如Connection.Keep-Alive

Accept-Charset

通知服务端可以发送的编码格式

Accept-En codi ng

通知服务端可以发送的数据压缩格式

Accept-Language

通知服务端可以发送的语言

空行:请求头部的最后会有一个空行,表示请求头部结束,接下来为请求体,这一行非常重要,必不可少。

请求体:请求体是请求提交的参数,GET方法己经在URL中指明了参数,所以提交时没有数据。POST方法提交的参数在请求体中。

2 ·响应报文

状态行:状态行由协议版本,状态码,状态码描述三部分组成。

响应头:响应头与请求头部类似,为响应报文添加了一些附加信息。常见响应头部如表1.7所示。

表1一7 HTTP响应头

响应头

描述

Server

服务器应用程序软件的名称和版本

Content-Type

响应正文的类型(是图片还是二进制字符串)

Content-Length

响应正文长度

Content-Charset

响应正文使用的编码

Content-Encoding

响应正文使用的数据压缩格式

Content-Language

响应正文使用的语言

空行:响应头部的最后会有一个空行,表示响应头部结束。


响应体:服务器返回的相应HTML数据,浏览器对其解析后显示页面。

相关文章:

WEBHTTP

目录 理解HTTP协议请求流程 1 1 Web基础 2 Hosts文件 1 1 2网页与HTML 2 HTML概述 1 1 3静态网页与动态网页 1.2HTTP协议 1 2 1 HTTP协议概述 1 2 2 HTTP方法 HTTP支持几种不同的请求命令&#xff0c;这些命令被称为HTTP方法(HTTP method 表1一3 HTTP方法 表1&#…...

nodejs 获取客服端ip,以及获取ip一直都是127.0.0.1的问题

一、问题描述 在做登录日志的时候想要获取客户端的ip, 网上查了一下 通过 req.headers[x-forwarded-for] || req.connection.remoteAddress; 获取&#xff0c; 结果获取了之后不管是开发环境&#xff0c;还是生产环境获取到的一直都是 127.0.0.1&#xff0c;这是因为在配置N…...

微软与OpenAI/谷歌与三星的AI交易受欧盟重点关注

近日&#xff0c;欧盟委员会主管竞争事务的副主席玛格丽特维斯塔格(Margrethe Vestager)在一次演讲中透露&#xff0c;欧盟反垄断监管机构将就微软与OpenAI的合作&#xff0c;以及谷歌与三星达成的AI协议寻求更多第三方意见。这意味着微软与 OpenAI、谷歌与三星的 AI 交易及合作…...

微信小程序毕业设计-学生实习与就业管理系统项目开发实战(附源码+论文)

大家好&#xff01;我是程序猿老A&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;微信小程序毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计…...

spring boot 接口参数解密和返回值加密

spring boot 接口参数解密和返回值加密 开发背景简介安装配置yml 方式Bean 方式 试一下启动项目返回值加密参数解密body 参数解密param和form-data参数解密 总结 开发背景 虽然使用 HTTPS 已经可以基本保证传输数据的安全性&#xff0c;但是很多国企、医疗、股票项目等仍然要求…...

C语言自定义类型——联合体、枚举

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、联合体&#xff08;一&#xff09;、联合体的声明&#xff08;二&#xff09;、联合体的特点&#xff08;三&#xff09;、联合体大小的计算&#xff01;&a…...

【trition-server】pytorch 文档:使用 Triton 提供 Torch-TensorRT 模型

Serving a Torch-TensorRT model with Triton pytorch 的官方文档: Serving a Torch-TensorRT model with Triton 在有关机器学习基础设施的讨论中,优化和部署是密不可分的。一旦完成网络级优化以获得最大性能,下一步就是部署它。 然而,提供这种优化模型也有其自身的一系列…...

wps 表格如何实现vlookup高级模糊搜索

一、VLOOKUP 模糊搜索 在 WPS 表格中&#xff0c;可以通过使用 VLOOKUP 函数和通配符来实现高级模糊搜索。这里有一个具体的示例来帮助你理解如何进行这些操作。 示例&#xff1a;实现 VLOOKUP 高级模糊搜索 假设我们有以下数据集&#xff1a; AB产品编号产品名称001苹果00…...

第一天(点亮led灯+led灯闪烁)——Arduino uno R3 学习之旅

​ 常识: 一般智能手机的额定工作电流大约为200mA Arduino Uno板上I/0(输入/输出)引脚最大输出电流为40 mA Uno板控制器总的输出电流为200 mA 点亮LED灯 发光二极管介绍 发光二极管(Light Emitting Diode&#xff0c;简称LED)是一种能够将电能转化为光能的固态的半导体器件…...

【C++题解】1561. 买木头

问题&#xff1a;1561. 买木头 类型&#xff1a;省赛、数组问题、二分答案、贪心、2015江苏省青少年信息学奥林匹克竞赛复赛 题目描述&#xff1a; 有 n 个木材供应商&#xff0c;每个供货商有长度相同一定数量的木头。长木头可以锯短&#xff0c;但短木头不能接长。有一个客…...

解决android native包webview,webview中的请求blocked by CORS policy

在stack overflow查&#xff0c;差不多查到的都是些webView.getSettings().setxxx&#xff0c;没用。在github上找别的类似的android native包webview运行pwa的项目&#xff0c;把它们的webView.getSettings().setxxx全搬过来&#xff0c;写了有一页多&#xff0c;一个有用的都…...

链篦机回转窑球团生产工艺

生球在回转窑氧化焙烧&#xff0c;回转窑头部设有燃烧器&#xff0c;燃料可以采用气体、固体、液体。 来自环冷机一冷却段的高温废气作为二次风进入窑内参与燃烧&#xff0c;烧成成品球进入环冷机。 环冷机采用鼓风冷却&#xff0c;热风风箱分为四段&#xff1a; 一段气体引至…...

查看电脑ip地址快捷键是什么?是哪个

在网络世界中&#xff0c;IP地址是每个网络设备的唯一标识&#xff0c;无论是我们的电脑、手机还是其他联网设备&#xff0c;都需要一个独特的IP地址来进行通讯。在日常生活和工作中&#xff0c;我们有时需要查看电脑的IP地址&#xff0c;以便进行网络设置、故障排查或远程连接…...

面试专区|【54道Spring Cloud高频题整理(附答案背诵版)】

什么是Spring Cloud&#xff1f; Spring Cloud是一个基于Spring Boot的开源框架&#xff0c;它提供了在分布式系统中集成各种服务治理功能的工具&#xff0c;如配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态等。其主要目…...

Shopee(虾皮)怎么获取流量?

店铺流量的高低会直接关联到卖家店铺单量&#xff0c;也关系到一个店铺的营业情况和利润&#xff0c;那么Shopee的流量从哪里来呢&#xff1f; Shopee的平台流量可分为五个部分&#xff1a; 1.自然流量 2.关键字广告流量 3.平台活动流量 4.营销流量 5.粉丝流量 怎么提升…...

Java启动虚拟机默认字符集编码

-Dfile.encodingUTF-8 java程序启动默认字符集编码参数 // 这里会创建一个Charset.defaultCharset().name()的流&#xff0c;在Windows命令行窗口启动&#xff0c;会出现字符编码为GBK的情况 // 导致乱码输入、输出都会有影响 // 解决办法流的读取指定编码new InputStreamRead…...

【单片机编程模式】状态机编程

状态机编程是一种编程模式&#xff0c;它基于有限状态机&#xff08;Finite State Machine&#xff0c;简称FSM&#xff09;的概念。以下是状态机编程的清晰解释&#xff0c;分点表示和归纳&#xff1a; 基本概念&#xff1a; 状态机是一个有向图形&#xff0c;由一组节点&…...

IPSS模块怎么安装到VOS服务器的,到底有没有效果,是不是能大幅度提升VOS3000安全性呢

由于VOS的普及性&#xff0c;不得不承认VOS确实是非常优秀的软交换&#xff0c;但是很多客户在使用过程中都会遇到各种安全问题&#xff0c;比如话费被盗用了&#xff0c;历史话单一堆的非法呼叫话单&#xff0c;严重的影响到了话务安全&#xff0c;并不是那点话费的事了&#…...

C++ STL容器:序列式容器-堆pirority_queue

摘要&#xff1a; CC STL&#xff08;Standard Template Library&#xff0c;标准模板库&#xff09;在C编程中的重要性不容忽视&#xff0c;STL提供了一系列容器、迭代器、算法和函数对象&#xff0c;这些组件极大地提高了C程序的开发效率和代码质量。 STL 容器 分为 2 大类 …...

ECharts在最新版本中使用getInstanceByDom报错处理

引用问题导致报错 如果按如下引用的话&#xff0c;会报错 import echarts from “echarts/lib/echarts”; 原因 在 ECharts 的之前版本中&#xff0c;默认导出了一个名为 echarts 的对象&#xff0c;所以使用 import echarts from “echarts” 是没有问题的。但是在 ECharts …...

利用C语言实现三子棋游戏

文章目录 1.游戏界面2.游戏内容2.1 棋盘类型2.2棋盘的初始化2.3 打印棋盘的界面展示 3.游戏操作3.1 玩家操作3.2 电脑操作3.3 胜负判定 4.代码整合 1.游戏界面 无论写任何程序&#xff0c;我们都需要先去了解它的大概框架&#xff0c;这里我们先把它的初始界面写出来。一个游戏…...

大学教师门诊预约小程序-计算机毕业设计源码73068

摘要 在当今数字化、信息化的浪潮中&#xff0c;大学校园的服务管理正朝着智能化、便捷化的方向迈进。为了优化大学教师的医疗体验&#xff0c;提升门诊预约的效率和便捷性&#xff0c;我们基于Spring Boot框架设计并实现了一款大学教师门诊预约小程序。该小程序不仅提供了传统…...

Python PyCryptodome库介绍与实例

Python PyCryptodome库介绍与实例 1. 安装2. 基本概念3. 使用场景和示例代码3.1 对称加密 - AES3.2 非对称加密 - RSA3.3 哈希函数 - SHA2563.4 消息认证码 - HMAC 4. 总结 PyCryptodome是一个强大的Python加密库,提供了各种加密算法和工具。本文将介绍PyCryptodome的基本概念和…...

《框架封装者 · 自定义初始化事件》

&#x1f4e2; 大家好&#xff0c;我是 【战神刘玉栋】&#xff0c;有10多年的研发经验&#xff0c;致力于前后端技术栈的知识沉淀和传播。 &#x1f497; &#x1f33b; CSDN入驻不久&#xff0c;希望大家多多支持&#xff0c;后续会继续提升文章质量&#xff0c;绝不滥竽充数…...

ActiViz实战:使用vtkImageClip和vtkImageActor根据滑动条来显示当前图像数据切面

文章目录 一、效果预览二、代码实现三、源码地址一、效果预览 ActiViz实现图像数据切面显示 二、代码实现 public partial class Form1 : Form {private vtkRenderWindowInteractor _interactor;private vtkRenderer _renderer...

【论文笔记】BEVCar: Camera-Radar Fusion for BEV Map and Object Segmentation

原文链接&#xff1a;https://arxiv.org/abs/2403.11761 0. 概述 本文的BEVCar模型是基于环视图像和雷达融合的BEV目标检测和地图分割模型&#xff0c;如图所示。模型的图像分支利用可变形注意力&#xff0c;将图像特征提升到BEV空间中&#xff0c;其中雷达数据用于初始化查询…...

圆通寄15kg30kg一般多少钱?寄大件物品怎么寄最便宜?

作为一名即将毕业的大学生&#xff0c;搬家成了我和室友们共同的难题。尤其是在寄送大件物品时&#xff0c;如何省钱、如何打包、选择哪家快递公司等问题让我们头疼不已。今天&#xff0c;我就来分享一些寄大件物品的省钱技巧以及打包方法&#xff0c;希望对大家有所帮助。 一…...

transformer初探

transformer初探 self-attentionmultihead-attentionencoderdecoder self-attention 其实就是三个矩阵&#xff0c; W q W_q Wq​、 W k W_k Wk​、 W v W_v Wv​&#xff0c;这三个矩阵就是需要训练的参数。分别得到每个token对应的 q q q k k k v v v&#xff0c;其中 q …...

JUC并发编程基础(包含线程概念,状态等具体实现)

一.JUC并发编程基础 1. 并行与并发 1.1 并发: 是在同一实体上的多个事件是在一台处理器上"同时处理多个任务"同一时刻,其实是只有一个事件在发生. 即多个线程抢占同一个资源. 1.2 并行 是在不同实体上的多个事件是在多台处理器上同时处理多个任务同一时刻,大家…...

集中管理和分析日志:使用 ELK 套件构建强大的日志管理平台

集中管理和分析日志&#xff1a;使用 ELK 套件构建强大的日志管理平台 日志是监控和调试应用程序和系统的重要工具。集中管理和分析日志可以帮助你快速定位问题、了解系统运行状况和性能&#xff0c;并提高你的日志管理效率。ELK 是一个流行的日志管理解决方案&#xff0c;由 …...

深度学习 - 模型的保存与部署方式汇总

深度学习模型保存和加载格式科普 在深度学习中&#xff0c;模型的保存和加载是非常重要的环节。不同的格式有不同的特点和适用场景。本文将为新手朋友们介绍几种常见的模型格式&#xff0c;包括它们的简介、保存方式、加载方式、优缺点以及应用场景。 1. PyTorch (.pth, .pt)…...

人工智能对网络安全有何影响?

人工智能网络安全在短期、中期和长期如何变化 当今数字时代网络安全的重要性 在谈论人工智能在网络安全中的作用时&#xff0c;必须首先考虑短期影响&#xff0c;因为它们是最明显的&#xff0c;而且它是一个未知的领域&#xff0c;需要超越直接炒作的能力。 因此&#xff0…...

Oracle的RECYCLEBIN回收站:轻松恢复误删对象

目录 Oracle的RECYCLEBIN回收站&#xff1a;轻松恢复误删对象一、概念二、工作原理三、使用方法1 查看回收站中的对象2 恢复回收站中的对象2.1 恢复表&#xff08;TABLE&#xff09;2.2 恢复索引&#xff08;INDEX&#xff09;2.3 恢复视图&#xff08;VIEW&#xff09;2.4 恢复…...

Android 内存原理详解以及优化(二)

上一篇讲了内存原理&#xff0c;如果还没看可以先看上一篇&#xff1a;Android 内存原理详解以及优化&#xff08;一&#xff09; 这一篇我总结一下我们经常遇到的内存优化问题&#xff1a; 1.内存抖动 自定义view的ondraw是会被频繁调用的&#xff0c;那在这个方法里面就不能频…...

Shell学习——Shell变量

文章目录 Shell变量使用变量只读变量删除变量变量类型字符串变量&#xff1a; 在 Shell中&#xff0c;变量通常被视为字符串。整数变量&#xff1a; 在一些Shell中&#xff0c;你可以使用 declare 或 typeset 命令来声明整数变量。数组变量&#xff1a; Shell 也支持数组&#…...

Java中的持续集成与持续部署(CI/CD)

Java中的持续集成与持续部署&#xff08;CI/CD&#xff09; 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天我们将深入探讨Java中的持续集成&#xff08;Co…...

极狐GitLab 将亮相2024空天信息大会暨数字地球生态峰会,携手中科星图赋能空天行业开发者

GitLab 是一个全球知名的一体化 DevOps 平台&#xff0c;很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab &#xff1a;https://gitlab.cn/install?channelcontent&utm_sourcecsdn 是 GitLab 在中国的发行版&#xff0c;专门为中国程序员服务。可以一键式部署…...

Beats:使用 Filebeat 从 Python 应用程序中提取日志

本指南演示了如何从 Python 应用程序中提取日志并将其安全地传送到 Elasticsearch Service 部署中。你将设置 Filebeat 来监控具有标准 Elastic Common Schema (ECS) 格式字段的 JSON 结构日志文件&#xff0c;然后你将在 Kibana 中查看日志事件发生的实时可视化。虽然此示例使…...

51单片机第23步_定时器1工作在模式0(13位定时器)

重点学习51单片机定时器1工作在模式0的应用。 在51单片机中&#xff0c;定时器1工作在模式0&#xff0c;它和定时器0一样&#xff0c;TL1占低5位&#xff0c;TH1占高8位&#xff0c;合计13位&#xff0c;也是向上计数。 1、定时器1工作在模式0 1)、定时器1工作在模式0的框图…...

linux的服务管理

systemd systemd 是一个系统和服务管理器&#xff0c;用于Linux操作系统中&#xff0c;旨在替代传统的Unix系统V初始化系统&#xff08;SysV init&#xff09;。 不一定所有使用 yum 安装的软件都可以通过 systemctl start 来管理。能否通过 systemctl start 管理取决于软件包…...

动手学深度学习(Pytorch版)代码实践 -循环神经网络-53语言模型和数据集

53语言模型和数据集 1.自然语言统计 引入库和读取数据&#xff1a; import random import torch from d2l import torch as d2l import liliPytorch as lp import numpy as np import matplotlib.pyplot as plttokens lp.tokenize(lp.read_time_machine())一元语法&#xf…...

Python 学习之自动化运维技术(八)

Python 的自动化运维技术 Python的自动化运维技术是指利用Python编程语言和相关工具实现运维工作的自动化&#xff0c;以提高效率、减轻工作负担。以下是对Python自动化运维技术的清晰归纳和详细介绍&#xff1a; 一、自动化运维的核心优势 ● 提高效率&#xff1a;通过自动化脚…...

【python】PyQt5可视化开发,如何设计鼠标显示的形状?

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…...

利用大模型知识库,优化智能客服问答效果 | 创新场景

ITValue 痛点 SSC&#xff08; Share Service Center &#xff0c;共享服务中心&#xff09;是企业日常接触最多的场景之一&#xff0c;更多是对内服务&#xff0c;包括 HR 、财务、IT 等。该场景对专业度要求非常高&#xff0c;知识点非常多&#xff0c;对于知识的使用者或者查…...

物联网协议都包含哪些协议?

物联网协议是物联网生态系统中不可或缺的组成部分&#xff0c;它们负责处理和协调物联网设备之间的通信。具体介绍如下&#xff1a; Ethernet&#xff1a;以太网是一种有线网络协议&#xff0c;广泛应用于局域网络(LAN)中&#xff0c;提供稳定的高速数据传输。Wi-Fi&#xff1…...

面试专区|【52道微服务架构高频题整理(附答案背诵版)】

简述什么是微服务&#xff1f; 微服务是一种软件架构风格&#xff0c;它将应用程序拆分成一系列小型、独立的服务&#xff0c;每个服务都运行在其自己的进程中&#xff0c;通过轻量级通信机制进行通信。每个服务都具有明确的业务能力&#xff0c;并且可以独立开发、测试、部署…...

数据结构之算法的时间复杂度

1.时间复杂度的定义 在计算机科学中&#xff0c;算法的时间复杂度是一个函数&#xff0c;它定量描述了算法的运行时间。一个算法所花费的时间与其中语句的执行次数成正比列&#xff0c;算法中的基本操作的执行次数&#xff0c;为算法的时间复杂度 例1&#xff1a; 计算Func1…...

unity中物体被激活自动执行挂载代码

在Unity中,如果希望当物体被激活时自动执行特定的函数,可以利用 MonoBehaviour 的生命周期函数 OnEnable()。这个方法会在对象被激活时调用,可以用来执行初始化或者处理其他逻辑。以下是如何在脚本中使用 OnEnable() 方法: using UnityEngine;public class ActivateFuncti…...

Pandas数据可视化详解:大案例解析(第27天)

系列文章目录 Pandas数据可视化解决不显示中文和负号问题matplotlib数据可视化seaborn数据可视化pyecharts数据可视化优衣库数据分析案例 文章目录 系列文章目录前言1. Pandas数据可视化1.1 案例解析&#xff1a;代码实现 2. 解决不显示中文和负号问题3. matplotlib数据可视化…...

Redis基础教程(七):redis列表(List)

&#x1f49d;&#x1f49d;&#x1f49d;首先&#xff0c;欢迎各位来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里不仅可以有所收获&#xff0c;同时也能感受到一份轻松欢乐的氛围&#xff0c;祝你生活愉快&#xff01; &#x1f49d;&#x1f49…...