官方提供的屏蔽百度转码Baidu Transcoder的方法no-transform
首先,百度在官方的声明中说:[喝小酒的网摘]http://blog.hehehehehe.cn/a/17112.htm
百度仅作为中立的转码工具及相关技术的提供方。在转码过程中,百度对第三方网站内容不做任何修改或编辑,亦不对本页面内容负责。您享有是否阅读转码页面的选择权,如您希望选择以非转码形式查看该页面内容,请您直接访问原网站。
当然也有百度对于推出百度转码的意义以及策略,最后当然也提到了如何屏蔽百度转码或者说叫做不希望被转码方法。如果只想拿来就用,就不需要看后面的了,直接在head中间插入<meta http-equiv="Cache-Control" content="no-transform " />即可。
1. web页面转码的意义?
互联网上融合了WEB和WAP两类网页资源,WEB网页资源占比远多于WAP网页,但目前绝大多数移动终端的浏览器都不能直接浏览WEB网页。因此,为确保WAP可用性,必须对WAP搜索结果中的WEB网页进行格式转换,转换为WAP网页,使其能在移动终端浏览器被浏览。百度的转码技术即是为实现此目的、服务于WAP搜索的附属产品,各大搜索引擎均拥有并提供类似转码技术。
2. 百度转码的策略?
为了最大程度解决WEB页面在手机上的可用性,转码须去除WEB页面中不能在手机浏览器上浏览的内容,和无法用WAP描述语言描述的部分内容,并将网页布局由2维布局适配为1维布局。
3. 站长小贴士
(1)如果觉得自己的站点转码效果不佳怎么办?
可以使用百度移动标注协议,在PC站点的html页面中加入百度的标注协议(注释形式),提升转码效果。该协议主要针对采用html规范制作的Web站点,以利于站长自助优化百度无线搜索访问其站点时的页面效果。
(2)如果不希望自己的站点被转码怎么办?
共有三种解决方案:
A. no-transform协议
TC支持的no-transform协议为如下两种形式:
a. HTTP Response中显式声明Cache-control为no-transform。
b. meta标签中显式声明Cache-control为no-tranform,格式为:
<head>
<meta http-equiv="Cache-Control" content="no-transform " />
</head>
如第三方站点不希望页面被转码,可添加此协议,当用户进入第三方网站时,先进入中间提示页,页面将引导用户自主选择跳转至原网页。
B. handheld协议
页面通过lt;link>标签显式指定WAP网页,声明格式如下:
<link rel="alternate" type="application/vnd.wap.xhtml+xml" media="handheld" href="target"/>
如第三方站点不希望页面被转码,可添加此协议,告知我们原网页对应有一个WAP版页面,当用户进入第三方网站时,先进入中间提示页,让用户自主选择跳转至原网页或第三方网站自有的wap页面。
C. User-Agent相关
TC抓取页面时,使用的User-Agent为:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; baidu Transcoder;)
如第三方站点不希望转码HTML页面,且又可以提供对应的自有WAP页面,则可以根据这个User-Agent,返回自有WAP页,同时在HTTP Response显示声明:Content-Type为:vnd.wap.xhtml+xml,那么TC将不对这个页面转码,而是直接跳转至相应的自有WAP页面。

