html查漏补缺之meta标签

本文详细介绍了HTML中的meta标签及其属性,包括http-equiv和name属性的作用与用法,解释了这些标签如何帮助浏览器正确显示网页内容,并提供了SEO优化的相关代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是meta标签? 

      meta标签是html标记head区的一个关键标签,它位于HTML文档的<head>和<title>之间(有些也不是在<head>和<title>之间)。它提供的信息虽然用户不可见,但却是文档的最基本的元信息。meta标签用来描述一个HTML网页文档的属性,例如作者、日期和时间、网页描述、关键词、页面刷新等。

注:元信息是关于信息的信息,元信息允许服务器提供所发送数据的信息,如http可以提高所发的对象语言和对象,也可以用元信息来实现有条件请求以及报告事务完成。收到数据的浏览器可以根据元信息确定服务器发来的是什么内容,预料有什么数据,确知是否接收完整的数据,以及过程中是否出错,这样客户就可以知道传输对象的类型。

meta标签的属性有哪些?  

 属性作用对应html版本
必须content

some_text

定义与 http-equiv 或 name 属性相关的元信息。4,5
可选http-equiv

content-type

expires

refresh

set-cookie

把 content 属性关联到 HTTP 头部。4,5
可选name

author

description

keywords

generator

revised

others

把 content 属性关联到一个名称。4,5
可选charsetcharacter encoding定义文档的字符编码。5
可选schemesome_text定义用于翻译 content 属性值的格式。不支持。4

 

 

 

 

 

 

 

 

 

 

 

 

                                                                                            注:上面是较常用的,详见于w3school.

 

属性详解:

1.http-equiv

   相当于http的文件头作用,它可以向浏览器传回一些有用的信息,以帮助浏览器正确地显示网页内容。

   语法:<meta http-equiv="参数" content="参数值">

   参数:

  • content-Type(设定页面使用的字符集)

<metahttp-equiv="content-Type" content="text/html;charset=gb2312">

http-equiv=Content-Type代表的是HTTP的头部协议,提示浏览器网页的信息,

  meta标签的charset的信息参数如GB2312时,代表说明网站是采用的编码是简体中文;

  meta标签的charset的信息参数如BIG5时,代表说明网站是采用的编码是繁体中文;

  meta标签的charset的信息参数如iso-2022-jp时,代表说明网站是采用的编码是日文;

  meta标签的charset的信息参数如ks_c_5601时,代表说明网站是采用的编码是韩文;

  meta标签的charset的信息参数如ISO-8859-1时,代表说明网站是采用的编码是英文;

  meta标签的charset的信息参数如UTF-8时,代表世界通用的语言编码;

  • content-Language(显示语言的设定)     
<meta http-equiv="Content-Language" content="zh-cn"/>     
  • Expires(期限,可以用于设定网页的到期时间。一旦网页过期,必须到服务器上重新传输)

<meta http-equiv="expires" content="Fri,12Jan200118:18:18GMT">

注意:必须使用GMT的时间格式。

  • Pragma(cache模式,禁止浏览器从本地计算机的缓存中访问页面内容)

<meta http-equiv="Pragma" content="no-cache">

注意:这样设定,访问者将无法脱机浏览。

  • cache-control(缓存设置)

<meta http-equiv="cache-control" content="no-cache">

请求时的缓存指令包括no-cache、no-store、max-age、max-stale、min-fresh、only-if-cached,响应消息中的指令包括public、private、no-cache、no-store、no-transform、must-revalidate、proxy-revalidate、max-age。各个消息中的指令含义如下:

Public指示响应可被任何缓存区缓存

Private指示对于单个用户的整个或部分响应消息,不能被共享缓存处理。这允许服务器仅仅描述当用户的部分响应消息,此响应消息对于其他用户的请求无效

no-cache指示请求或响应消息不能缓存

no-store用于防止重要的信息被无意的发布。在请求消息中发送将使得请求和响应消息都不使用缓存。

max-age指示客户机可以接收生存期不大于指定时间(以秒为单位)的响应

min-fresh指示客户机可以接收响应时间小于当前时间加上指定时间的响应

max-stale指示客户机可以接收超出超时期间的响应消息。如果指定max-stale消息的值,那么客户机可以接收超出超时期指定值之内的响应消息。

  • Refresh(自动刷新并指向新页面)

<meta http-equiv="Refresh" content="2; URL=http://www.baidu.com"> //(注意后面的引号,分别在秒数的前面和网址的后面)

