Cookie是存储在用户电脑上的小文件,它们被设计用来保存特定于特定客户端和网站的少量数据,并且可以被web服务器或客户端运算机访问。这答应服务器为特定的用户提供定制的页面,或者页面本身可以包含一些脚本,这些脚本能够识别cookie中的数据,因此能够将信息从一次访问网站(或相关网站)传递到下一次访问。cookie里有什么?每个cookie实际上是一个小查询表,包含对(键、数据)值——例如(firstname, John) (lastname, Smith)。一旦服务器或客户端运算机上的代码读取了cookie,就可以检索数据并用于适当地定制web页面。什么时候创建cookie ?向cookie写入数据通常是在加载新网页时完成的——例如,在按下“提交”按钮后,数据处理页面将负责在cookie中存储值。如果用户选择禁用cookie,那么写操作将失败,后续依赖cookie的站点将不得不采取默认操作,或者提示用户重新输入存储在cookie中的信息。为什么要使用cookie ?cookie是一种方便的方式,可以将信息从网站上的一个会话传送到另一个会话,或在相关网站上的会话之间传送,而无需为服务器机器带来大量数据存储的负担。在服务器上存储数据而不使用cookie也会有问题,因为如果不需要在每次访问网站时登录,就很难检索特定用户的信息。如果需要存储大量信息,那么可以简陋地使用cookie来标识给定的用户,以便在服务器端数据库中查找进一步的相关信息。例如首先次用户访问一个网站他们可能选择一个用户名存储在cookie,然后提供数据,如密码、姓名、地址、首选的字体大小、页面布局等等——这些信息都会存储在数据库使用用户名作为一个关键。随后,当站点被重新访问时,服务器将读取cookie以找到用户名,然后从数据库中检索所有用户信息,而不必重新输入。cookie有多安全?人们对互联网上的隐私和安全有很多担忧,cookie本身不会对隐私构成威逼,因为它们只能用于存储用户自愿提供的信息或web服务器已经提供的信息。虽然这些信息可以提供给特定的第三方网站,但这并不比将其存储在中央数据库中更糟糕。如果您担心您提供给web服务器的信息不会被视为秘密,那么您应该考虑是否真的需要提供这些信息。相关文章推举NGINX是什么,以及它是如何工作的 NGINX,发音类似于“engine-ex”,是一个开源Web服务器,自从它最初作为Web服务器成功以来,现在 […]...USB是什么? USB表示“通用串行总线”,USB是现代运算机中最常用的一种运算机端口。它可以用于连接键盘、鼠标、游戏控制器、 […]...HDMI是什么意思? HDMI代表“高清媒体接口”,但是,它不仅仅是一种线缆或连接器,而是一种旨在传输高清楚度音频和视频信号的技术标 […]...AAC是什么? AAC又称高级音频编码,是一种压缩数字音频文件的技术。作为MPEG-4标准的一部分,它被广泛用于创建小型数字音 […]...什么是多线程? 在运算世界中,多线程是在现有进程中创建新的执行线程的任务,而不是启动一个新进程来开始一个函数。从本质上说,多线 […]...Cookie是什么?
Boost是用于C ++编程语言的一组库,这些库为诸如线性代数,伪随机数生成,多线程,图像处理,正则表达式和单元测试之类的任务和结构提供支持。多数Boost库的被许可下升压软件许可,旨在让升压用都可以用来自由和专有软件项目。Boost的许多创始人都是C ++标准委员会的成员,已经接受了一些Boost库,以将其合并到C ++技术报告1,C ++ 11标准中(例如,智能指针,线程,正则表达式,随机数,比率,元组)和C ++ 17标准(例如,文件系统,任何,可选,变体,string_view)。Boost也可以指阿迪达斯(Adidas)品牌和使用的一种材料,以颗粒的形式进行压缩和模制,用于公司生产的各种鞋子。药丸由专有的热塑性氨基甲酸酯制成,将其挤出和/或模制成小药丸形状。阿迪达斯与德国巴斯夫公司合作创作了这种材料,但是,Boost本身不是原材料,而是通过如上所述加工热塑性聚氨酯来获得的,该材料声称在穿着者的脚上非常舒适。相关文章推举什么是局域网? 局域网(LAN)由两台或多台运算机组成,这些运算机使用软件和硬件连接在建筑物或家中。这与广域网(WAN)形成了 […]...NPC是什么? NPC全称“Non-Player Character”是非玩家角色的缩写。它是游戏中的一种角色类型,即非玩家角 […]...服务器集群是什么?服务器集群的重要性及类型 顾名思义,服务器集群是指两个或多个计算机同时工作。集群中的每台运算机都称为一个节点,具有自己的特性,如硬盘驱动 […]...什么是搜索引擎营销(SEM)? 搜索引擎营销(也称为SEM)是通过搜索引擎获得流量的过程,SEM有两个主要支柱:SEO(搜索引擎优化)和PPC […]...破解版是什么意思? 破解版通常指破解的游戏或单机游戏,软件破解是指对软件的修改,以删除不需要的功能或解锁更多功能,例如复制掩护功能 […]...boost是什么意思?
robots.txt文件,robots协议,robots.txt有什么作用 robots其实就是指Robots协议,Robots协议(也称为爬虫协议、机器人协议等)的全称是“网络爬虫消除标准”(Robots Exclusion Protocol),网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。而承载这些协议的文件就是robots.txt文件,那么robots.txt文件到底有啥用途,robots协议应该怎么写,有哪些注意事项,笔者在本文将详细跟大家介绍。一、robots.txt文件的含义,robots.txt有什么作用前面有提到,这个文本文件承载着robots协议,它告诉所有搜索引擎本网站哪些页面可以被抓取,哪些页面制止抓取。这样做有两方面的意义:1.掩护隐私。有些页面信息不想或者说不能让外界看到,单搜索引擎并不知道这些情况,它还是会照常抓取、展示。如果我们通过设置robots做了限制,搜索引擎蜘蛛就会舍弃抓取,外界就不能通过搜索引擎了解到这些隐秘信息。2.调节页面抓取量。我们都知道每个网站蜘蛛抓取的配额都是有限的,如果我们通过robots.txt文件制止一些不重要的页面被抓取,那么就节省了配额,让那些重要的页面得到更多的抓取机会。二、robots.txt文件的写法robots协议针对的就是答应或者不答应,另外也可以设置具体的搜索引擎,笔者认为正常情况下不用去区分搜索引擎,统一设置即可。1. 制止所有搜索引擎访问网站User-agent: *Disallow: /2. 答应所有搜索引擎访问网站User-agent: *Allow: /这是最基本的用法,robots协议的用法还有很多技术,笔者建议大家去仔细阅读robots协议。三、robots.txt文件相关注意事项有朋友说我的网站没有什么要制止抓取的,你就不要设置robots.txt文件了吧,理论上行得通。不过,笔者建议,即便全部开放也最好设置一个robots文件,如本站的文件:http://www.tangmengyun.com/robots.txt。PS:关注过本网站的朋友应该有印象,笔者说过本站是11月6号才有正式有蜘蛛抓取,为什么之前几天没有呢,问题就出在robots文件上!之前本站并没有设置这个文件,持续3天都没有蜘蛛抓取,笔者再三检查也没有发现有限制的地方,最后意识可能是robots的问题。在设置了robots.txt文件以后,当天便有蜘蛛正常抓取了。四、robots.txt文件的位置放在网站根目录下,在链接url的显示就是:http://www.abc.com/robots.txt,其中www.abc.com就是网站域名。五、robots文件生成有朋友提到有没有直接生产robots文件的工具,笔者认为这完全没有必要,robots文件应该手动去具体设置,这样才干发挥robots.txt文件最大的作用。本文只是对robots.txt文件做了大体意义上的讲解,更多robots协议请参考百度百科资料https://baike.baidu.com/item/robots%E5%8D%8F%E8%AE%AE/2483797。 --
robots.txt作为所有搜索引擎共同遵循的规则协议书,当搜索引擎蜘蛛爬行站点时先检测网站有无robots其次依照robots规则范畴进行爬行,如果没有robots.txt,那么蜘蛛就会沿着链接抓取。请牢牢记住:robots.txt必须放置在站点的根目录下,而且文件名必须全部小写。Disallow后面的冒号必须为英文状态的。我们先来理解User-agent和Disallow的定义。User-agent:该项用于描述搜索引擎蜘蛛的名字。(1)规定所有蜘蛛:User-agent:*;(2)规定某一个蜘蛛:User-agent:BaiduSpider。Disallow:该项用于描述不渴望被抓取和索引的一个URL,这个URL可以是一条完整的路径。这有几种不同定义和写法:(1)Disallow:/AAA.net,任何以域名+Disallow描述的内容开头的URL均不会被蜘蛛访问,也就是说以AAA.net目录内的文件均不会被蜘蛛访问;(2)Disallow:/AAA.net/则答应robots抓取和索引AAA.net/index.html,而不能抓取和索引AAA.net/admin.html;(3)如果Disallow记录为空,说明该网站的所有部分都答应被访问。在robots.txt文件中,至少应有Disallow记录,如果robots.txt为空文件,则对所有的搜索引擎robot来说,该网站都是开放的。1、国内建站需要用到的常见搜索引擎robot的名称。有时候我们觉得网站访问量(IP)不多,但是网站流量为什么耗的快?有很多的原因是垃圾(没有)蜘蛛爬行和抓取消耗的。而网站要屏蔽哪个搜索引擎或只让哪个搜索引擎收录的话,第一要知道每个搜索引擎robot的名称。2、robots.txt文件基本常用写法:第一,你先建一个空白文本文档(记事本),然后命名为:robots.txt。(1)制止所有搜索引擎访问网站的任何部分。User-agent: *Disallow: /(2)允许所有的robots访问,无任何限制。User-agent: *Disallow:或者User-agent: *Allow: /还可以建立一个空文件robots.txt或者不建立robots.txt。(3)仅制止某个搜索引擎的访问(例如:百度baiduspider)User-agent: BaiduSpiderDisallow:/(4)答应某个搜索引擎的访问(还是百度)User-agent: BaiduSpiderDisallow:User-agent: *Disallow: /这里需要注意,如果你还需要答应谷歌bot,那么也是在“User-agent: *”前面加上,而不是在“User-agent: *”后面。(5)制止Spider访问特定目录和特定文件(图片、压缩文件)。User-agent: *Disallow: /AAA.net/Disallow: /admin/Disallow: .jpg$Disallow: .rar$这样写之后,所有搜索引擎都不会访问这2个目录。需要注意的是对每一个目录必须分开说明,而不要写出“Disallow:/AAA.net/ /admin/”。3、robots特别参数(这一部分不熟者不要轻易使用)(1)AllowAllow与Disallow是正好相反的功能,Allow行的作用原理完全与Disallow行一样,所以写法是一样的,只需要列出你要答应的目录或页面即可。Disallow和Allow可以同时使用,例如,需要拦截子目录中的某一个页面之外的其他所有页面,可以这么写:User-agent: *Disallow: /AAA.net/Allow: /AAA.net/index.html这样说明了所有蜘蛛只可以抓取/AAA.net/index.html的页面,而/AAA.net/文件夹的其他页面则不能抓取,还需要注意以下错误的写法:User-agent: *Disallow: /AAA.netAllow: /AAA.net/index.html原因请看上面Disallow值的定义说明。(2)使用“*”号匹配字符序列。例1.拦截搜索引擎对所有以admin开头的子目录的访问,写法:User-agent: *Disallow: /admin*/例2.要拦截对所有包含“?”号的网址的访问,写法:User-agent: *Disallow: /*?*(3)使用“$”匹配网址的结束字符例1.要拦截以.asp结尾的网址,写法:User-agent: *Disallow:/*.asp$例2.如果“:”表示一个会话ID,可消除所包含该ID的网址,确保蜘蛛不会抓取重复的网页。但是,以“?”结尾的网址可能是你要包含的网页版本,写法:User-agent: *Allow: /*?$Disallow: /*?也就是只抓取.asp?的页面,而.asp?=1,.asp?=2等等都不抓取。4、网站地图(sitemap)对于提交网站地图,我们可以到谷歌站长工具提交,也可以用robots.txt文件中提示蜘蛛抓取:sitemap:AAA.net/sitemaps.xml5、robots.txt的好处与坏处(解决方法)。好处:(1)有了robots.txt,spider抓取URL页面发生错误时则不会被重定向至404处错误页面,同时有利于搜索引擎对网站页面的收录。(2)robots.txt可以禁止我们不需要的搜索引擎占用服务器的珍贵宽带。(3)robots.txt可以禁止搜索引擎对非公开的爬行与索引,如网站的后台程序、治理程序,还可以禁止蜘蛛对一些暂时诞生的网站页面的爬行和索引。(4)如果网站内容由动态转换静态,而原有某些动态参数仍可以访问,可以用robots中的特别参数的写法限制,可以避免搜索引擎对重复的内容惩罚,保障网站排名不受影响。坏处:(1)robots.txt轻松给黑客指明了后台的路径。解决方法:给后台文件夹的内容加密,对默认的目录主文件inde.html改名为其他。(2)如果robots.txt设置不对,将导致搜索引擎不抓取网站内容或者将数据库中索引的数据全部删除。User-agent: *Disallow: /这一条就是将制止所有的搜索引擎索引数据。相关内容:robots.txt文件协议最佳设置技巧相关文章推荐【岳阳seo】使用robots.txt屏蔽蜘蛛对网站的抓取 搜索引擎机器人不断抓取网站,以便将它们添加到搜索引擎索引中。但是,有时开发人员渴望将自己的网站或特定页面隐蔽在 […]...robots.txt文件协议设置技巧 数字营销人员和搜索引擎优化专业人士都应该知道搜索引擎索引的重要性,这正是他们竭力帮助各大搜索引擎正确抓取并索引 […]...如何屏蔽搜索引擎蜘蛛对网站的抓取? 要知道在seo优化的过程当中,有时候是需要对搜索引擎蜘蛛进行屏蔽的,就是制止对网站的某个地方进行抓取,那么我们 […]...网页搜索优化的一些相关见识 网站的访问者不只有人类,还有搜索引擎网络抓取工具,了解如何改善网站的搜索精度和排名。 确定网页的网址结构 自适 […]...网络爬虫简介 当我与人们谈论我做什么以及SEO是什么时,他们通常会很快问到如何提升网络爬虫的抓取率,良好的网站结构,良好的内 […]...robots怎么解除限制以及添加读取规则
当你开启一个全新站点的时候,默认的情况下网站根目录中是没有Robots.txt文件的,这导致很多站长并不关心Robots协议,这为日后的运营,埋下隐患,比如: ① 诞生大量重复页面,动态链接被抓取。 ② 新站无内容栏目,被收录,影响站点质量评定。 对于新站而言,由于蜘蛛抓取频率有限,我们应该合理利用Robos协议,巧用Robots.txt文件,引导蜘蛛爬行与抓取。 那么,Robots协议是什么,Robots.txt的作用有哪些? 1、Robots协议 简陋理解:Robots协议是搜索引擎蜘蛛爬行的一种标准,当蜘蛛来访的时候会第一检测网站根目录下是否存在Robots.txt这个文件。 如果存在,它会根据Robots协议的规定,去抓取只被SEO管理答应抓取的页面,而屏蔽不需要抓取的内容,它可以理解为是蜘蛛与站点之间的桥梁。 2、Robots.txt文件样式 Robots.txt通常存放在网站跟目录,你可以登录FTP查看站点跟目录下是否存在这个文件,如果没有可以自行创建,当Robotx.txt为空的时候,它代表不为网站做任何的抓取限制。 通常Robots.txt的写法如下: User-agent:* Allow:/ 它表示答应抓取所有的内容,而将Allow:/替换成Disallow:/则表示制止抓取站点所有内容。 其中值得注意的是,百度支持使用通配符"*"和"$"来朦胧匹配URL,具体关于Robots.txt文件的相关设置,你可以参考百度官方文档,百度搜索资源平台->网站支持->数据监控->Robots。 同时,当你修改了相关Robots.txt文件,而并不清晰是否设置正确的时候,也可以通过上述工具进行检测。 3、Robots.txt常见问题 ① 如何生成Robots.txt文件 目前线上平台有很多SEO推广软件,都支持客户端自动生成Robots.txt文件,它提供了一些便捷的条件,比如:自动屏蔽一些没必要的爬虫,避免浪费过多资源,以及相关栏目页面与图片等。 ② 网站不收录,熊掌号不出数据 通常呈现这个问题,你可以首先时间查看Robots.txt文件,是否由于操作失误,屏蔽了百度蜘蛛,导致网站不收录 ③ Robots.txt与nofollow标签 有的时候当你试图屏蔽一个URL的时候,明明在Robots.txt制止抓取了,仍旧会被索引,这种情况是可能存在的,为了安全起见,你可以在标签中,添加nofollow,来达到万无一失的作用。 总结:Robots.txt文件是一个值得站长研究的协议,它合理的调配网站资源,有利于站点运营的快速发展。 绿泡泡堂SEO学习网 https://www.绿泡泡堂seo.comRobots协议是什么
许多网页设计师都在寻找为他们的网站设计增加重大影响的方法,以便他们能够吸引用户的注意力。多年来,从使用标题图形到在登录页面菜单下放置幻灯片,到成为完整的浏览器宽度,现在绝大多数网站都遵循相同的格式。 添加交互式元素确实可以吸引用户的注意力,并表明这与他们刚刚访问过的其他网站不同,它使一个网站比只有一个巨大的幻灯片和一些视差滚动更有趣。 01.添加初始变量从项目文件中打开开始文件夹,然后将其拖到代码编辑器中。打开’ index.html ‘,您将看到JavaScript库已经链接到您,在空脚本标签内部是代码所在的位置,在这里检测WebGL以确保可以运行项目,然后添加将在场景中使用的整个变量范畴。if (!Detector.webgl) Detector.addGetWebGLMessage();var SCREEN_WIDTH = window.innerWidth;var SCREEN_HEIGHT = window.innerHeight;var renderer, camera, scene, moverGroup, floorGeometry, floorMaterial, pointLight, pointLight2, pGeometry;var FLOOR_RES = 60;var FLOOR_HT = 650;var stepCount = 0;var noiseScale = 9.5;var noiseSeed = Math.random() * 100;02.创建更多变量下一个变量块处理水底应该有多大以及它与初始鼠标位置一起挪动的速度,屏幕的中心已经完成,改进的噪声库正在用于创建水面。var FLOOR_WIDTH = 3600;var FLOOR_DEPTH = 4800;var MOVE_SPD = 1.9;var mouseX = 0;var mouseY = 0;var windowHalfX = window.innerWidth / 2;var windowHalfY = window.innerHeight / 2;var snoise = new ImprovedNoise();var textureLoader = new THREE.TextureLoader();03.运算鼠标为场景的后期处理效果添加了一些最终变量,添加一个检查鼠标挪动的事件监听器,场景将在显示端口挪动以对鼠标挪动作出反应,此处添加的功能可运算出答应的挪动量。04.更改后期处理设置‘ params ‘功能是存储后处理效果的所有设置的地方,前四行中覆盖了倾斜移位朦胧,然后电影在其余行中通过,这主要是针对屏幕强度和噪声强度。05.设定最终参数最后一个参数是针对屏幕边缘的黑暗小插图,调用’ init ‘和’ animate ‘函数来运行。’ animate ‘函数将在本教程的后期创建,但是’ init ‘函数在这里创建。摄像机和场景设置为答应查看3D内容。 effectVignette.uniforms["offset"].value = 1.0; effectVignette.uniforms["darkness"].value = 1.3;}init();animate();function init() { camera = new THREE.PerspectiveCamera(70, window.innerWidth / window.innerHeight, 1, 4000); camera.position.z = 2750; scene = new THREE.Scene(); scene.fog = new THREE.FogExp2(0x1c3c4a, 0.00045);06.让光进去为了看到场景的内容,将放置四个灯,首先个是半球灯,用于获得场景的基本氛围,接下来是在场景中间添加浅蓝色光的中心灯,这是为了给整个场景提供一些亮光。var hemisphereLight = new THREE.HemisphereLight(0xe3feff, 0xe6ddc8, 0.7);scene.add(hemisphereLight);hemisphereLight.position.y = 300;var centerLight = new THREE.SpotLight(0xb7f9ff, 1);scene.add(centerLight);centerLight.position.set(2500, 300, 2000);centerLight.penumbra = 1;centerLight.decay = 5;07.动画灯接下来要添加两个灯,“ PointLight ”和“ PointLight2 ”是彩色灯光,它们会环绕场景以相反的方向旋转,以便灯光在视图中不断变化。首先种是粉红色光,第二种是橙色光。反射图像的路径和格式在最后两行中设置。pointLight = new THREE.PointLight(0xe07bff, 1.5);pointLight.position.z = 200;scene.add(pointLight);pointLight2 = new THREE.PointLight(0xff4e00, 1.2);pointLight2.position.z = 200;scene.add(pointLight2);var path = "img/";var format = '.jpg';08.有光泽的表面液体表面将具有反射的光泽表面,这通过创建反射立方体来完成。这是一个立方体,里面放有一个360度的天穹盒,它将被反射到液体表面。’ urls ‘数组包含要加载的图像,然后设置材质。09.成立一些小组挪动器组将包含稍后将添加的一些粒子,而地板组将包含液体的表面。将创建一个新的3D对象来保存该表面。将有两个液体表面; 一个将具有反射材料,第二个将具有线框’ floorMaterial ‘,如此处所定义。moverGroup = new THREE.Object3D();scene.add(moverGroup);var floorGroup = new THREE.Object3D();var floorMaterial = new THREE.MeshPhongMaterial({color: 0xeeeeee, side: THREE.DoubleSide, blending: THREE.AdditiveBlending, wireframe: true});floorGeometry = new THREE.PlaneGeometry(FLOOR_WIDTH + 1200, FLOOR_DEPTH, FLOOR_RES, FLOOR_RES);10.制作表面当添加首先个液体表面时,反射贴图非常明显,雾有助于将背景和表面混合在一起这两个液体表面在这里创建为’ floorMesh ‘和’ floorMesh2 ‘。它们被定位并放置在“ floorGroup ” 内,然后在相机前旋转到良好的视角。这不是直接平坦,而是略微倾斜,因为它看起来更好。var floorMesh = new THREE.Mesh(floorGeometry, cubeMaterial);var floorMesh2 = new THREE.Mesh(floorGeometry, floorMaterial);floorMesh2.position.y = 20;floorMesh2.position.z = 5;floorGroup.add(floorMesh);floorGroup.add(floorMesh2);scene.add(floorGroup);floorMesh.rotation.x = Math.PI / 1.65;floorMesh2.rotation.x = Math.PI / 1.65;floorGroup.position.y = 180;11.添加浮动颗粒浮动粒子填充场景,当所有这些都在渲染功能中进行动画处理时,它会带来对相机的挪动感这里的代码部分创建一个空的几何对象,然后将2,000个顶点放入其中作为粒子。它们分布在X,Y和Z轴上的随机位置。它们会漂浮在液体地板表面的正上方。pGeometry = new THREE.Geometry();sprite = textureLoader.load("img/sprite.png");for (i = 0; i < 2000; i++) { var vertex = new THREE.Vector3(); vertex.x = 4000 * Math.random() - 2000; vertex.y = -200 + Math.random() * 700; vertex.z = 5000 * Math.random() - 2000; pGeometry.vertices.push(vertex);}12.创建外观此处定义的材料将设置粒子的外观。在上一步中加载了图像,并在创建材质后将其用作每个粒子上的图像,然后将其应用于所有粒子的几何的每个点,然后将它们添加到场景中。13.添加徽标添加徽标(透明的PNG图像)将其放置在场景的中心,以后可以轻松替换为您自己的徽标。徽标将放置在屏幕中央,这将添加到面向相机的平面上,徽标略微透明,并添加添加剂混合物,以便在较轻的物体从后面通过时更加明显。这被定位并放置在场景中。sprite = textureLoader.load("img/logo.png");geometry = new THREE.PlaneBufferGeometry(500, 640, 1);material = new THREE.MeshLambertMaterial({ transparent: true, opacity: 0.8, blending: THREE.AdditiveBlending, map: sprite, side: THREE.DoubleSide});var plane = new THREE.Mesh(geometry, material);plane.position.set(0, 70, 1800);scene.add(plane);14.添加渲染设置渲染器设置为具有平滑的抗锯齿边缘,现在设置背景颜色。这将添加到文档正文中,以便场景位于HTML页面上,通过初始化各种渲染和着色器通道来设置后处理效果。15.传球一旦添加了胶片和毛刺传递,就会创建一个效果组合器,将所有传递组合在一起。这些将逐一添加到作曲家,最终将呈现给屏幕以供观众展现。16.关闭’init’功能最后几个设置被添加用于场景的初始化。设置后处理的参数,调用wave的设置,并在每次调整浏览器大小时添加事件监听器,这样可以更新显示以适应新尺寸。17.设置波浪现在为液体表面诞生波浪,这是通过在x和z轴上挪动地板几何体的每个顶点并在y轴上向上移动来完成的。在此阶段,为x和z轴创建“ for ”循环。function setWaves() { stepCount++; moverGroup.position.z = -MOVE_SPD; var i, ipos; var offset = stepCount * MOVE_SPD / FLOOR_DEPTH * FLOOR_RES; for (i = 0; i < FLOOR_RES + 1; i++) { for (var j = 0; j < FLOOR_RES + 1; j++) { ipos = i + offset;18.制造波浪并非所有顶点都以相同的方式向上缩放,距离相机最远的那些将是较大的,然后两侧将略微减少,并且最亲近相机的那些将缩放最少,这使得背部和侧面看起来更有趣。if ((i > 30) || (j < 12) || (j > 48)) { floorGeometry.vertices[i * (FLOOR_RES + 1) + j].z = snoise.noise(ipos / FLOOR_RES * noiseScale, j / FLOOR_RES * noiseScale, noiseSeed) * FLOOR_HT; } else if (i > 25 && i < 30) { floorGeometry.vertices[i * (FLOOR_RES + 1) + j].z = snoise.noise(ipos / FLOOR_RES * noiseScale, j / FLOOR_RES * noiseScale, noiseSeed) * (FLOOR_HT / 1.2); } else { floorGeometry.vertices[i * (FLOOR_RES + 1) + j].z = snoise.noise(ipos / FLOOR_RES * noiseScale, j / FLOOR_RES * noiseScale, noiseSeed) * (FLOOR_HT / 2); } } } floorGeometry.verticesNeedUpdate = true;}19.调整大小和动画调整窗口大小时,此处的函数将从步骤16中设置的侦听器调用。摄像机,渲染器和编辑器都在此处重置,以匹配浏览器窗口的新维度。animate函数只将其自身设置为60fps,调用render函数来更新显示。function onWindowResize() { camera.aspect = window.innerWidth / window.innerHeight; camera.updateProjectionMatrix(); renderer.setSize(window.innerWidth, window.innerHeight); composer.setSize(window.innerWidth, window.innerHeight);}function animate() { requestAnimationFrame(animate); render();}20.设定每一个行动框架每帧调用渲染函数,点光源设置为在场景中绕轨道运行,摄像机根据鼠标挪动定位,稍微缓和,使其逐渐挪动到位。相机设置为始终查看场景的中心。function render() { var timer = -0.0002 * Date.now(); pointLight.position.x = 2400 * Math.cos(timer); pointLight.position.z = 2400 * Math.sin(timer); pointLight2.position.x = 1800 * Math.cos(-timer * 1.5); pointLight2.position.z = 1800 * Math.sin(-timer * 1.5); camera.position.x += (mouseX - camera.position.x) * .05; camera.position.y += (-mouseY - camera.position.y) * .05;camera.lookAt(scene.position);21.渲染场景经常会有一个后处理效果在屏幕上诞生毛刺效应,只是为了使屏幕变得活跃并扭曲屏幕,然后再恢复正常在最后一步中,粒子在它们各自的顶点上向前挪动,如果它们到达相机,它们就被放回到距离中。这会更新,并调用’ setWaves’函数使波向前滚动。相关文章推举CSS3动画使用教程 将CSS3动画视为CSS过渡的更复杂的姐妹,动画在几个关键方面与变换不同:动画不会优雅地降级,如果浏览器不支持 […]...React入门教程 ReactJS简介 ReactJS是用于构建UI的javascript库之一,对于Web和便携式应用程序的视图 […]...3D Touch简介:静态快速主屏幕操作 iOS 9引入了3D Touch,用户可以使用该抚摸按下主屏幕图标并获取应用程序中某些操作的快捷方式,或者用户 […]...APPIUM – 用于测试的自动化工具 Appium最初由Dan Cueller开发,用于利用Apple iOS的UI自动化框架对本机挪动应用程序运行 […]...php是什么?为什么要使用php? PHP(PHP的递归首字母缩写:Hypertext Preprocessor)是JavaScript和Pyth […]...WebGL:如何使用WebGL创建液体效果?
商家入驻TikTok小店,起首 需下载并安装TikTok官方应用在应用内,找到商家中心 或电商平台相干 部分 举行 入驻与管理若需对多TikTok小店举行 同一 管理,保举 利用 指纹欣赏 器,如云登欣赏 器,以防关联账号被平台辨认 导致限定 或封禁对于TikTok小店的具体 入口,发起 如下操纵 访问TikTok官方网站,查找商家平台链接或直接。
Mashup 是一种令人兴奋的交互式 Web 应用程序,它利用了从外部数据源检索到的内容来创建全新的创新服务。它们具有第二代 Web 应用程序的特征,也称为 Web 2.0。这篇简介性的文章对 mashup 是什么、目前流行的不同种类的 mashup 以及 mashup 开发人员用于创建自己的应用程序的支持技术进行了探索。另外,您还将看到 mashup 开发人员面临的一些新的技术和社会挑战。 简介 一种新型的基于 Web 的数据集成应用程序正在 Internet 上逐渐兴起。通常用术语 mashup 表示,它们的流行萌芽于对交互式用户参与和集成第三方数据的类似于科学怪人方式的重视。我们使用萌芽一词是有一定原因的;mashup Web 站点的特征就表现为它正在 Web 上扎根发芽,它们利用了从组织边界之外的数据源获取的内容和功能。 mashup 这种隐晦的数据集成定义当然不是非常严格。要深入了解什么是 mashup,就应该了解一下这个单词的起源:它源于流行音乐,mashup 是从两首不同的歌曲(通常属于不同的流派)中混合演唱和乐器的音轨而构成的一首新歌。与那些 “bastard pop” 歌曲类似,mashup 也是内容的一种不常见的创新组合(通常都源自于无关的数据源),这都是人工进行合成的(而不是通过运算机来合成的)。 那么,mashup 看起来到底是什么样子呢?ChicagoCrime.org 的 Web 站点上有非常直观的例子,它解释了地图 mashup 到底是什么。最初广泛流行起来的 mashup 之一是一个 Web 站点,它将芝加哥警局在线数据库中的犯罪记录与 Google Maps 上的地图复合在一起。用户可以与 mashup 站点进行交互,例如告诉它在图形界面上显示一个包含图钉的地图,图钉展现南加州最近所有入室抢劫案件的详细信息。这种概念和出现方式非常简陋,犯罪和地图数据复合之后提供的可视化的功能非常强盛。 在 Mashup 流派 中,我们探索了流行的 mashup,包括地图 mashup。相关技术 简要介绍了与 mashup 的构建和操作有关的技术前景。技术挑战 和 社会挑战 分别介绍了影响 mashup 的主要技术挑战和社会挑战。 Mashup 类型 在本节中,我们将简要介绍对出名的 mashup 类型进行的一些调查。 地图 mashup 在这个阶段的信息技术中,人们搜集大量有关事物和行为的数据,二者都常常具有位置注释信息。所有这些包含位置数据的不同数据集均可利用地图通过令人惊异的图形化方式出现出来。mashup 蓬勃发展的一种主要动力就是 Google 公开了自己的 Google Maps API。这仿佛打开了一道大门,让 Web 开发人员(包括兴趣者、修补程序开发人员和其他一些人)可以在地图中包含所有类型的数据(从原子弹劫难到波士顿的 CowParade 奶牛都可以)。为了不落于人后,Microsoft(Virtual Earth)、Yahoo(Yahoo Maps)和 AOL(MapQuest)也很快相继公开了自己的 API。 视频和图像 mashup 图像主机和社交网络站点(例如 Flickr 使用自己的 API 来共享图像)的兴起导致呈现了很多有趣的 mashup。由于内容提供者拥有与其保存的图像相关的元数据(例如谁拍的照片,照片的内容是什么,在何时何地拍摄的等等),mashup 的设计者可以将这些照片和其他与元数据相关的信息放到一起。例如,mashup 可以对歌曲或诗词进行分析,从而将相关照片拼接在一起,或者基于相同的照片元数据(标题、时间戳或其他元数据)显示社交网络图。另外一个例子可能以一个 Web 站点(例如 CNN 之类的新闻站点)作为输入,并在新闻中通过照片匹配而将照片中的内容以文字的形式出现出来。 搜索和购物 mashup 搜索和购物 mashup 在 mashup 这个术语呈现之前就已经存在很长时间了。在 Web API 呈现之前,有相当多的购物工具,例如 BizRate、PriceGrabber、MySimon 和 Google 的 Froogle,都使用了 B2B 技术或屏幕抓取的方式来累计相关的价格数据。为了促进 mashup 和其他有趣的 Web 应用程序的发展,诸如 eBay 和 Amazon 之类的消费网站已经为通过编程访问自己的内容而发布了自己的 API。 新闻 mashup 新闻源(例如纽约时报、BBC 或路透社)已从 2002 年起使用 RSS 和 Atom 之类的联合技术来发布各个主题的新闻提要。以联合技术为基础的 mashup 可以汇集一名用户的提要,并将其通过 Web 出现出来,创建个性化的报纸,从而满足读者独特的兴趣。Diggdot.us 正是这样的一个例子,它合并了 Digg.com、Slashdot.org 和 Del.icio.us 上与技术有关的内容。Mashup, web新技术-什么叫网络营销
很多站长可能都发现了,有的时候,你网站的内容在一个搜索引擎中被索引,即使你从来没有向这个搜索引擎提交过你的网站。这就归功于搜索引擎Robot(又叫Spider),这个永远不知道倦怠的WebCrawler,不放过任何串门的机会。但是什么事都有利有弊,为了掩护你不愿公布于世的内容,我们可以做一些设置,既不至于让Robot在你网站上横行霸道,又能引导Robot更好的为你的网站服务。为你的网站生成一个Robot.txt文件是不错的办法。Robot.txt是一个纯文本文件,放在网站根目录下,其中指定哪些内容收录,哪些内容不收录,当搜索引擎来你网站时,会先检查Robot.txt,如果这个文件存在,则会根据文件中指定的范畴来爬取网站。犹同为繁华的街道设了路标,让Robot顺着标示畅快通行。Robot.txt格式设置方法如下:User-agent:*Disallow:Robot.txt文件中至少有一条User-agent,该项的值设为*,则答应任何搜索引擎访问。Disallow用来阻挠一个URL被访问,比如涉及网站隐私或站长个人不想让搜索引擎访问的页面,绝对URL和相对URL均可,所有被Disallow的URL都不会被Spider访问到。那么Robot.txt与SEO是什么关系呢?其实二者并没有充分必要条件,将其放在一起讨论是为了说明Robot.txt在网站SEO过程中的不容忽视性。所以在做网站SEO的同时,利用Robot.txt巧妙地处理棘手的问题,可谓是一举两得啊。Robot.txt具体设置方法请参考官网:http://www.robotstxt.org/与, SEO-杭州seo博客
Robots.txt是一个小文本文件,位于网站的根目录中。它告诉抓取工具是否要抓取网站的某些部分。该文件使用简陋的语法,以便爬虫可以放置到位。写得好,你将在索引天堂。写得不好,最终可能会从搜索引擎中隐蔽整个网站,该文件没有官方标准。但你可以使用robots.txt做更多的工作,而不是网站大纲,比如使用通配符,站点地图链接,和“Allow”指令,所有主要搜索引擎都支持这些 扩展。在一个完美的世界里,没有人需要robots.txt。如果网站上的所有页面都是供公众使用的,那么志愿情况下,应该答应搜索引擎抓取所有页面。但我们并不是生活在一个完美的世界里。许多站点都有蜘蛛陷阱,规范URL问题以及需要远离搜索引擎的非公共页面,而Robots.txt用于使您的网站更接近完美。Robots.txt如何工作如果你已经熟悉了robots.txt的指令,但担心你做错了,请跳到常见错误部分。如果你是新手,请继续阅读 。可以使用任何纯文本编辑器制作robots.txt文件,但它必须位于站点的根目录中,并且必须命名为“robots.txt”,您不能在子目录中使用该文件。如果域名是example.com,则robots.txt网址应为:http://example.com/robots.txtHTTP规范将“user-agent”定义为发送请求的东西(与接收请求的“服务器”相对)。严格来说,用户代理可以是请求网页的任何内容,包括搜索引擎抓取工具,Web浏览器或朦胧的命令行 实用程序。用户代理指令在robots.txt文件中,user-agent指令用于指定哪个爬网程序应遵守给定的规则集。该指令可以是通配符,用于指定规则适用于所有爬网程序:User-agent: *或者它可以是特定爬虫的名称:User-agent:Googlebot制止指令您应该通过一个或多个disallow 指令来遵循用户代理行 :User-agent:* Disallow:/ junk-page上面的示例将阻挠路径以“/ junk-page”开头的所有URL :http://example.com/junk-page http://example.com/junk-page?usefulness=0 http://example.com/junk-page/whatever 它不会阻挠任何路径不以“/ junk-page”开头的URL 。以下网址不会被 阻挠:http://example.com/subdir/junk-page这里的关键是disallow是一个简陋的文本匹配。无论“Disallow:”之后呈现什么都被视为一个简陋的字符串(除了*和$之外,我将在下面提到)。将此字符串与URL的路径部分的开头(从域之后的首先个斜杠到URL的末尾的所有内容)进行比较,该字符串也被视为简陋字符串。如果匹配,则会阻挠该URL。如果他们不这样做,那就 不是。答应指令Allow指令不是原始标准的一部分,但现在所有主要搜索引擎都支持它。您可以使用此伪指令指定制止规则的例外,例如,如果您有一个要阻挠的子目录,但渴望抓取该子目录中的一个页面:User-agent:* Allow:/ nothing-good-in-here / except-this-one-page Disallow:/ nothing-good-in-here /此示例将阻挠以下 URL:http://example.com/nothing-good-in-here/ http://example.com/nothing-good-in-here/somepage http://example.com/nothing-good-in-here/otherpage http://example.com/nothing-good-in-here/?x=y但它不会阻挠以下任何一种情况:http://example.com/nothing-good-in-here/except-this-one-page http://example.com/nothing-good-in-here/except-this-one-page-because-i -said-so http://example.com/nothing-good-in-here/except-this-one-page/that-is-really-a-directory 同样,这是一个简陋的文本匹配。将“Allow:”之后的文本与URL的路径部分的开头进行比较。如果它们匹配,即使在通常阻挠它的其他地方制止该页面,也将答应该页面。通配符所有主要搜索引擎也支持通配符计算符。这答应您在路径的一部分未知或可变时阻挠页面。对于 例如:Disallow:/ users / * / settings*(星号)表示“匹配任何文本。”上述指令将阻挠以下所有 URL:http://example.com/users/alice/settings http://example.com/users/bob/settings http://example.com/users/tinkerbell/settings 小心!以上还将阻挠以下URL(可能不是您想要的):http://example.com/users/alice/extra/directory/levels/settings http://example.com/users/alice/search?q=/settings 字符串结束计算符另一个有用的扩展是字符串结尾计算符:Disallow:/ useless-page $$表示URL必须在该点结束,该指令将阻挠以下 URL:http://example.com/useless-page但它不会阻挠 以下任何一种情况:http://example.com/useless-pages-and-how-to-avoid-creating-them http://example.com/useless-page/ http://example.com/useless-page?a=b阻挠一切您可能渴望使用robots.txt阻挠所有暂存站点(稍后会详细介绍)或镜像站点。如果您有一个私人网站供少数知道如何找到它的人使用,那么您还渴望阻挠整个网站被抓取。要阻挠整个站点,请使用制止后跟斜杠:User-agent:* Disallow:/答应一切当您计划答应 所有内容时,我可以想到您可能抉择创建robots.txt文件的两个原因:作为占位符,要向在网站上工作的任何其他人明确表示您答应一切都是有意的。防止对robots.txt的请求失败,以显示在请求日志中。要答应整个站点,您可以使用空的禁令:User-agent:* Disallow:或者,您可以将robots.txt文件留空,或者根本没有。爬行者会抓取所有内容,除非你告诉他们不要 。Sitemap 指令虽然它是可选的,但许多robots.txt文件都包含一个sitemap 指令:网站地图:http://example.com/sitemap.xml这指定了站点地图文件的位置。站点地图是一种特别格式的文件,列出了您要抓取的所有网址。如果您的站点具有XML网站地图,则最好包含此指令。使用 Robots.txt的常见错误我看到很多很多不正确的robots.txt用法。其中最严重的是尝试使用该文件保密某些目录或尝试使用它来阻挠恶意爬虫。滥用robots.txt的最严重后果是意外地将您的整个网站隐蔽在抓取工具中。密切关注这些 事情。当你去制作时忘记隐蔽所有暂存站点(尚未隐蔽在密码后面)都应该包含robots.txt文件,因为它们不适合公众查看。但是当您的网站上线时,您会渴望每个人都能看到它。不要忘记删除或编辑此 文件。否则,整个实时网站将从搜索结果中消逝。User-agent:* Disallow:/您可以在测试时检查实时robots.txt文件,或进行设置,这样您就不必记住这一额外步骤。使用摘要式身份验证等简陋协议将登台服务器置于密码之后。然后,您可以为登台服务器提供您打算在实际站点上部署的相同robots.txt文件。部署时,只需复制所有内容即可。试图阻挠敌对爬虫我见过robots.txt文件试图明确阻挠已知的恶意抓取程序,如下所示:User-agent:DataCha0s / 2.0 Disallow:/ User-agent:ExtractorPro Disallow:/ User-agent:EmailSiphon Disallow:/ User-agent:EmailWolf 1.00 Disallow:/这就像在汽车外表板上留下一张纸条说:“亲爱的小偷:请不要偷这辆车。 谢谢!”这毫无意义。这就像在汽车外表板上留下一张纸条说:“亲爱的小偷:请不要偷这辆车。 谢谢!”Robots.txt完全是自愿的,像搜索引擎这样的礼貌爬虫会遵守它。敌意爬行器,如电子邮件收割机,不会。爬虫没有义务遵守robots.txt中的指南,但主要的抉择是这样做的。如果您正在尝试阻挠错误的抓取工具,请使用用户代理阻挠或IP阻挠 。试图维持目录的机密如果您要保留对公众隐蔽的文件或目录,请不要将它们全部列在robots.txt中,如下所示:User-agent:* Disallow:/ secret-stuff / Disallow:/compromising-photo.jpg Disallow:/big-list-of-plaintext-passwords.csv出于显而易见的原因,这将弊大于利。它为敌对爬虫提供了一种快速,简便的方法来查找您不渴望他们找到的文件 。这就像在你的车上留下一张纸条上写着:“亲爱的小偷:请不要看着隐蔽在这辆车的杂物箱中的标有’紧急现金’的黄色信封。 谢谢!”维持目录隐蔽的唯一可靠方法是将其置于密码之后。如果你绝对不能把它放在密码后面,这里有三个创可贴解决方案。1.基于目录名称的前几个字符进行阻挠。 如果目录是“/ xyz-secret-stuff /”,则将其阻塞如下:Disallow:/ xyz-2.阻挠机器人元标记 将以下内容添加到HTML代码中:3.使用X-Robots-Tag标头阻挠。 将这样的内容添加到目录的.htaccess文件中:标题集X-Robots-Tag“noindex,nofollow”同样,这些是创可贴解决方案,这些都不是实际安全的替代品。如果确实需要保密,那么它确实需要在密码后面。意外阻挠不相关的页面假设您需要阻挠该 页面:http://example.com/admin还有 目录中的所有内容:http://example.com/admin/显而易见的方法是这样做 :Disallow:/ admin这会阻挠你想要的东西,但现在你也不小心阻挠了关于宠物护理的文章页面:http://example.com/administer-medication-to-your-cat-the-easy-way.html本文将与您实际尝试 阻挠的页面一起从搜索结果中消逝。是的,这是一个人为的例子,但我已经看到这种事情发生在现实世界中。最糟糕的是,它通常会被忽视很长一段时间。阻挠/ admin和/ admin /而不阻塞任何其他内容的最安全方法是使用两个单独的行:Disallow:/ admin $ Disallow:/ admin /请记住,美元符号是一个字符串结尾的计算符,表示“URL必须在此处结束。”该指令将匹配/ admin但不匹配 /治理。试图将robots.txt放在子目录中假设您只能控制一个巨大网站的一个子目录。http://example.com/userpages/yourname/如果您需要阻挠某些页面,可能会尝试添加robots.txt文件,如下所示:http://example.com/userpages/yourname/robots.txt这不起作用,该文件将被忽略。您可以放置robots.txt文件的唯一位置是站点根目录。如果您无权访问站点根目录,则无法使用robots.txt。一些替代选项是使用机器人元标记来阻挠页面。或者,如果您可以控制.htaccess文件(或等效文件),则还可以使用X-Robots-Tag标头阻挠页面。尝试定位特定的子域假设您有一个包含许多不同子域的站点:http://example.com/ http://admin.example.com/ http://members.example.com/ http://blog.example.com/ http://store.example.com/您可能想要创建单个robots.txt文件,然后尝试阻挠它的子域,如下所示:http://example.com/robots.txt User-agent:* Disallow:admin.example.com Disallow:members.example.com这不起作用,无法在robots.txt文件中指定子域(或域)。给定的robots.txt文件仅适用于从中加载的子域 。那么有没有办法阻挠某些子域?是。要阻挠某些子域而不阻挠其他子域,您需要提供来自不同子域的不同robots.txt文件。这些robots.txt文件会阻挠所有内容:http://admin.example.com/robots.txt http://members.example.com/robots.txt User-agent:* Disallow:/这些将答应一切:http://example.com/ http://blog.example.com/ http://store.example.com/ User-agent:* Disallow:使用不一致的类型情况路径区分大小写。Disallow:/ acme /不会阻挠“/ Acme /”或 “/ ACME /”。如果你需要全部阻挠它们,你需要为每个禁用一行:Disallow:/ acme / Disallow:/ Acme / Disallow:/ ACME /忘记了用户代理线所述用户代理线是使用robots.txt关键的。在任何答应或制止之前,文件必须具有用户代理行。如果整个文件看起来像这样:Disallow:/ this Disallow:/ that Disallow:/ what实际上什么都不会被阻挠,因为顶部没有用户代理行。该文件必须为:User-agent:* Disallow:/ this Disallow:/ that Disallow:/ whatever其他用户代理陷阱使用不正确的用户代理还存在其他缺陷。假设您有三个目录需要为所有抓取工具阻挠,还有一个页面应该仅在Google上明确答应。显而易见(但不正确)的方法可能是尝试这样的事情 :User-agent:* Disallow:/ admin / Disallow:/ private / Disallow:/ dontcrawl / User-agent:Googlebot Allow:/ dontcrawl / exception此文件实际上答应Google抓取网站上的所有内容。Googlebot(以及大多数其他抓取工具)只会遵守更具体的用户代理行下的规则,并会忽略所有其他规则。在此示例中,它将遵守“User-agent:Googlebot”下的规则,并将忽略“User-agent: *” 下的规则。要实现此目标,您需要为每个用户代理块重复相同的制止规则,如下所示:User-agent:* Disallow:/ admin / Disallow:/ private / Disallow:/ dontcrawl / User-agent:Googlebot Disallow:/ admin / Disallow:/ private / Disallow:/ dontcrawl / Allow:/ dontcrawl / exception忘记路径中的主要斜线假设您要阻挠该 URL:http://example.com/badpage你有以下(不正确的)robots.txt 文件:User-agent:* Disallow:错误页面这根本不会阻挠任何事情,路径必须以斜杠开头。如果没有,它永远不会匹配任何东西。阻挠URL的正确方法 是:User-agent:* Disallow:/ badpage使用 Robots.txt的提示既然您知道如何不将敌对抓取工具发送到您的机密内容或从搜索结果中消逝您的网站,这里有一些提示可以帮助您改进robots.txt文件。做得好不会提高你的排名(这是战略搜索引擎优化和内容的用途),但至少你会知道爬虫正在找到你想要他们找到的东西。竞争答应和不答应allow指令用于指定disallow规则的例外。disallow规则阻塞整个目录(例如),allow规则取消阻挠该目录中的某些URL。这提出了一个问题,如果给定的URL可以匹配两个规则中的任何一个,爬虫如何决定使用哪个?并非所有抓取工具都以完全相同的方式处理竞争答应和制止,但Google优先考虑路径较长的规则(就字符数而言)。如果两个路径长度相同,则allow优先于disallow。例如,假设robots.txt文件 是:User-agent:* Allow:/ baddir / goodpage Disallow:/ baddir /路径“/ baddir / goodpage”长度为16个字符,路径“/ baddir /”长度仅为8个字符。在这种情况下,答应胜过 不答应。将 答应以下URL :http://example.com/baddir/goodpage http://example.com/baddir/goodpagesarehardtofind http://example.com/baddir/goodpage?x=y以下内容将被 阻挠:http://example.com/baddir/ http://example.com/baddir/otherpage现在考虑以下示例:User-agent:* Aloow:/某些 Disallow:/ *页面这些指令会阻挠以下 URL吗?http://example.com/somepage是。路径“/ some”长度为5个字符,路径“/ * page”长度为6个字符,因此disallow获胜。答应被忽略,URL将被阻挠。阻挠特定的查询参数假设您要阻挠包含查询参数“id”的所有URL,例如 :http://example.com/somepage?id=123 http://example.com/somepage?a=b&id=123你可能想做这样的事情 :Disallow:/ * id =这将阻挠您想要的URL,但也会阻挠以 “id” 结尾的任何其他查询参数:http://example.com/users?userid=a0f3e8201b http://example.com/auction?num=9172&bid=1935.00那么如何在不阻挠“用户ID”或 “出价”的情况下阻挠“id ”?如果您知道“id”将始终是首先个参数,请使用问号,如下 所示:Disallow:/ *?id =该指令将阻挠:http://example.com/somepage?id=123但它不会阻挠:http://example.com/somepage?a=b&id=123如果您知道“id”永远不会是首先个参数,请使用&符号,如下 所示:Disallow:/ *&id =该指令将阻挠:http://example.com/somepage?a=b&id=123但它不会阻挠:http://example.com/somepage?id=123最安全的方法是 两者兼顾:Disallow:/ *?id = Disallow:/ *&id =没有可靠的方法来匹配两条线。阻挠包含不安全字符的URL假设您需要阻挠包含不安全URL的字符的URL,可能发生这种情况的一种常见情况是服务器端模板代码意外暴露给Web。对于 例如:http://example.com/search?q=<% var_name%>如果您尝试像这样阻挠该URL,它将无法 工作:User-agent:* Disallow:/ search?q = <%var_name%>如果您在Google的robots.txt测试工具(在Search Console中提供)中测试此指令,您会发现它不会阻挠该网址。为什么?因为该指令实际上是根据 URL 检查的:http://example.com/search?q=%3C%%20var_name%20%%3E所有Web 用户代理(包括抓取工具)都会自动对任何不符合URL安全的字符进行URL编码。这些字符包括:空格,小于或大于符号,单引号, 双引号和非ASCII 字符。阻挠包含不安全字符的URL的正确方法是阻挠转义版本:User-agent:* Disallow:/ search?q =%3C %% 20var_name%20 %% 3E获取URL的转义版本的最简陋方法是单击浏览器中的链接,然后从地址 字段中复制并粘贴URL 。如何匹配美元符号假设您要阻挠包含美元符号的所有网址,例如 :http://example.com/store?price=$10以下内容 不起作用:Disallow:/ * $该指令实际上会阻挠站点上的所有内容。当在指令末尾使用时,美元符号表示“URL在此处结束。”因此,上面将阻挠路径以斜杠开头的每个URL,后跟零个或多个字符,后跟URL的结尾。此规则适用于任何有效的URL。为了解决这个问题,诀窍是在美元符号后添加一个额外的星号,如下所示:Disallow:/ * $ *在这里,美元符号不再位于路径的尽头,因此它失去了它的特别含义。该指令将匹配包含文字美元符号的任何URL。请注意,最终星号的唯一目的是防止美元符号成为最后一个 字符。补充有趣的事实:谷歌在进行语义搜索的过程中,通常会正确地解释拼写错误或格式错误的指令。例如,Google会在没有投诉的情况下接受以下任何内容:UserAgent:* Disallow / this Dissalow:/ that这并不意味着你应该忽略指令的格式和拼写,但如果你确实犯了错误,谷歌通常会让你逃脱它。但是,其他爬虫可能 不会。人们经常在robots.txt文件中使用尾随通配符。这是无害的,但它也没用; 我认为这是糟糕的形式。对于例如:Disallow:/ somedir / *与以下内容完全相同 :Disallow:/ somedir /当我看到这个时,我想,“这个人不明白robots.txt是如何工作的。”我看到它很多。概要请记住,robots.txt必须位于根目录中,必须以用户代理行开头,不能阻挠恶意爬虫,也不应该用于保密目录。使用此文件的许多困惑源于人们期望它比它更复杂的事实。相关文章推举百度蜘蛛优化教程 你知道所有关于搜索引擎优化的方法,一个结构良好的网站,相关的关键词,适当的标签,算法标准和大量的内容,但是您可 […]...Google搜索引擎优化方案 为了协助您与世界竞争,并打磨您的搜索引擎优化技能,草根SEO带来了顶级的Google搜索引擎优化方案。 阶段一 […]...新站百度seo优化方案 2018年对于SEO而言相对安静,但是不管现在的SEO风景看起来多么和平,这并不意味着你可以靠在椅子上松弛一下 […]...【苏州seo培训】如何提高页面的搜索排名? 在开始页面搜索引擎优化之前,您需要做首先个事情是找到合适的关键词,抉择利基然后进行发掘以找到更多长尾关键词。 […]...有哪些SEO技术可以提高网站排名? SEO技术是整个SEO过程中非常重要的一步,如果您的搜索引擎优化技术存在问题,那么很可能您的搜索引擎优化工作不 […]...