﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-勇敢的心</title><link>http://www.blogjava.net/liyong/</link><description /><language>zh-cn</language><lastBuildDate>Tue, 12 May 2026 21:38:02 GMT</lastBuildDate><pubDate>Tue, 12 May 2026 21:38:02 GMT</pubDate><ttl>60</ttl><item><title>我认为非常经典的关于“群”的讨论（内容转自w3cchina站长）</title><link>http://www.blogjava.net/liyong/archive/2007/03/21/105277.html</link><dc:creator>Timothy</dc:creator><author>Timothy</author><pubDate>Wed, 21 Mar 2007 07:26:00 GMT</pubDate><guid>http://www.blogjava.net/liyong/archive/2007/03/21/105277.html</guid><wfw:comment>http://www.blogjava.net/liyong/comments/105277.html</wfw:comment><comments>http://www.blogjava.net/liyong/archive/2007/03/21/105277.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/liyong/comments/commentRss/105277.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liyong/services/trackbacks/105277.html</trackback:ping><description><![CDATA[
		<p>再开一个群B   ---&gt;   未能加入现有群A的用户纷纷加入B群   ----&gt;   部分A群的用户也加入B群 ----&gt; B群到达200人上线，又满了 ---&gt; 未能加入这两个群的人再次要求开一个群C ---&gt;  .....</p>
		<p>结果是： 部分未能加入A群的，加入了B群；部分已在A群中的加入不了B群。</p>
		<p>可见，再建一个与A群同样存在200人限制的群，只是一种对群成员的重新组合而已，并不能真正解决问题。</p>
		<p>另外，群还存在以下问题：<br />（1）封闭性 --- 最多容纳200人（在付出100个Q币之后），除这200人，其他人一概不知群内在讨论些什么。<br />（2）无持久保存机制 --- 腾讯QQ群没有提供自动记录聊天内容的功能，群内曾经发生过的讨论，不能被持久的记录下来（除非有人能够365*7*24的在线）。一些很精彩的讨论，不能够“加入精华”以飨后来者；一些反复回答过的提问，不能够“置顶”以便新手迅速查阅。<br />（3）低利用率——QQ群有200人的上线，但这200人并不能同时在线，通常是十几或者几十人，不是你不在线，就是我不在线。<br />（4）低效性——QQ群里同时只能进行一个话题的讨论，因为那里大家都在同一个space里说话。人一多，讨论就乱了。</p>
		<p>综上所述，比较好的方式是还是在论坛上讨论。</p>
		<p>如果大家感觉能在这里学到东西的话，那么希望大家也能在论坛上留下点东西供后人学习。</p>
		<p>最后建议大家把这里作为思想交流的平台，多些深入的讨论（无所谓对与错）。<br /></p>