注意:其中的2是指停留2秒钟后自动刷新到URL网址。

  • Window-target(强制页面在当前窗口以独立页面显示)

 <meta http-equiv="Window-target" content="_top">

注意:用来防止别人在框架里调用自己的页面。

  • set-cookie(cookie设定,如果网页过期,那么存盘的cookie将被删除)

<meta http-equiv="Set-Cookie" content="cookie value=xxx; expires=Friday,12-Jan-200118:18:18GMT;path=/">

      通常强制要求浏览器不设置缓存重新从服务器获取页面会使用下面的方式:

<meta http-equiv=”pragma” content=”no-cache”>

<meta http-equiv=”cache-control” content=”no-cache”>

<meta http-equiv=”expires” content=”0″>

 

        注:对于浏览器的缓存设置相关,目前可能初学者会不太懂,可以看一看http相关的书,如《图解HTTP》,《网络是怎样连接的》,了解http头部相关内容,http-eqiv属性作用类似于http头协议,它会告诉浏览器一些关于字符设定,页面刷新,和缓存相关等等信息.

2.name属性

    name属性主要用于描述网页,与之对应的属性值为content,content中的内容主要是便于搜索引擎机器人查找信息和分类信息用的。

    语法:<meta name="参数" content="具体的参数值">

  • Keywords(关键字)

    说明:keywords用来告诉搜索引擎你网页的关键字是什么。

<meta name="keywords" content="">

  • description(网站内容描述)

    说明:description用来告诉搜索引擎你的网站主要内容。

<metaname="description" content="">

  • robots(机器人向导)

    说明:Meta robots标签管理着搜索引擎是否可以进入网页,你可以用它来允许或不允许搜索引擎来获取你的网页、进入你网页中的子链接或对你的网页存档。content的参数有all,none,index,noindex,follow,nofollow。默认是all。

<metaname="robots" content="none">

具体参数如下:

信息参数为all:文件将被检索,且页面上的链接可以被查询;

信息参数为none:文件将不被检索,且页面上的链接不可以被查询;

信息参数为index:文件将被检索;

信息参数为follow:页面上的链接可以被查询;

信息参数为noindex:文件将不被检索,但页面上的链接可以被查询;

信息参数为nofollow:文件将被检索,但页面上的链接不可以被查询;

 

  • author(作者)

说明:标注网页的作者

<metaname="author" content="jesse131work@163.com">

  • generator

说明:meta标签的generator的信息参数,代表说明网站的采用的什么软件制作。

<metaname="generator" content="信息参数"/>

  • copyright

  说明:meta标签的copyright的信息参数,代表说明网站版权信息。

<metaname="copyright" content="信息参数">

 

  • revisit-after

  说明:revisit-after代表网站重访,7days代表7天,依此类推,假如我设置,那这样搜索引擎就是7天来一次。使用这个标签的网站,通常是因为网站数据量非常大,被搜索引擎过         于频繁的抓取,会占用过大的资源,影响网站的访问。所以,希望搜索引擎不要天天过来,抓取过一次了,那么等7天后再来。一般的网站是不需要这个标签的。

<meta name="revisit-after" content="7days">

  • view-point

  说明:主要影响移动页面布局

<meta name="viewport" content="width=device-width, initial-scale=1.0">

content 参数:

  • width viewport 宽度(数值/device-width)
  • height viewport 高度(数值/device-height)
  • initial-scale 初始缩放比例
  • maximum-scale 最大缩放比例
  • minimum-scale 最小缩放比例
  • user-scalable 是否允许用户缩放(yes/no)

3.content属性

      content属性一般与name和http-equiv属性一起用,视它们的值而定。

4.charset属性

      charset属性,是html5的属性,可替换<metahttp-equiv="content-Type" content="text/html;charset=gb2312">设置为<meta charset="utf-8">

 

设置meta属性的作用是什么?

         meta标签提供关于HTML文档的元数据。元数据不会显示在页面上,但是对于机器是可读的。它可用于浏览器(如何显示内容或重新加载页面),搜索引擎(关键词),或其他 web 服务。meta标签可用于缓存设置,还与SEO优化相关。SEO是指通过采用易于搜索引擎索引的合理手段,使网站各项基本要素适合搜索引擎检索原则并且对用户更友好(Search Engine Friendly),从而更容易被搜索引擎收录及优先排序从属于SEM(搜索引擎营销)。通俗理解是:通过总结搜索引擎的排名规律,对网站进行合理优化,使你的网站在百度和goog的排名提高,让搜索引擎给你带来客户。

       seo优化常用语句如下

