闲话RFC,互联网营销

简介:   如果你经常去查阅相关的互联网协议,比如:HTTP,MetaWeblog API,ATOM,WebDav,SMTP。你都会不经意的发现它们都有一个相对的RFC编号,这些编号会对应一个像“http://tools.ietf.org/html/rfc2616”的一个链接页面,这个页面详细说明了该协议的定义规范。

  如果你经常去查阅相关的互联网协议,比如:HTTPMetaWeblog APIATOMWebDavSMTP。你都会不经意的发现它们都有一个相对的RFC编号,这些编号会对应一个像“http://tools.ietf.org/html/rfc2616”的一个链接页面,这个页面详细说明了该协议的定义规范。通常一个协议都定义都需要比较长的内容,但是通过阅读这些协议本身我们就可以更好,更完全的理解该协议本质和实现方法,这将更有助于我们去实现协议基础上的应用。这组RFC编号具有如此重要的意义,我们也就有必要更多的去了解RFC。

  RFC是Request For Comments缩写,它实际上是一个“备忘录”的作用,是由IETF进行管理和发布的一系列以编号排定的文件。这些文件描述了Internet相关协议的研究,行为意图,实现方法。现行基本的互联网协议都在RFC文件内有详细的说明,比如Http 1.1协议对应的的RFC2616。同时RFC也是在不断的丰富和完善中发展,任何人都可以提交自己最新的研究成果成为RFC的一部分,比如ATOM,尽管目前还没有成为业界标准主流,它目前还没有办法完全取代RSS 2.0在人们心中的影响,但是它也已经有了自己的RFC编号rfc5023。作为一个开放的发展标准,已经成为IETF的建议标准,用于取代相对封闭,存在多种非标准形式的应用的RSS规范。RFC也是一个管理严格的规范,任何标准,一旦被审定发布,就不允许进行修改。而一旦需要进行修改就必须重新发布一个新的编号,并且声明作废或更新哪些旧的规范编号。这样保证了任何人在任何时候查看到的规范编号内容都是唯一的,不容易产生歧义。比如RFC2616的发布,就声明作废了原有的rfc2068编号,但是它们的协议名称没有发生任何的变化。

  可以说,任何与互联网相关的协议标准被包含在RFC里面,不仅是HTTP协议之类的应用层协议,还包括处理相对底层的IP, TCP等网络传输层标准。RFC涵盖了这么多协议规范,那么我们是不是应该通读了解所有的这些协议规范?处于应用层开发的我们,我认为不需要完全深入的去了解这些协议的所有细节,在具备一定的网络体系结构知识基础之上,我们只需要关注我们工作重点涉及到的协议。那么,我们开发Web应用的程序员,需要了解哪些RFC规范呢?

  1. HTTP 1.1,对应RFC编号以上已经多次提到:RFC2616。这是现代互联网应用的一个基础传输协议,协议定义了客户端如何获取Web服务器资源,需要发送哪些头信息,如何向服务器提供数据,服务器如何返回用户需要的信息等等请求过程。它有一系列基本的请求谓词定义,比如我们常见会有GET,POST。它有一系列的请求响应代码,比如我们经常碰见的有:200(OK), 404(NOT Found), 301和302重定向等等,还有很多很多的内容。这些内容,现在都已不仅仅是停留于理论之上,都是我们每天工作中会使用和接触到的东西。如果你现在对这些概念都还模棱两可,甚至于从未见过,那只能说你深受ASP.NET WebForm之害了。虽然我已有两年的时间没有进行于WebForm的开发,但是我还对WebForm的体系结构还算了解。现在我面试求职者的时候,WebForm的体系结构也是我的保留题目,因为我知道现在大部分的ASP.NET开发都还是基于WebForm之上。但是我却发现大部分开发人员都还不是特别清楚WebForm的整个体系结构和事件处理流程。他们每天工作的内容就是使用控件,定义控件Postback事件,然后完成一个功能,就这样一个功能接着一个功能,工作2,3,甚至5年以上都还是那一套工作模板,代码生成,以不变应万变。我认为以不变应万变没有什么不对的,但是不变的对象是我们开发人员必须搞清楚了。我们说,基础是不会变的,协议也不是天天变的。当你深入对了解WebForm体系结构的时候,你也就会了解的利害之处,也就懂得了在目前还无法改的情况下如何去更好的利用WebForm。而当你了解了WebForm之后,你会发现,它之后还有更为基础的东西,那就是HTTP协议。请求一个页面,发送了什么请求;进行Postback时,进行了什么操作;HTTP是一个无状态的协议,我们又是如何能直接通常服务器控件的实例来取得它的值,如SelectedValue。所以作为ASP.NET程序员的我们,要深入Web开发,第一步就是要突破WebForm,完全掌握WebForm原理,这样不管你是还会选择WebForm,还是转而使用ASP.NET MVC,都不是最重要的。因为你掌握了HTTP基本原理,了解了Web的本质,你也就可以做到以不变应成变了。

  2. HTML,对应的最新RFC编号:RFC 2854。HTML是每一个Web开发人员都必须了解的标记语言,它是Web UI的基础语言,与Javascript、CSS等语言组成现代Web客户端开发的三大利器。Web前端开发是一个独立的岗位分类,一个好的.NET程序员并不一定是好的Web前端开发人员,但是他一定是会了解前端开发技术的程序员,这就包括了解HTML、Javascript和CSS。我们并不需要成为HTMl的专家,但我们要知道我们开发Web程序,并不是简单的拖拉WebForm Server控件就可以完成的。进而我们也会了解什么是XHTML,以及为什么我们现在创建的每一个.aspx页面默认在最开头都有这样一行代码:http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd

  以上两个RFC规范都是用W3C组织制定的,也是构成Web应用的两个基本规范,也是个人认为作为Web程序员必须要了解两个协议规范,也欢迎各位读者补充。

  除了了解一些基础RFC标准之外,当我们的应用程序要提供某种功能的开放API的时候,我们也应该尽量遵从某种现有的规范标准。遵从标准可以简化我们的开发,因为每一种标准基本上都有基本各个平台的实现。同时也更有利我们推广这些API,用户可以使用现有的标准工具来使用我们的API。互联网应用越来越走向开放,开放API已经成为一程序不可逆转的趋势。当我们的应用越来越成熟和广泛之后,我们也完全可以根据自己的应用提出一些标准。以下是Kooboo CMS目前所使用的一些开放API的标准,有的可能还不是RFC标准。

  1. Metaweblog API,基于XML-RPC之上的博客日志发表协议。XML-RPC是一个XML远程调用的基础协议,基于该协议之上可以有很多的应用被实现,不过我不解的是为何XML-RPC和基于它之上的应用协议都没有被提交到RFC“备忘”,可能是因为类似的功能在RFC里已经有了一个ATOM,但是在Metaweblog API这个页面的标题却是以RFC开头,我也不清楚这里的RFC是什么概念。不过即使是这样,也不影响我们对这个API的使用,因为目前大部分的博客客户端都支持该协议。在Kooboo CMS中,我们使用该协议来发布Kooboo CMS的内容。用户定义的任何的文本内容都可以通过该协议来发布。这里有Metaweblog API的.NET实现。

  2. WebDav,对应的RFC编号:RFC4918。WebDAV协议是基于HTTP协议基础之上,用于定义服务器文件操作服务接口。关于WebDAV协议的应用,在WebDav 在Kooboo CMS中的运用这篇博客中已经介绍过。

  3. RSS,如上介绍虽然不是RFC标准,并且已经有了相应的替代协议ATOM,但是目前仍然是一种主流的内容订阅标准。在Kooboo CMS中,提供了一个种简单的方式来开发RSS内容订阅服务。

  标准可以统一和简化我们沟通和交流的方式,降低生活和生产成本。在Web开发中,了解RFC应该是我们行业技能的另一外标准。