<img src ="http://www.blogjava.net/liyong/aggbug/105277.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liyong/" target="_blank">Timothy</a> 2007-03-21 15:26 <a href="http://www.blogjava.net/liyong/archive/2007/03/21/105277.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>牛人发文章的建议</title><link>http://www.blogjava.net/liyong/archive/2007/03/17/104406.html</link><dc:creator>Timothy</dc:creator><author>Timothy</author><pubDate>Sat, 17 Mar 2007 02:52:00 GMT</pubDate><guid>http://www.blogjava.net/liyong/archive/2007/03/17/104406.html</guid><wfw:comment>http://www.blogjava.net/liyong/comments/104406.html</wfw:comment><comments>http://www.blogjava.net/liyong/archive/2007/03/17/104406.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/liyong/comments/commentRss/104406.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liyong/services/trackbacks/104406.html</trackback:ping><description><![CDATA[由于最近一直为自己的第一篇论文做准备。一方面不停地看文章，找topic；另一方面也找了一些对发表论文有帮助的资料。<br />下面这篇文章是转自某BBS的回复，如本帖题目所示，是关于发表论文的一些经验。希望对你有所帮助。<br />＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿ 
<p></p><p>我到现在发表过二十几篇peer review的学术论文，也曾经做过十几次的reviewer。这里根据自己的论文写作经验和审核经验，谈谈自己的关于如何写好学术论文的一些经验与大家分享。</p><p>发表peer review学术论文，首先要过审核关。所以，如果了解审稿人在审稿过程中的侧重点，那么对自己文章的写作无疑也是有帮助的。所以，我先谈谈我自己的一些审稿经历。</p><p>在我审核过了文章中，仅仅有非常少量的文章我是认识文章作者的，不得不承认，如果我与文章的某个作者相识，那么我从来没有拒过他们的文章，这更大的原因是因为我了解他们以前的工作，因此对他们的工作比较信任，另外个人感情因素也起一定作用。比如说，曾经审核过一篇文章，那篇文章的最后作者是与我私人关系非常好，学术水平也非常高的教授，但是那篇文章写的质量非常差，甚至还有英文写作的问题，按平时的标准是应该拒的，但是只因为那个作者的名字在上面，（我猜那多半是挂名作者，因为文章的写作风格完全不是那位教授的风格，那位教授既不是通信作者也不是第一二位作者），由于那个journal并不是比较好比较有名气的journal，我再三考虑过后，决定给文章的整体评价是一般，然后写个很具体的意见，建议editor此文必须进行major modification以后才可发表，在我的建议中甚至包括需要他们进行进一步分析计算的详细步骤。</p><p>通过这个例子，可见：如果你的文章中有比较有名望的教授挂名，你的文章的被接受的机会肯定会相对来说更大一些。但是对于绝大多数我审核过的文章，我对作者根本就不认识，这时候我的审核标准还是比较统一的。一般说来，审核文章最主要的标准有三个：</p><p>1，originality。</p><p>一般说来，editor在找审稿人的时候（我自己也做过guest editor，所以了解这个过程)，都是需要自己先浏览一下文章，然后找对领域比较熟悉的并且在领域内有些academic credit的人审稿，这样就可以一定程度上保证对文章originality的判断。originality主要看文章的创新性，越是名气大的journal越是看重这一点，我不知道你发文章第一个journal的editor是如何给你回信的，我个人怀疑editor直接拒你的原因多半是你文章的创新性不够，考虑到你是做实验，那么你的文章是否介绍了新的实验方法？你的文章是否发现了新的现象？还是仅仅follow前人的工作，仅仅对试验步骤作了些简单的修改工作？如果是后者的话，editor如果是同领域的人，很容易判断出来，那么直接拒你就不奇怪了。</p><p>具体到自己的研究文章上，为了保证文章的创新性，自己做研究前一定要多做做literature search, 体现在写文章上就是，在写introduction的时候，索引要写得清楚，全面。千万别小看文章的introduction，内行看门道，如果你的文章introduction写得好，审稿人就马上能够判断出来你对领域的熟悉程度，这对你的研究第一印象会比较好，对审稿人的审核情绪会有提高，对你的文章的审核会有加分。</p><p>从我个人来说，我在写文章的时候，总是先写正文介绍自己的工作，最后才写introduction部分，而在任何可能情况下，我的文章寄出去前，总是要找一位领域内名气大的学术水平高的老教授帮我修改introduction部分。特别是一般自己觉得比较不错的研究文章，在寄给杂志之前，让同领域的牛人把把关不失为对自己负责对研究负责的好办法。</p><p>文章的originality当然还体现在文章主体关于研究方法的介绍，或者conclusion部分，但这部分一般有一定写作经验的作者都能保握住，这里就不特别强调了。</p><p>最后，在比较好的journal上，文章的originality是非常关键的一点，所以如果你自己觉得自己的研究创新性不够，那么建议不要往顶级刊物上投。要知道投稿也是有学问的，因为如果你经常往某个杂志投稿结果经常被拒，你在那个杂志editor的心目中academic credit就会很快丢失的，下一次你如果再往同样的刊物上发文章就更难了。相反你的文章被某个杂志发表的比较多，那么你慢慢也会积累起来你的credit，所以我个人主张发文章从选择合适的jouranl开始就要慎重。同样的道理，被杂志选为reviewer也是一样的道理，所以不要总听那些抱怨牢骚的话，不要文章一被拒就怀疑reviewer故意刁难，这种情况有但并不是主流，因为每个reviewer也需要考虑自己的credit,每篇文章不是一名reviewer说了算的，reviewer如果胡乱评文章，那多次以后他不仅没有机会再做reviewer乐，很可能他辛辛苦苦积累下来的credit也会丢失的。</p><p>2，completeness.</p><p>如果文章有一定的创新性，那么第二个重要的判断指标就是文章的completeness。这一点比较tricky。我审核过的文章，还有我自己发表的文章被审核，reviewer多数是在此方面找问题;再严谨的研究者也可能会遗漏些自己没考虑到的地方，这时候，reviewer会指出研究的不足之处，给作者建议让他补充新数据或者对某些结论增加些解释等等，最终reviewer给文章的评语多半是major modification，这种情况对试验和计算方面的研究更常见。也有些情况，文章不足的地方太多，甚至由于不够严谨导致结论有误;这时候文章多半是要被拒的。</p><p>你发文章第二次与第三次的journal，给你的reviewer comments是什么样的我不清楚。但是会不会是你文章本身实在是不过严谨，甚至你研究有太多的uncertainty? 那些reviewer到底给你具体的改进建议是什么呢？你在修改文章时候有没有仔细考虑他们的建议并补充的新材料呢？投了三次稿连续被拒，我个人觉得你应该仔细考虑一下如何改进自己研究的不足地方了。我想你的文章应该至少有5个reviewer看过了，不可能所有这些人都是因为你名气不足而故意刁难你的。至少我做reviewer的时候很少会故意刁难别人。但是对于我熟悉的人的文章我会尽量多挑毛病，避免直接拒掉，这恐怕是找名教授挂名和不挂名的唯一区别了。</p><p>但是另一方面，大多数名教授非常看重自己的名誉，至少我认识的几位美国著名教授（院士或者院士级别），只要文章中有他的名字，在文章投出去之前，他们都要自己最后亲自审核文章的。他们的审核甚至比reviewer还要严格，而他们修改过的文章，不得不承认文章确实水平高，那么如果你觉得自己的研究确实不错，尽可能找有名望的教授帮你把关是保证你文章质量的不错的办法。</p><p>3。writing.</p><p>科技论文的写作技巧并不像小说那样要求高。但好的科技论文是可读性很强的，关于科技论文写作技巧这里有个连接</p><p><a class="contentlink" href="http://www.cchere.com/article/692548" target="_blank"><font color="#4455aa">http://www.cchere.com/article/692548</font></a>，</p><p>文章的作者是剑桥大学资深教授，学术水平很高，都是他的宝贵经验，对于我们这种刚开始写科技论文的新手来说借鉴一下绝对有好处。</p><p>文章写作技巧对文章的发表与否，和文章发表后的引用情况都有影响。在文章审核阶段，reviewer在审核文章的时候，如果作者经常出现语法错误，那么几乎是rewiewer难以忍受的，这表明作者对文章的写作态度就不太端正，给reviewer的第一印象很不好，这种情况下reviewer会对文章的审核更吹毛求疵; 也就不足为奇了。另外，写得比较好的文章，可读性强的文章，在文章发表后能够引起更多数人的注意，相对来说impact更大，文章被索引次数会更高。所以在发表文章前最好多修改几遍文章，哪怕是找别人帮助看看语法对自己文章质量的提高也是有帮助的。</p><p>而我个人发表的文章中，曾经有一篇被拒过，我那篇文章hold了半年，又进行了大量进一步的研究工作，大量修改了文章后才第二次发表出去。结果那片修改过的文章现在成了我所有文章中被引用次数最多的一篇，5年时间内已经被引用近百次，所以说，文章被拒的经历并不见得是坏事，态度端正以后，会把坏事变成好事的。所以，我始终相信态度决定一切。</p><p>这些都是一些自己的经验之谈，希望对你有所帮助。</p><p>＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿</p><p>祝大家在2007年取得满意的成果！</p><img src ="http://www.blogjava.net/liyong/aggbug/104406.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liyong/" target="_blank">Timothy</a> 2007-03-17 10:52 <a href="http://www.blogjava.net/liyong/archive/2007/03/17/104406.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title> LDAP介绍</title><link>http://www.blogjava.net/liyong/archive/2007/02/09/98942.html</link><dc:creator>Timothy</dc:creator><author>Timothy</author><pubDate>Fri, 09 Feb 2007 03:02:00 GMT</pubDate><guid>http://www.blogjava.net/liyong/archive/2007/02/09/98942.html</guid><wfw:comment>http://www.blogjava.net/liyong/comments/98942.html</wfw:comment><comments>http://www.blogjava.net/liyong/archive/2007/02/09/98942.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/liyong/comments/commentRss/98942.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liyong/services/trackbacks/98942.html</trackback:ping><description><![CDATA[
		<h1>一. LDAP介绍</h1>
		<h2>1. LDAP能做什么</h2>
		<div>大多数的LDAP服务器都为读密集型的操作进行专门的优化。因此，当从LDAP服务器中读取数据的时候会比从专门为OLTP优化的关系型数据库中读取数据快一个数量级。也是因为专门为读的性能进行优化，大多数的LDAP目录服务器并不适合存储需要需要经常改变的数据。它主要面向数据的查询服务（查询和修改操作比一般是大于10:1），不提供事务的回滚（rollback）机制，它的数据修改使用简单的锁定机制实现All-or-Nothing，它的目标是快速响应和大容量查询并且提供多目录服务器的信息复制功能。例如，用LDAP服务器来存储电话号码是一个很好的选择，但是它不能作为电子商务站点的数据库服务器。如果下面每一个问题的答案都是“是”，那么把数据存在LDAP中就是一个好主意。  <br />1. 需要在任何平台上都能读取数据吗？  <br />2.每一个单独的记录项是不是每一天都只有很少的改变？  l 可以把数据存在平面数据库（flat database）而不是关系型数据库中吗？换句话来说，也就是不管什么范式不范式的，把所有东西都存在一个记录中（差不多只要满足第一范式）。 <br />最后一个问题可能会唬住一些人，其实用平面数据库去存储一些关系型的数据也是很一般的。例如，一条公司员工的记录就可以包含经理的登录名。用LDAP来存储这类信息是很方便的。一个简单的判断方法：如果可以把保数据存在一张张的卡片里，就可以很容易地把它存在LDAP目录里。</div>
		<h2>2. LDAP具有安全和访问控制 </h2>
		<div> </div>
		<div>LDAP提供很复杂的不同层次的访问控制或者ACI。因这些访问可以在服务器端控制，这比用客户端的软件保证数据的安全可安全多了。用LDAP的ACI，可以完成：  <br /><br />l 给予用户改变他们自己的电话号码和家庭地址的权限，但是限制他们对其它数据（如，职务名称，经理的登录名，等等）只有“只读”权限。  <br /><br />l 给予“HR-admins"组中的所有人权限以改变下面这些用户的信息：经理、工作名称、员工号、部门名称和部门号。但是对其它域没有写权限。  <br /><br />l 禁止任何人查询LDAP服务器上的用户口令，但是可以允许用户改变他或她自己的口令。  <br /><br />l 给予经理访问他们上级的家庭电话的只读权限，但是禁止其他人有这个权限。  <br /><br />l 给予“host-admins"组中的任何人创建、删除和编辑所有保存在LDAP服务器中的与计算机主机有关的信息  <br /><br />l 通过Web，允许“foobar-sales"组中的成员有选择地给予或禁止他们自己读取一部分客户联系数据的读权限。这将允许他们把客户联系信息下载到本地的笔记本电脑或个人数字助理（PDA）上。（如果销售人员的软件都支持LDAP，这将非常有用）  <br /><br />l 通过Web，允许组的所有者删除或添加他们拥有的组的成员。例如：可以允许销售经理给予或禁止销售人员改变Web <br />页的权限。也可以允许邮件假名（mail aliase）的所有者不经过IT技术人员就直接从邮件假名中删除或添加用户。 “公用”的邮件列表应该允许用户从邮件假名中添加或删除自己（但是只能是自己）。也可以对IP地址或主机名加以限制。例如，某些域只允许用户IP地址以192.168.200.*开头的有读的权限，或者用户反向查找DNS得到的主机名必须为*.foobar.com。</div>
		<div> </div>
		<h2>3. 目录服务系统的组成</h2>
		<div>目录服务系统一般由两部分组成：第一部分是数据库，一种分布式的数据库，且拥有一个描述数据的规划；第二部分则是访问和处理数据库有关的详细的访问协议。</div>
		<div>目录服务与关系型数据库不同的是，目录不支持批量更新所需要的事务处理功能，目录一般只执行简单的更新操作，适合于进行大量数据的检索；目录具有广泛复制信息的能力，从而在缩短响应时间的同时，提高了可用性和可靠性。目前，目录服务技术的国际标准有两个，即较早的X.500标准和近年迅速发展的LDAP标准。</div>
		<div> </div>
		<h3>1.X.500是一个协议族 </h3>
		<div>
				<br />　　X.500实际上不是一个协议，它是由一个协议族组成：X.501模型强调目录服务基本模型和概念；X.509认证框架是如何在 X.500中处理目录客户和服务器的认证；X.511 抽象服务定义X.500被要求提供的功能性服务；X.518 分布式操作过程表明如何跨越多台服务器处理目录服务；X.519 协议规范即是X.500协议，包括目录访问协议DAP、目录系统协议DSP、目录操作绑定协议DOP和目录信息Shadowing协议DISP； X.520 选定的属性类型要求是X.500自己使用的属性类型；X.521选定的对象类即为X.500自己使用的对象类；X.525复制是如何在目录服务器之间复制目录内容。 <br /><br />　　在这些X.500标准中主要定义有多种内容。一个信息模型：确定目录中信息的格式和字符集，如何在项中表示目录信息(定义对象类、属性等模式)；一个命名空间：确定对信息进行的组织和引用，如何组织和命名项——目录信息树DIT和层次命名模型；一个功能模型：确定可以在信息上执行的操作；一个认证框架：保证目录中信息的安全，如何实现目录中信息的授权保护——访问控制模型；一个分布操作模型：确定数据如何进行分布和如何对分布数据执行操作，如何将全局目录树划分为管理域进行管理——目录管理模型，客户端与服务器通信的协议—目录访问协议DAP，将用户请求在服务器之间进行链接所需的目录系统协议DSP，将选定的信息在服务器之间进行复制所需的目录信息映像协议DISP，用于自动在服务器之间协商连接配置的目录操作绑定协议DOP。 <br /><br />　　X.500虽然是一个完整的目录服务协议，但在实际应用的过程中，却存在着不少障碍。由于目录访问协议DAP这种应用层协议是严格遵照复杂的ISO七层协议模型制定的，对相关层协议环境要求过多，主要运行在UNIX机器上，在许多小系统上，如PC和Macintosh上无法使用，因此没有多少人按照DAP开发应用程序，TCP/IP协议体系的普及，更使得这种协议越来越不适应需要。</div>
		<div> </div>
		<h3>2.LDAP目录访问标准 </h3>
		<div>
				<br />　　LDAP协议从1993年批准，产生了LDAP V1版本，随后于1997年发布了第三个版本LDAP V3，它的出现是LDAP协议发展的一个里程碑性标志，它使LDAP协议不仅仅作为X.500的简化版，同时提供了LDAP协议许多自有的特性，使 LDAP协议功能更为完备，具有了更大的生命力。 <br /><br />　　LDAP V3协议也不是一个协议，而是一个协议族。RFC 2251——LDAP V3核心协议，定义了LDAP V3协议的基本模型和基本操作；RFC 2252——定义了LDAP V3中的基本数据模式（Schema）（包括语法、匹配规则、属性类型和对象类）以及标准的系统数据模式；RFC 2253——定义了LDAP V3中的分辨名（DN）表达方式；RFC 2254——定义了LDAP V3中的过滤器的表达方式；RFC 2255——LDAP统一资源地址的格式；RFC 2256——在LDAP V3中使用X.500的Schema列表；RFC 2829——定义了LDAP V3中的认证方式；RFC 2830——定义了如何通过扩展使用TLS服务；RFC 1823——定义了C的LDAP客户端API开发接口；RFC 2847——定义了LDAP数据导入、导出文件接口LDIF。 <br /><br />　　在这些协议中，主要定义了LDAP的内容，同时主要定义了一个信息模型：确定LDAP目录中信息的格式和字符集，如何表示目录信息 (定义对象类、属性、匹配规则和语法等模式)；一个命名空间：确定对信息进行的组织方式——目录信息树DIT，以DN和RDN为基础的命名方式，以及 LDAP信息的Internet表示方式；一个功能模型：确定可以在信息上执行的操作的通讯协议以及在客户端进行这些操作的API接口；一个安全框架：保证目录中信息的安全，匿名、用户名/密码、SASL等多种认证方式，以及与TLS结合的通讯保护框架；一个分布式操作模型：基于Referral方式的分布式操作框架；一个LDAP扩展框架：基于控制和扩展操作的LDAP扩展框架 。 <br /><br />　　但在LDAP协议中尚未定义通用的访问控制模型和复制协议（对应X.500的映射协议DISP），尽管不同的LDAP厂商均实现了自己的控制模型和复制机制，但是LDAP标准的发展正集中在访问控制模型、复制协议（DUP）以及扩展操作上，这些扩展操作包括查询的分页和排序、语言标签、动态目录、LDAP服务发现等。</div>
		<div> </div>
		<h2>4. X.500与LDAP的比较分析</h2>
		<div>从目录服务技术的发展来看，LDAP标准实际上是在X.500标准基础上产生的一个简化版本，两者之间的关系与那种为解决同一个问题出现的两个独立发展的技术有很大的不同之处，因此需要在此基础上对这两个标准进行理解和分析。 <br /><br />　　首先，作为IETF（Internet Engineering Task Force）一个正式的标准，LDAP是X.500标准中的目录访问协议DAP的一个子集，可用于建立X.500目录。因此这两个目录服务技术标准有着许多的共同之处，即在平台上，都实现了一个通用的平台结构，提供了一个操作系统和应用程序需要的信息服务类型，可以被许多平台和应用程序接收和实现；在信息模型上，都使用了项、对象类、属性等概念和模式来描述信息；在命名空间方面，都使用了目录信息树结构和层次命名模型；在功能模型上，都使用了相似的操作命令来管理目录信息；在认证框架方面，都可以实现用户名称和密码，或者基于安全加密方式的认证机制；在灵活性上，它们的目录规模都可大可小，大到全球目录树，小到只有一台目录服务器；在分布性方面，目录信息都可以分布在多个目录服务器中，这些服务器可以由各组织管理，既保证了目录信息总体结构一致性，又满足了分级管理的需要。 <br /><br />　　LDAP与X.500的DAP相同之处是，LDAP也是被设计用来从分层目录中提取信息。但与之不同的是，为保持网络的带宽， LDAP对来自X.500目录询问的应答次数加以限制。最初LDAP只是一种访问X.500目录的简单方法，是X.500的功能子集，但随着它的成熟和独立发展，已经增加了许多在X.500中没有的新特性。现在的LDAP既可以为X.500目录服务提供一个轻型前端，也可以实现一个独立的目录服务。 <br /><br />　　<strong>LDAP</strong><strong>的独特之处</strong><br /><br />　　首先，AP（Access Protocol）既是一个X.500的访问协议，又是一个灵活的可以独立实现的目录系统。 <br /><br />　　其次，DAP（Directory Access Protocol）基于Internet协议，X.500基于OSI（开放式系统互联）协议：建立在应用层上的X.500 目录访问协议DAP，需要在OSI会话层和表示层上进行许多的建立连接和包处理的任务，需要特殊的网络软件实现对网络的访问；LDAP则直接运行在更简单和更通用的TCP/IP或其它可靠的传输协议层上，避免了在OSI会话和表示层的开销，使连接的建立和包的处理更简单、更快，对于互联网和企业网应用更理想。 <br /><br />　　再者，LDAP协议更为简单：LDAP继承了X.500最好的特性，同时去掉了它的复杂性。LDAP通过使用查找操作实现列表操作和读操作，另一方面省去了X.500中深奥的和很少使用的服务控制和安全特性，只保留常用的特性，简化了LDAP的实现。 <br /><br />　　其它，LDAP通过引用机制实现分布式访问：X.500 DSA通过服务器之间的链操作实现分布式的访问，这样查询的压力集中于服务器端；而LDAP通过客户端API实现分布式操作（对于应用透明）平衡了负载； <br /><br />　　最后，LDAP实现具有低费用、易配置和易管理的特点。经过性能测试，LDAP比X.500具有更少的响应时间；LDAP提供了满足应用程序对目录服务所需求的特性。 <br />(http://www.fanqiang.com)</div>
		<h2>5. LDAP四种基本模型</h2>
		<h3>1.信息模型：描述LDAP的信息表示方式 </h3>
		<div>在LDAP中信息以树状方式组织，在树状信息中的基本数据单元是条目，而每个条目由属性构成，属性中存储有属性值；LDAP中的信息模式，类似于面向对象的概念，在LDAP中每个条目必须属于某个或多个对象类（Object Class），每个Object Class由多个属性类型组成，每个属性类型有所对应的语法和匹配规则；对象类和属性类型的定义均可以使用继承的概念。每个条目创建时，必须定义所属的对象类，必须提供对象类中的必选属性类型的属性值，在LDAP中一个属性类型可以对应多个值。 <br /><br />　　在LDAP中把对象类、属性类型、语法和匹配规则统称为Schema，在LDAP中有许多系统对象类、属性类型、语法和匹配规则，这些系统Schema在LDAP标准中进行了规定，同时不同的应用领域也定义了自己的Schema，同时用户在应用时，也可以根据需要自定义 Schema。这有些类似于XML，除了XML标准中的XML定义外，每个行业都有自己标准的DTD或DOM定义，用户也可以自扩展；也如同XML，在 LDAP中也鼓励用户尽量使用标准的Schema，以增强信息的互联互通。 <br /><br />　　在Schema中最难理解的是匹配规则，这是LDAP中为了加快查询的速度，针对不同的数据类型，可以提供不同的匹配方法，如针对字符串类型的相等、模糊、大于小于均提供自己的匹配规则。 </div>
		<h3>2.命名模型：描述LDAP中的数据如何组织 </h3>
		<div>
				<br />　　LDAP中的命名模型，也即LDAP中的条目定位方式。在LDAP中每个条目均有自己的DN和RDN。DN是该条目在整个树中的唯一名称标识，RDN是条目在父节点下的唯一名称标识，如同文件系统中，带路径的文件名就是DN，文件名就是RDN。</div>
		<h3>3.功能模型：描述LDAP中的数据操作访问 </h3>
		<div> </div>
		<div>在LDAP中共有四类10种操作：查询类操作，如搜索、比较；更新类操作，如添加条目、删除条目、修改条目、修改条目名；认证类操作，如绑定、解绑定；其它操作，如放弃和扩展操作。除了扩展操作，另外9种是LDAP的标准操作；扩展操作是LDAP中为了增加新的功能，提供的一种标准的扩展框架，当前已经成为LDAP标准的扩展操作，有修改密码和StartTLS扩展，在新的RFC标准和草案中正在增加一些新的扩展操作，不同的 LDAP厂商也均定义了自己的扩展操作。</div>
		<div> </div>
		<h3>4.安全模型：描述LDAP中的安全机制 </h3>
		<div>LDAP中的安全模型主要通过身份认证、安全通道和访问控制来实现。 <br /><br />　　身份认证 在LDAP中提供三种认证机制，即匿名、基本认证和SASL（Simple Authentication and Secure Layer）认证。匿名认证即不对用户进行认证，该方法仅对完全公开的方式适用；基本认证均是通过用户名和密码进行身份识别，又分为简单密码和摘要密码认证；SASL认证即LDAP提供的在SSL和TLS安全通道基础上进行的身份认证，包括数字证书的认证。 <br /><br />　　通讯安全在LDAP中提供了基于SSL/TLS的通讯安全保障。SSL/TLS是基于PKI信息安全技术，是目前Internet上广泛采用的安全服务。LDAP 通过StartTLS方式启动TLS服务，可以提供通讯中的数据保密性、完整性保护；通过强制客户端证书认证的TLS服务，同时可以实现对客户端身份和服务器端身份的双向验证。 <br /><br />　　访问控制虽然LDAP目前并无访问控制的标准，但从一些草案中或是事实上LDAP产品的访问控制情况，我们不难看出：LDAP访问控制异常的灵活和丰富，在 LDAP中是基于访问控制策略语句来实现访问控制的，这不同于现有的关系型数据库系统和应用系统，它是通过基于访问控制列表来实现的，无论是基于组模式或角色模式，都摆脱不了这种限制。 <br /><br />　　在使用关系型数据库系统开发应用时，往往是通过几个固定的数据库用户名访问数据库。对于应用系统本身的访问控制，通常是需要建立专门的用户表，在应用系统内开发针对不同用户的访问控制授权代码，这样一旦访问控制策略变更时，往往需要代码进行变更。总之一句话，关系型数据库的应用中用户数据管理和数据库访问标识是分离的，复杂的数据访问控制需要通过应用来实现。 <br /><br />　　而对于LDAP，用户数据管理和访问标识是一体的，应用不需要关心访问控制的实现。这是由于在LDAP中的访问控制语句是基于策略语句来实现的，无论是访问控制的数据对象，还是访问控制的主体对象，均是与这些对象在树中的位置和对象本身的数据特征相关。 <br /><br />　　在LDAP中，可以把整个目录、目录的子树、制定条目、特定条目属性集或符合某过滤条件的条目作为控制对象进行授权；可以把特定用户、属于特定组或所有目录用户作为授权主体进行授权；最后，还可以定义对特定位置（例如IP地址或DNS名称）的访问权。</div>
		<div> </div>
		<h2>6. LDAP的应用</h2>
		<div>由于LDAP所具有的查询效率高、树状的信息管理模式、分布式的部署框架以及灵活而细腻的访问控制，使LDAP广泛地应用于基础性、关键性信息的管理，如用户信息、网络资源信息等。LDAP的应用主要涉及几种类型。信息安全类：数字证书管理、授权管理、单点登录；科学计算类：DCE (Distributed Computing Envirionment，分布式计算环境)、UDDI （Universal Description，Discovery and Integration, 统一描述、发现和集成协议）；网络资源管理类：MAIL系统、DNS系统、网络用户管理、电话号码簿；电子政务资源管理类：内网组织信息服务、电子政务目录体系、人口基础库、法人基础库。 <br /><br />　　目前，LDAP已应用在北京大学校园网络用户管理系统、Novell的eProvision应用解决方案、上海公务网统一用户管理、中国数字图书馆系统的用户管理部分，以及北京、上海、天津、福建等省级CA等。 <br /><br />　　某市公务网中的LDAP应用案例：在该市公务网中具有三个LDAP服务器，一个LDAP服务器为公务网项目中CA的主，一个LDAP 服务器为公务网项目中CA的从，第三个目录服务器存储有上海公务网中的所有用户信息。在该系统中建立了一个基于Web方式的用户管理系统，各个局维护自己的数据，CA系统中的用户信息以及办公自动化系统、电子邮件系统、授权管理系统、共享资源管理系统，通过RMI接口实现与用户组织树目录服务系统中信息的同步。</div>
<img src ="http://www.blogjava.net/liyong/aggbug/98942.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liyong/" target="_blank">Timothy</a> 2007-02-09 11:02 <a href="http://www.blogjava.net/liyong/archive/2007/02/09/98942.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>LDAP</title><link>http://www.blogjava.net/liyong/archive/2007/02/09/98928.html</link><dc:creator>Timothy</dc:creator><author>Timothy</author><pubDate>Fri, 09 Feb 2007 02:23:00 GMT</pubDate><guid>http://www.blogjava.net/liyong/archive/2007/02/09/98928.html</guid><wfw:comment>http://www.blogjava.net/liyong/comments/98928.html</wfw:comment><comments>http://www.blogjava.net/liyong/archive/2007/02/09/98928.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/liyong/comments/commentRss/98928.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liyong/services/trackbacks/98928.html</trackback:ping><description><![CDATA[LDAP是什么 <br />LDAP是一个用来发布目录信息到许多不同资源的协议。通常它都作为一个集中的地址本使用，不过根据组织者的需要，它可以做得更加强大。 <br />　　LDAP最基本的形式是一个连接数据库的标准方式。该数据库为读查询作了优化。因此它可以很快地得到查询结果，不过在其它方面，例如更新，就慢得多。要特别注意的是，LDAP通常作为一个hierarchal数据库使用，而不是一个关系数据库。因此，它的结构用树来表示比用表格好。正因为这样，就不能用SQL语句了。 <br /><br />　　简单说来，LDAP是一个得到关于人或者资源的集中、静态数据的快速方式。 <br /><br />LDAP是轻量目录访问协议(Lightweight Directory Access Protocol)的缩写，其实是一话号码簿，类似于我们所使用诸如NIS(Network Information Service)、DNS (Domain Name Service)等网络目录，也类似于你在花园中所看到的树木。 <br />LDAP是一种特殊的数据库。但是LDAP和一般的数据库不同，明白这一点是很重要的。 LDAP对查询进行了优化，与写性能相比LDAP的读性能要优秀很多。 <br />1.1 LDAP的存储规则 <br />区分名（DN，Distinguished Name） <br />和自然界中的树不同，文件系统/LDAP/电话号码簿目录的每一片枝叶都至少有一个独一无二的属性，这一属性可以帮助我们来区别这些枝叶。 <br />在文件系统中， 这些独一无二的属性就是带有完整路径的文件名。比如/etc/passwd，该文件名在该路径下是独一无二的。当然我们可以有/usr/passwd, /opt/passwd，但是根据它们的完整路径，它们仍然是唯一的。 <br />在LDAP中，一个条目的区分名称叫做“dn”或者叫做区分名。在一个目录中这个名称总是唯一的。比如，我的dn是"uid=aghaffar, ou=People, o=developer.ch"。不可能有相同的dn，但是我们可以有诸如"uid=aghaffar, ou=Administrators, o=developer.ch"的dn。这同上面文件系统中/etc/passwd 和 /usr/passwd的例子很类似。 <br />我们有独一无二的属性，在"ou=Administrators, o=developer.ch" 中uid和在"ou=People, o=developer.ch"中的uid。这并不矛盾。 <br />CN=Common Name 为用户名或服务器名，最长可以到80个字符，可以为中文； <br />OU=Organization Unit为组织单元，最多可以有四级，每级最长32个字符，可以为中文； <br />O=Organization 为组织名，可以3—64个字符长 <br />C=Country为国家名，可选，为2个字符长 <br /><br />LDAP目录以一系列“属性对”的形式来存储记录项，每一个记录项包括属性类型和属性值（这与关系型数据库用行和列来存取数据有根本的不同）。 <br />mail = testmail@mccc.net <br />othermailbox = testmailother@mccc.com <br />givenname = givenname <br />sn = test sn <br />属性可添加，以下一个属性必须赋值： <br />objectclass=person (值为：person 或 server 或 organization 或 其他自定义的值) <br /><br />2 Php如何操作LDAP <br />2.1 Php如何与LDAP连接和关闭 <br />$ds=ldap_connect("ServerName") <br />ServerName是LDAP的服务器名， <br /><br />例: <br />$ds=ldap_connect(“10.31.172.30:1000”) <br />返回值是：true 或 false <br /><br />关闭连接 <br />ldap_close($ds); <br /><br />2.2 在php中如何搜索用户信息 <br /><br />$ds=ldap_connect("10.31.172.30:1000"); <br />//首先连接上服务器 <br />$justthese = array("cn","userpassword",”location”); <br />//搜索函数中的一个参数，要求返回哪些信息， <br />//以上传回cn,userpassword,location,这些都要求小写 <br />$sr=ldap_search($ds,"o=jite", "cn=dom*",$justthese); <br />//第一个参数开启LDAP的代号 <br />//第二个参数最基本的 dn 条件值 , 例：”o=jite,c=cn” <br />//第三个参数 filter 为布林条件，它的语法可以在 Netscape 站上找一份 dirsdkpg.pdf 档案. <br />// ’o’为组织名，’cn’ 为用户名,用户名可用通配符 ’*’ <br />echo "domadmin姓氏有".ldap_count_entries($ds,$sr)." 个&lt;p&gt;"; <br />//ldap_count_entries($ds,$sr)传回记录总数 <br /><br />$info = ldap_get_entries($ds, $sr); <br />//LDAP的全部传回资料 <br />echo "资料传回 ".$info["count"]."笔:&lt;p&gt;"; <br />for ($i=0; $i&lt;$info["count"]; $i++) { <br />echo "dn为：". $info[$i]["dn"] ."&lt;br&gt;"; <br />echo "cn为：". $info[$i]["cn"][0] ."&lt;br&gt;"; //显示用户名 <br />echo "email为：". $info[$i]["mail"][0] ."&lt;p&gt;"; //显示mail <br />echo "email为：". $info[$i][“userpassword"][0] ."&lt;p&gt;"; //显示加密后的密码 <br />} <br />2.3 添加用户 <br />$ds=ldap_connect("10.31.172.30:1000"); <br />//首先连接上服务器 <br />$r=ldap_bind($ds,"cn=domadmin,o=jite","password"); <br />//系住一个管理员，有写的权限 <br />// cn=domadmin,o=jite顺序不能变 <br />$info["cn"]="aaa"; //必填 <br />$info["userpassword"]="aaa"; <br />$info["location"]="shanghai"; <br />$info["objectclass"] = "person"; //必填person为个人，还有server… <br />ldap_add($ds, "cn=".$info["cn"].",o=jite", $info); <br />ldap_unbind($ds); <br />//取消绑定 <br />ldap_close($ds); <br />//关闭连接 <br />2.4 删除用户 <br />$ds=ldap_connect("10.31.172.30:1000"); <br />//首先连接上服务器 <br />ldap_bind($ds,"cn=domadmin,o=jite","password"); <br />//绑定管理员，有删除的权限 <br />$dn="cn=dingxf,o=jite"; <br />ldap_delete($ds, $dn); <br />//删除用户 <br />ldap_unbind($ds); <br />//取消绑定 <br />ldap_close($ds); <br />//关闭连接 <br />2.5 修改用户资料 <br />$ds=ldap_connect("10.31.172.30:1000"); <br />//首先连接上服务器 <br />ldap_bind($ds,"cn=domadmin,o=jite","password"); <br />//绑定管理员，有修改的权限 <br />$dn="cn=dingxf,o=jite"; <br />//用户dn <br />$info["userpassword"]="aaa"; //要修改的信息，放在数组变量中 <br />$info["location"]="shanghaisdaf"; <br /><br />ldap_modify($ds, $dn , $info); <br />//修改函数 <br />ldap_unbind($ds); <br />//取消绑定 <br />ldap_close($ds); <br />//关闭连接 <br />2.6 用户登录验证 <br />$ds=ldap_connect("10.31.172.30:1000"); <br />//首先连接上服务器 <br />if (ldap_bind($ds,"cn=dingxf,o=jite","dingxf")){ <br />echo "验证通过"; <br />}else{ <br />echo "验证不通过"; <br />} <br />ldap_unbind($ds); <br />//取消绑定 <br />ldap_close($ds); <br />//关闭连接 <br /><img src ="http://www.blogjava.net/liyong/aggbug/98928.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liyong/" target="_blank">Timothy</a> 2007-02-09 10:23 <a href="http://www.blogjava.net/liyong/archive/2007/02/09/98928.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一个挣扎了很久的问题---J2SE的相关命名和版本号</title><link>http://www.blogjava.net/liyong/archive/2007/02/06/98188.html</link><dc:creator>Timothy</dc:creator><author>Timothy</author><pubDate>Tue, 06 Feb 2007 01:58:00 GMT</pubDate><guid>http://www.blogjava.net/liyong/archive/2007/02/06/98188.html</guid><wfw:comment>http://www.blogjava.net/liyong/comments/98188.html</wfw:comment><comments>http://www.blogjava.net/liyong/archive/2007/02/06/98188.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/liyong/comments/commentRss/98188.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liyong/services/trackbacks/98188.html</trackback:ping><description><![CDATA[
		<font size="4"> java技术在9年前就已推出，并且J2SE（第2代Java平台）的推出也有5年之久了。鉴于J2SE的较长变迁过程，2SE的下一个发布版本的版本号由1.5变更为5.0能够更好地反映J2SE的完备性、稳定性、可伸缩性和稳定性的等级。这就是即将发布版本的J2SE（又被大家称为Tiger）的官方命名和版本号的约定。 <br />    平台命名为：Java(TM) 2 Platform Standard Edition 5.0 或 J2SE(TM) 5.0。 <br />    包含在平台中的产品：1、JDK(TM) 5.0 ，2、JRE 5.0 <br />    由于在Java开发者中的流行程度，Java开发工具包的名称由“SDK”恢复为“JDK”。 <br />    注：JDK(TM)和EJR的全称：JDK——J2SE Development Kit 5.0 ；JRE——J2SE Runtime Environment 5.0。</font>