[喝小酒的网摘]http://blog.hehehehehe.cn/a/17112.htm
官方提供的屏蔽百度转码Baidu Transcoder的方法no-transform的更多相关文章
- google官方提供的编译android源码的环境初始化,Initializing a Build Environment
原文网址:http://source.android.com/source/initializing.html Initializing a Build Environment IN THIS DOC ...
- Qt程序打包发布方法(使用官方提供的windeployqt工具)
Qt程序打包发布方法(使用官方提供的windeployqt工具) 转自:http://tieba.baidu.com/p/3730103947?qq-pf-to=pcqq.group Qt 官方开发环 ...
- 【转载】微软官方提供的Sqlserver数据库操作帮助类SQLHelper类
在.NET平台中,C#语言一般使用ADO.NET组件来操作Sqlserver数据库,通过ADO.NET组件可以实现连接数据库.查询数据集.执行SQL语句以及关闭数据库连接等操作,为此网上有很多开发者自 ...
- Shiro官方快速入门10min例子源码解析框架2-Session
Shiro自身维护了一套session管理组件,它可以独立使用,并不单纯依赖WEB/Servlet/EJB容器等环境,使得它的session可以任何应用中使用. 2-Session)主要介绍在quic ...
- 在chrome中屏蔽百度推荐
在chrome中屏蔽百度推荐 方法1:可以使用adblock plus来进行屏蔽: 需要将chrome的扩展程序打开为调试者模式: 下载地址:http://chromecj.com/productiv ...
- (转)阿里官方提供的dubbo-spring-boot-starter 1.0.1 整合的dubbo 2.6.0和spring boot 1.5.9 案例
作者:许浩_5e9f链接:https://www.jianshu.com/p/5381cc8876e3來源:简书著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. springboo ...
- 《MySQL必知必会》官方提供的数据库和表
数据用于配合<MySQL必知必会>(MySQL Crash Course)这本书使用,配套SQL文件也可在Ben Forta网站下载. Ben Forta网址:http://forta.c ...
- 新唐N32905U1DN开发教程:MDK环境下工程搭建(官方提供的固件库)(转)
前言:新唐N32905U1DN单片机不支持用户将程序烧录到内部FLASH,必须外挂FLASH存储用户程序,可以是SPI FLASH.NAND FLASH.SD卡.用户采用裸机开发的方式可使用官方提供的 ...
- deno学习三 官方提供的方便deno 安装方式
早起deno 使用了golang 开发,同时需要protobuf 进行数据的序列化以及反序列化处理 当前的deno 已经使用rust 进行了开发,同时官方提供的安装方式也很方便了,不需要 那么复杂的编 ...
随机推荐
- LEETCODE —— Sudoku Solver
Write a program to solve a Sudoku puzzle by filling the empty cells. Empty cells are indicated by th ...
- 迭代器模式(Iterator Pattern)
迭代器模式(Iterator),提供一种方法顺序访问一个聚合对象中的各种元素,而又不暴露该对象的内部表示. 迭代器模式(Iterator)就是分离了聚合对象的遍历行为,抽象出一个迭代器来负责这样既可以 ...
- C# 更新SQL Server数据库备注信息从另一数据库
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- Python range() xrange()
range 前面小节已经说明了,range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个序列. xrange用法与 range 完全 ...
- CSS 后代选择器
后代选择器(descendant selector)又称为包含选择器. 后代选择器可以选择作为某元素后代的元素. 根据上下文选择元素 我们可以定义后代选择器来创建一些规则,使这些规则在某些文档结构中起 ...
- 使用log4net 日志输出到数据库MySQL
使用Log4Net的输出日志到MySQL 使用步骤如下: 1. 添加引用Log4Net.dll, mysql.data.dll到工程中 note: mysql.data.dll 版本要高,最好到mys ...
- CentOS_7 OpenWrt Eclipse 环境搭建与 Dr.com 开发笔记
一:内核的编译. 1,linux 编译环境的搭建与源码的准备工作 2,常用软件的安装 (make menuconfig) 3, 针对TP-Link WR740N 一些软件的openwrt 的移植 4 ...
- 用Ant来做一键部署
部署Java Web项目到远程服务器上,以前经常用的操作方式: 1.在eclipse上导出项目war包 2.把war包通过ftp方式传到服务器上,比如Tomcat的webapps目录下 3.启动tom ...
- MySql自增长列
1. 关键字 auto_increment 2. 自增用法 a) create table test(tid int auto_increment, tname varchar(10), primar ...
- 关于语句#ifdef OS_GLOBALS #define OS_EXT #else #define OS_EXT extern #endif 的说明
声明全局变量使用的技术——摘自uC/OS-II中文版 以下是如何定义全局 变量.众所周知,全局变量应该是得到内存分配且可以被其他模块通过C 语言中extern 关键字调用的变量.因此,必须在 .C 和 ...