目录
相关文章
|
6月前
自适应IT互联网营销企业网站pbootcms模板
一款蓝色自适应IT互联网营销企业网站pbootcms模板,该模板采用响应式设计,可自适应手机端,适合一切网络技术公司、互联网IT行业,源码下载,为您提供了便捷哦。
60 2
|
SQL 数据采集 运维
《实时数仓助力互联网实时决策和精准营销》|学习笔记
快速学习《实时数仓助力互联网实时决策和精准营销》
252 0
|
Web App开发 监控
从AIPL到GROW,谈互联网大厂的营销分析模型
上一篇《一文看懂:搭建活动分析体系》分享以后,有小伙伴问:那做活动分析,是不是也有模型呢?答:不但有,而且很多。而且互联网大厂尤其热衷于创造新模型,以至于每年都有新词冒出来,诸如:AIPL、FAST、GROW、RISE、5A……等等,看得人头晕目眩。今天就跟大家简单聊聊这些营销模型背后的底层逻辑。
508 0
从AIPL到GROW,谈互联网大厂的营销分析模型
|
存储 缓存 搜索推荐
聊聊互联网营销的第4门功课(详细)
本文面向对互联网营销技术领域感兴趣的人群,介绍广告投放系统的背景,设计和实现
1482 0
聊聊互联网营销的第4门功课(详细)
|
数据采集 弹性计算 运维
实时数仓助力互联网实时决策和精准营销|学习笔记
快速学习 实时数仓助力互联网实时决策和精准营销
233 0
|
SQL 数据采集 运维
实时数仓入门训练营:实时数仓助力互联网实时决策和精准营销
《实时数仓入门训练营》由阿里云研究员王峰、阿里云高级产品专家刘一鸣等实时计算Flink版和 Hologres 的多名技术/产品一线专家齐上阵,合力搭建此次训练营的课程体系,精心打磨课程内容,直击当下同学们所遇到的痛点问题。由浅入深全方位解析实时数仓的架构、场景、以及实操应用,7 门精品课程帮助你 5 天时间从小白成长为大牛!
实时数仓入门训练营:实时数仓助力互联网实时决策和精准营销
|
NoSQL 搜索推荐 关系型数据库
【云栖号案例 | 互联网】客如云上云 实现精准营销服务
客如云调配有滞后性、希望提供精准的用户画像、点餐高峰时段付账缓慢或经常失败。上云后报表服务新增盈利、新增用户画像业务、顺畅支持业务峰值。
|
数据库 数据安全/隐私保护 Python
菜鸟玩GAE(Google App Engine)完全指南,互联网营销
GAE是什么?   从实用的角度说是GAE可以提供我们稳定的免费网站空间,空间支持语言是python、java,数据库是google专有的数据库,数据库和空间可以免费使用1G,超过了1G就要买了,还提供Google的带宽,这个带宽约可以支撑一月500万次访问请求,超过500万次就要买了……对于一般网站这免费的资源就足够了,另外GAE还支持域名绑定,就相当于个人买的虚拟空间一样。
3956 0
|
消息中间件 存储 弹性计算
【云栖号案例 | 互联网】品推宝营销内容与流程管理平台上云 减少开发周期
品推宝对上线时间和研发效率要求高,希望有自动备份的机制和容量和处理能力弹性扩展。上云后实现了业务高可用,最大程度保障了数据的安全。

相关实验场景

更多