<img src ="http://www.blogjava.net/liyong/aggbug/98188.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liyong/" target="_blank">Timothy</a> 2007-02-06 09:58 <a href="http://www.blogjava.net/liyong/archive/2007/02/06/98188.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>web服务集成与服务组合</title><link>http://www.blogjava.net/liyong/archive/2007/02/05/97954.html</link><dc:creator>Timothy</dc:creator><author>Timothy</author><pubDate>Mon, 05 Feb 2007 03:45:00 GMT</pubDate><guid>http://www.blogjava.net/liyong/archive/2007/02/05/97954.html</guid><wfw:comment>http://www.blogjava.net/liyong/comments/97954.html</wfw:comment><comments>http://www.blogjava.net/liyong/archive/2007/02/05/97954.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/liyong/comments/commentRss/97954.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liyong/services/trackbacks/97954.html</trackback:ping><description><![CDATA[
		<p>web服务组合我认为是将现有的web服务按需求或流程进行拼接，形成一个原来已有服务完成不了的更大规模的服务计划。其实你用bpel4ws编制一个web服务执行计划的过程就是web服务的组合过程，只不过这个是个手动组合过程，利用web服务的语义描述，就为web服务的自动智能组合提供了方法，似乎这个智能自动组合语义web服务的方向这两年国内也有不少论文了。</p>
		<p>web服务集成我认为是指将不同的web服务从语义的角度进行合并，类似于集合取并集吧。其实我想就目前wsdl描述的web服务，谈不上什么集成。但是对于语义描述的web服务而言，特别是形成一个语义web服务库以后，就有跟其他语义web服务库之间集成的需求了。而这时的集成就需要对这些不同的服务库各自的语义描述本体进行onto mapping了。。。</p>