<!-- 页面标题<title>标签(head 头部必须) -->

<title>your title</title>

<!-- 页面关键词 keywords -->

<meta name="keywords" content="your keywords">

<!-- 页面描述内容 description -->

<meta name="description" content="your description">

<!-- 定义网页作者 author -->

<meta name="author" content="author,email address">

<!-- 定义网页搜索引擎索引方式,robotterms 是一组使用英文逗号「,」分割的值,通常有如下几种取值:none,noindex,nofollow,all,index和follow。 -->

<meta name="robots" content="index,follow">


 

以上是我看过许多别人的文章总结出的对自己有用的,如果有错或有补充的补充烦请多多指点。相信许多初学者都和我一样,刚开始看的时候会有很多不太理解,但是可以尽自己最大努力去尝试弄懂,实在弄不懂的可以先放下,随着后面的学习和阅读,再回头来看看,这些不懂得会迎刃而解,会有很大收获,加油!

 

参考:https://blog.youkuaiyun.com/yc123h/article/details/51356143      https://www.jb51.net/yunying/419531.html     http://www.cnblogs.com/libin-1/p/5979300.html

  

 

转载于:https://www.cnblogs.com/breathee/p/9242253.html

### 优化0/1背包问题的C++实现 在经典的0/1背包问题中,目标是在给定容量的背包中装入一组物品,使得总价值最大。动态规划是解决该问题的常用方法,通常采用二维数组或一维数组进行状态表示。为了提升代码的可读性和运行效率,可以对原始实现进行优化,并补充潜在的边界条件处理[^1]。 #### 优化点 1. **使用一维数组代替二维数组** 原始实现中使用了 `dp[i][j]` 表示前 `i` 个物品、容量为 `j` 时的最大价值。为了减少空间复杂度,可以使用滚动数组优化,将状态压缩为一维数组,从后往前更新状态,避免重复计算。 2. **边界条件处理** 在输入处理阶段,需要确保物品数量 `n` 和背包容量 `capacity` 为非负整数,且物品的重量和价值数组长度一致。此外,若某个物品的重量超过背包容量,该物品将不会被考虑,从而减少不必要的计算。 3. **数据类型选择** 使用 `int` 类型可能导致溢出,特别是在物品价值较大的情况下。可以将 `dp` 数组定义为 `long long` 类型,以防止整数溢出。 #### 优化后的代码示例 ```cpp #include <iostream> #include <vector> #include <algorithm> using namespace std; long long optimized_knapsack(int capacity, const vector<int>& weights, const vector<int>& values, int n) { vector<long long> dp(capacity + 1, 0); for (int i = 0; i < n; ++i) { for (int j = capacity; j >= weights[i]; --j) { dp[j] = max(dp[j], dp[j - weights[i]] + values[i]); } } return dp[capacity]; } int main() { int n, capacity; cout << "请输入物品数量和背包容量:"; cin >> n >> capacity; if (n <= 0 || capacity <= 0) { cout << "输入无效,物品数量或背包容量不能为零或负数。" << endl; return -1; } vector<int> weights(n), values(n); cout << "请输入每个物品的重量和价值:" << endl; for (int i = 0; i < n; ++i) { cin >> weights[i] >> values[i]; if (weights[i] < 0 || values[i] < 0) { cout << "物品重量或价值不能为负数。" << endl; return -1; } } long long max_value = optimized_knapsack(capacity, weights, values, n); cout << "最大价值为: " << max_value << endl; return 0; } ``` #### 潜在问题及补充 1. **物品数量或容量为零的边界情况** 如果输入的 `n` 或 `capacity` 为零,程序应直接返回错误信息,避免进入无效的循环逻辑。 2. **物品重量或价值为负数的处理** 在现实问题中,物品的重量和价值应为非负数。如果输入中出现负值,程序应提示错误并终止。 3. **整数溢出问题** 当物品价值较大时,多个物品累加可能导致 `int` 类型溢出。使用 `long long` 类型可有效避免这一问题。 4. **输入格式的健壮性** 若用户输入非整数值,程序可能会崩溃。可以增加输入验证逻辑,例如使用 `cin.fail()` 判断输入是否合法。 #### 复杂度分析 - **时间复杂度**:`O(n * capacity)`,因为需要遍历所有物品和所有可能的容量。 - **空间复杂度**:`O(capacity)`,使用一维数组进行状态压缩。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值