<img src ="http://www.blogjava.net/liyong/aggbug/97954.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liyong/" target="_blank">Timothy</a> 2007-02-05 11:45 <a href="http://www.blogjava.net/liyong/archive/2007/02/05/97954.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>解密.htm.html.shtm.shtml的区别与联系</title><link>http://www.blogjava.net/liyong/archive/2006/12/26/90174.html</link><dc:creator>Timothy</dc:creator><author>Timothy</author><pubDate>Tue, 26 Dec 2006 13:47:00 GMT</pubDate><guid>http://www.blogjava.net/liyong/archive/2006/12/26/90174.html</guid><wfw:comment>http://www.blogjava.net/liyong/comments/90174.html</wfw:comment><comments>http://www.blogjava.net/liyong/archive/2006/12/26/90174.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/liyong/comments/commentRss/90174.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liyong/services/trackbacks/90174.html</trackback:ping><description><![CDATA[每一个网页或者说是web页都有其固定的后缀名，不同的后缀名对应着不同的文件格式和不同的规则、协议、用法，最常见的web页的后缀名是.html和.htm，但这只是web页最基本的两种文件格式，今天我们来介绍一下web页的其它一些文件格式。 
<p>　　<strong>首先介绍一下html与htm</strong></p><p>　　关于HTML，HTML(HyperTextMark-upLanguage)即超文本标记语言，是WWW的描述语言。设计HTML语言的目的是为了能把存放在一台电脑中的文本或图形与另一台电脑中的文本或图形方便地联系在一起，形成有机的整体，人们不用考虑具体信息是在当前电脑上还是在网络的其它电脑上。我们只需使用鼠标在某一文档中点取一个图标，Internet就会马上转到与此图标相关的内容上去，而这些信息可能存放在网络的另一台电脑中。 HTML文本是由HTML命令组成的描述性文本，HTML命令可以说明文字、图形、动画、声音、表格、链接等。HTML的结构包括头部(Head)、主体(Body)两大部分，其中头部描述浏览器所需的信息，而主体则包含所要说明的具体内容。</p><p>　　关于HTM，实际上HTM与HTML没有本质意义的区别，只是为了满足DOS仅能识别8+3的文件名而已，因为一些老的系统(win32)不能识别四位文件名，所以某些网页服务器要求index.html最后一个l不能省略。MSIE能自动识别和打开这些文件，但编写网页地址的时候必须是完全对应的，也就是说index.htm和index.html是两个不同的文件，对应着不同的地址。值得一提的是UNIX系统中对大小写敏感，不吻合的话就可能报没有文件或者找不到文件。</p><p>　　<strong>其次介绍一下shtml和shtm</strong></p><p>　　关于shtml，shtml是一种基于SSI技术的文件，也就是Server Side Include--SSI 服务器端包含指令，一些Web Server如果有SSI功能的话就会对shtml文件特殊招待，服务器会先扫一次shtml文件看没有特殊的SSI指令存在，如果有的话就按Web Server设定规则解释SSI指令，解释完后跟一般html一起调去客户端。</p><p>　　关于shtm，shtm与shtml的关系和htm与html的关系大致相似，这里就不多说了。</p><p>　　<strong>html或htm与shtml或shtm的关系是什么</strong></p><p>　　html或者htm是一种静态的页面格式，也就是说不需要服务器解析其中的脚本，或者说里面没有服务器端执行的脚本，而shtml或者shtm由于它基于SSI技术，当有服务器端可执行脚本时被当作一种动态编程语言来看待，就如asp、jsp或者php一样。当shtml或者shtm中不包含服务器端可执行脚本时其作用和html或者htm是一样的。</p><img src ="http://www.blogjava.net/liyong/aggbug/90174.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liyong/" target="_blank">Timothy</a> 2006-12-26 21:47 <a href="http://www.blogjava.net/liyong/archive/2006/12/26/90174.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>HTTPS 和 SSL</title><link>http://www.blogjava.net/liyong/archive/2006/12/14/87756.html</link><dc:creator>Timothy</dc:creator><author>Timothy</author><pubDate>Thu, 14 Dec 2006 09:22:00 GMT</pubDate><guid>http://www.blogjava.net/liyong/archive/2006/12/14/87756.html</guid><wfw:comment>http://www.blogjava.net/liyong/comments/87756.html</wfw:comment><comments>http://www.blogjava.net/liyong/archive/2006/12/14/87756.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/liyong/comments/commentRss/87756.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liyong/services/trackbacks/87756.html</trackback:ping><description><![CDATA[
		<span class="detailstyle" twffan="done">
				<font face="宋体" color="#111100">HTTPS (Secure Hypertext Transfer Protocol) <br />安全超文本传输协议<br /><br />HTTPS 是由Netscape开发并内置于其浏览器中，用于对数据进行压缩和解压操作，并返回网络上传送回的结果。HTTPS实际上应用了Netscape的 完全套接字层（SSL）作为HTTP应用层的子层。（HTTPS使用端口443，而不是象HTTP那样使用端口80来和TCP/IP进行通信。）SSL使用40 位关键字作为RC4流加密算法，这对于商业信息的加密是合适的。<br /><br />假设您使用Netscape浏览器访问一个如NetPlaza的站点，并且观看其商品类目。当您希望定购商品时，您可以通过URL进行，单击“发送”，将相应的订单发送到供应商那里，浏览器的HTTPS层将对信息进行加密。从服务器返回的加密信息也是经过加密的，在您服务器的HTTPS层进行解密后显示。<br /><br />HTTPS和SSL支持使用X.509数字认证，这样（如果需要的话），用户可以确认发送者是谁。SSL是一个开放的协议。<br /><br />注意：HTTPS不要和由EIT开发的SHTTP混淆起来。<br /><br /><br />HTTPS是一个安全通信通道，它基于HTTP开发，用于在客户计算机和服务器之间交换信息。它使用安全套接字层(SSL)进行信息交换，简单来说它是HTTP的安全版。</font>
				<br />
				<br />
				<br />SSL是一种国际标准的加密及身份认证通信协议，您用的浏览器就支持此协议。SSL（Secure Sockets Layer）最初是由美国Netscape公司研究出来的，后来成为了Internet网上安全通讯与交易的标准。SSL协议使用通讯双方的客户证书以及CA根证书，允许客户/服务器应用以一种不能被偷听的方式通讯，在通讯双方间建立起了一条安全的、可信任的通讯通道。它具备以下基本特征：信息保密性、信息完整性、相互鉴定。</span>
<img src ="http://www.blogjava.net/liyong/aggbug/87756.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liyong/" target="_blank">Timothy</a> 2006-12-14 17:22 <a href="http://www.blogjava.net/liyong/archive/2006/12/14/87756.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>开源作品发布啦！</title><link>http://www.blogjava.net/liyong/archive/2006/12/13/87486.html</link><dc:creator>Timothy</dc:creator><author>Timothy</author><pubDate>Wed, 13 Dec 2006 06:53:00 GMT</pubDate><guid>http://www.blogjava.net/liyong/archive/2006/12/13/87486.html</guid><wfw:comment>http://www.blogjava.net/liyong/comments/87486.html</wfw:comment><comments>http://www.blogjava.net/liyong/archive/2006/12/13/87486.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/liyong/comments/commentRss/87486.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liyong/services/trackbacks/87486.html</trackback:ping><description><![CDATA[
		<a href="http://sourceforge.net/project/showfiles.php?group_id=184628">http://sourceforge.net/project/showfiles.php?group_id=184628</a>
		<br />            可下载到“BPEL程序验证工具”：webjetChecker1.0<br />   欢迎大家灌水<img src ="http://www.blogjava.net/liyong/aggbug/87486.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liyong/" target="_blank">Timothy</a> 2006-12-13 14:53 <a href="http://www.blogjava.net/liyong/archive/2006/12/13/87486.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Rss使用说明     </title><link>http://www.blogjava.net/liyong/archive/2006/12/08/86466.html</link><dc:creator>Timothy</dc:creator><author>Timothy</author><pubDate>Fri, 08 Dec 2006 14:10:00 GMT</pubDate><guid>http://www.blogjava.net/liyong/archive/2006/12/08/86466.html</guid><wfw:comment>http://www.blogjava.net/liyong/comments/86466.html</wfw:comment><comments>http://www.blogjava.net/liyong/archive/2006/12/08/86466.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/liyong/comments/commentRss/86466.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liyong/services/trackbacks/86466.html</trackback:ping><description><![CDATA[
		<div twffan="done">由于前两天不断有朋友问我有关“什么是Rss“，“Rss是做什么的“，“如何使用Rss“这样的问题，就使得我突发了要自己亲自写一篇有关Rss使用说明的想法。因为尽管很多提供Rss服务的BSP（网络日志提供商）在提供服务的同时介绍了如何使用，但这些对于不熟悉rss的访问者，还是显得过于陌生和专业，使得有相当一部分人放弃了这样一个绝佳的提升阅读质量的好机会，而且对于BSP也应该算是一种损失吧。</div>
		<div twffan="done"> </div>
		<div twffan="done">长话短说，进入正题。首先我不想像其他网站一样由Rss的历史说起，因为这个对于使用者来说用处不大，如果有兴趣可以在最后部分去进一步去了解。<font color="#ff0000">（</font><font color="#ff0000">在讲解之前我还要郑重声明，如果一旦你掌握了Rss的使用方法，这将有可能改变你今后网上的阅读习惯，大大提高你的阅读质量，要想享受它的妙处，请仔细阅读）。</font>我猜测大家现在最为关心的还是Rss怎么使，他能给我们带来什么，那么接下来我会用最为通俗易懂的语言来告诉大家这一切，满足你们的好奇心。</div>
		<div twffan="done"> </div>
		<div twffan="done">像以往一样，有一种表述最为直观，所以我也以同样的比喻告诉大家Rss的功能特性。Rss的服务就像是你订阅了一份报纸，一份杂志，只要对方提供了订阅服务你就可以用Rss来订阅他们，而你得到的是随时的更新，你不用再费时费力的去一个一个网站的某个小角落寻找你想要的信息，那样的日子将不复存在，你所需要做的就是找到你喜欢的频道，订阅他们，然后一切相关的更新就会被标注出来，大大方便了你的阅读。</div>
		<div twffan="done"> </div>
		<div twffan="done">要想使用Rss，你应该先有一个使用Rss的工具，我个人推荐的是<a href="http://www.bloglines.com/"><font color="#4389cf">Bloglines</font></a>的在线阅读。我使用的订阅阅读器不算多，到目前为止Bloglines我还算满意，不过它是英文的，所以不适用于所有人，不过没有关系，在国内也提供了很多中文的订阅服务工具。例如<a href="http://www.potu.com/"><font color="#4389cf">周博通</font></a>，<a href="http://www.gougou.com/"><font color="#4389cf">狗狗</font></a>等，在打开链接后，你可能会是一头雾水，不要着急，接下来我会做更详细的说明。</div>
		<div twffan="done"> </div>
		<div twffan="done">为了方便所有人的使用，我现在选择用狗狗（Gougou）为例。先点击链接<a href="http://www.gougou.com/"><font color="#4389cf">选择这里</font></a>，在打开的页面里，在你的左手边，按照惯例你需要进行注册（放心这个注册很简单），在注册成功后，还是在走手边，你会发现有一个选项条：<a href="http://spaces.msn.com/add_rss.jsp"><u><font color="#555555"><strong>增加</strong></font></u></a><strong></strong><a href="http://spaces.msn.com/manage_tree.jsp"><u><font color="#555555"><strong>管理</strong></font></u></a><strong></strong><a href="http://spaces.msn.com/manage_sort.jsp"><u><font color="#555555"><strong>管理目录</strong></font></u></a><strong></strong><a href="http://spaces.msn.com/upload_opml.jsp"><u><font color="#555555"><strong>导入</strong></font></u></a><strong></strong><a href="http://spaces.msn.com/get_opml.jsp"><u><font color="#555555"><strong>导出</strong></font></u></a><strong>  ，</strong>这个选择条就是你今后可以用来管理你喜欢的信息的。如果你还是不明白，那就让我们一起来试一试，亲身体验一下，体验后相信你一定会豁然开朗。</div>
		<div twffan="done">
				<font color="#890b00">
				</font> </div>
		<div twffan="done">那么现在我们就拿msn 的space举例。保持刚才GouGou那个网页不动，另开一个窗口，在新打开的窗口里先随便找来一个<a href="http://spaces.msn.com/members/meetrain/"><font color="#4389cf">别人的space</font></a>（这里提供的是我的），当然也可以是自己的（如果是自己的，注意必须是在预览的状态下），移动鼠标来到页面的最下边，你会发现右边有一个橙色的，上面写着RSS的小图标，&gt;&gt;&gt;<a title="使用 RSS 进行联合" href="http://spaces.msn.com/members/meetrain/feed.rss"><img style="VERTICAL-ALIGN: middle" src="http://spaces.msn.com/mmm2005-09-20_19.45/Images/rss_button.gif" border="0" twffan="done" /></a>  &lt;&lt;&lt;,就是这个小东西，在点击它之后出来的页面的地质（URL)，它就是你可以用来订阅的Rss源（这里不懂，没有关系）。</div>
		<div twffan="done"> </div>
		<div twffan="done">我现在用<a href="http://spaces.msn.com/members/meetrain/"><font color="#4389cf">我的space</font></a>作为例子：你在点击那个橙色图标后出现了一个新的网页，你不用关心网页出来的内容，你真正需要的只是浏览器中的地质，就是这个：<a href="http://spaces.msn.com/members/meetrain/feed.rss"><font color="#4389cf">http://spaces.msn.com/members/meetrain/feed.rss</font></a> ，你会发现这个地址的最后写的是rss，这就说明现在这个地址就是可以用来订阅的，然而你所要做的就是把这个带有rss尾巴的地质，添加到你的订阅工具里，那么今后你就无需非要找到我的space来阅读内容更新了。</div>
		<div twffan="done"> </div>
		<div twffan="done">好，现在我们就实际操作一下。先复制那个带有rss尾巴的地质，还记得刚才我们保留的那个gougou的页面吗，打开到哪里。那个选项条（<a href="http://spaces.msn.com/add_rss.jsp"><u><font color="#555555"><strong>增加</strong></font></u></a><strong></strong><a href="http://spaces.msn.com/manage_tree.jsp"><u><font color="#555555"><strong>管理</strong></font></u></a><strong></strong><a href="http://spaces.msn.com/manage_sort.jsp"><u><font color="#555555"><strong>管理目录</strong></font></u></a><strong></strong><a href="http://spaces.msn.com/upload_opml.jsp"><u><font color="#555555"><strong>导入</strong></font></u></a><strong></strong><a href="http://spaces.msn.com/get_opml.jsp"><u><font color="#555555"><strong>导出</strong></font></u></a><strong> ）</strong>的第一项是：<strong>增加 ，</strong>点击它（在你gougou的页面里点击增加，不是在前面我写的那个增加）。这时页面的右手边出现了一句话：<strong>将你要订阅网站的URL或者RSS地址填入下面的输入框中，开始订阅 ，</strong>那么好，它要什么我们就给他什么，把你刚才复制的Rss地址粘贴到里面，然后点击<strong>订阅。</strong></div>
		<div twffan="done">
				<strong>
				</strong> </div>
		<div twffan="done">
				<strong>
				</strong> </div>
		<div twffan="done">这样一来，我们就会看到，原来在页面左手边的浮动框多了一项内容，那个就是你刚刚添加进来的信息频道了，同理你也可以选择其他人的到你的订阅工具上。那么下次记得使用一下你新学会的Rss订阅服务，感受一下它给你带来的方便与快捷。即使你在用后并没有感到有什么特别之处，也不要放弃，今后我还会介绍更多的使用说明，让你真正掌握它的奇妙之处。<br />          －－－－－为了尊重作者的权益，我声明：本篇文章出自：<a href="http://meetrain.spaces.live.com/Blog/cns!1p1ATzziLkd7n4kkRd9rulPQ!1405.entry">http://meetrain.spaces.live.com/Blog/cns!1p1ATzziLkd7n4kkRd9rulPQ!1405.entry</a></div>
<img src ="http://www.blogjava.net/liyong/aggbug/86466.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liyong/" target="_blank">Timothy</a> 2006-12-08 22:10 <a href="http://www.blogjava.net/liyong/archive/2006/12/08/86466.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>