﻿<?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>C++博客-编程自动化-随笔分类-计算机基本概念</title><link>http://www.cppblog.com/AutomateProgram/category/14947.html</link><description>当音乐和传说在深夜中沉寂后，程序的每个字符还在跳动！</description><language>zh-cn</language><lastBuildDate>Fri, 17 Sep 2010 03:04:03 GMT</lastBuildDate><pubDate>Fri, 17 Sep 2010 03:04:03 GMT</pubDate><ttl>60</ttl><item><title>UUID和GUID 意思，解释</title><link>http://www.cppblog.com/AutomateProgram/archive/2010/09/17/126841.html</link><dc:creator>漂漂</dc:creator><author>漂漂</author><pubDate>Fri, 17 Sep 2010 02:58:00 GMT</pubDate><guid>http://www.cppblog.com/AutomateProgram/archive/2010/09/17/126841.html</guid><wfw:comment>http://www.cppblog.com/AutomateProgram/comments/126841.html</wfw:comment><comments>http://www.cppblog.com/AutomateProgram/archive/2010/09/17/126841.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/AutomateProgram/comments/commentRss/126841.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/AutomateProgram/services/trackbacks/126841.html</trackback:ping><description><![CDATA[<span style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: medium Simsun; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class=Apple-style-span><span style="TEXT-ALIGN: left; LINE-HEIGHT: 21px; FONT-FAMILY: verdana, sans-serif; FONT-SIZE: 14px" class=Apple-style-span>
<p style="PADDING-BOTTOM: 0px; MARGIN: 1em 0px 0.5em; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px">原文地址：<a href="http://blog.csdn.net/nidehong/archive/2006/11/22/1406125.aspx">http://blog.csdn.net/nidehong/archive/2006/11/22/1406125.aspx</a><br><br><br>UUID</p>
<p style="PADDING-BOTTOM: 0px; MARGIN: 1em 0px 0.5em; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px">通用惟一标识符（UUID）是128位比特的数字，用来惟一地标识因特网上的某些对象或者实体。</p>
<p style="PADDING-BOTTOM: 0px; MARGIN: 1em 0px 0.5em; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px">A Universally Unique Identifier is an identifier standard used in software construction, standardized by the Open Software Foundation (OSF) as part of the Distributed Computing Environment (DCE). The intent of UUIDs is to enable distributed systems to uniquely identify information without significant central coordination. Thus, anyone can create a UUID and use it to identify something with reasonable confidence that the identifier will never be unintentionally used by anyone for anything else. Information labelled with UUIDs can therefore be later combined into a single database without need to resolve name conflicts. The most widespread use of this standard is in Microsoft's Globally Unique Identifiers (GUIDs) which implement this standard.</p>
<p style="PADDING-BOTTOM: 0px; MARGIN: 1em 0px 0.5em; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px">一个UUID 是一个标识符标准用于软件架构，是由开放软件基金会（OSF）作为分布式计算环境（DCE）的一部分而制定的标准。UUIDs的目的就是使分布式系统可以不需要重要的中央调合系统而能唯一地标识信息。这样，任何人能创造一个UUID 和使用它来标识一些东西，而且，你有足够的信心来确定这个标识是永远不会被任何人无意地使用在任何东西上。因此，信息加上了UUID标签就能合并到单个数据库中而不用去解决命名冲突的问题。这个标准的广泛应用在微软的全球唯一标识符（GUIDs）上，GUID实现了这个标准。</p>
<p style="PADDING-BOTTOM: 0px; MARGIN: 1em 0px 0.5em; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px">A UUID is essentially a 16-byte number and in its canonical form a UUID may look like this:</p>
<p style="PADDING-BOTTOM: 0px; MARGIN: 1em 0px 0.5em; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px">:550E8400-E29B-11D4-A716-446655440000</p>
<p style="PADDING-BOTTOM: 0px; MARGIN: 1em 0px 0.5em; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px">And has this structure in the C programming language:</p>
<p style="PADDING-BOTTOM: 0px; MARGIN: 1em 0px 0.5em; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px">typedef struct {<br>unsigned32 time_low;<br>unsigned16 time_mid;<br>unsigned16 time_hi_and_version;<br>unsigned8 clock_seq_hi_and_reserved;<br>unsigned8 clock_seq_low;<br>byte node6;<br>} uuid_t;</p>
<p style="PADDING-BOTTOM: 0px; MARGIN: 1em 0px 0.5em; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px">The J2SE 5.0 release of Java provides a class that will produce 128-bit UUIDs. The API documentation for the class refers to ISO/IEC 11578:1996.</p>
<p style="PADDING-BOTTOM: 0px; MARGIN: 1em 0px 0.5em; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px">关于UUID的定义，详细内容可参考<a style="COLOR: rgb(51,102,153); TEXT-DECORATION: none" href="http://www.ietf.org/rfc/rfc4122.txt">http://www.ietf.org/rfc/rfc4122.txt</a>，文档里面还有C语言对UUID标准的各种实现。</p>
<p style="PADDING-BOTTOM: 0px; MARGIN: 1em 0px 0.5em; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px">GUID</p>
<p style="PADDING-BOTTOM: 0px; MARGIN: 1em 0px 0.5em; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px">A Globally Unique Identifier or GUID is a pseudo-random number used in software applications. While each generated GUID is not guaranteed to be unique, the total number of unique keys (2128 or 3.4028&#215;1038) is so large that the possibility of the same number being generated twice is very small.</p>
<p style="PADDING-BOTTOM: 0px; MARGIN: 1em 0px 0.5em; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px">一个全球唯一标识符 或 GUID 是一个假随机数用于软件中。虽然每个产生的GUID是不保证唯一的，但不同的标识符总数是（2128 也就是3.4028&#215;1038）如此之大，以至于相同的数字被产生两次的机率是很相当小的。</p>
<p style="PADDING-BOTTOM: 0px; MARGIN: 1em 0px 0.5em; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px">The GUID is an implementation by Microsoft of a standard called Universally Unique Identifier (UUID), specified by the Open Software Foundation (OSF).</p>
<p style="PADDING-BOTTOM: 0px; MARGIN: 1em 0px 0.5em; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px">GUID 是微软对UUID这个标准的实现。UUID是由开放软件基金会（OSF）定义的。</p>
<p style="PADDING-BOTTOM: 0px; MARGIN: 1em 0px 0.5em; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px">UUID还有其它各种实现，不止GUID一种，其它的在此不详细说明。</p>
</span></span>
<img src ="http://www.cppblog.com/AutomateProgram/aggbug/126841.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/AutomateProgram/" target="_blank">漂漂</a> 2010-09-17 10:58 <a href="http://www.cppblog.com/AutomateProgram/archive/2010/09/17/126841.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>URI /URL 解释</title><link>http://www.cppblog.com/AutomateProgram/archive/2010/09/17/126840.html</link><dc:creator>漂漂</dc:creator><author>漂漂</author><pubDate>Fri, 17 Sep 2010 02:57:00 GMT</pubDate><guid>http://www.cppblog.com/AutomateProgram/archive/2010/09/17/126840.html</guid><wfw:comment>http://www.cppblog.com/AutomateProgram/comments/126840.html</wfw:comment><comments>http://www.cppblog.com/AutomateProgram/archive/2010/09/17/126840.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/AutomateProgram/comments/commentRss/126840.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/AutomateProgram/services/trackbacks/126840.html</trackback:ping><description><![CDATA[原文地址：<a href="http://www.cnblogs.com/long2006sky/articles/1149925.html">http://www.cnblogs.com/long2006sky/articles/1149925.html</a><br><br>
<div class="box2 p14">1.什么是URI<br>Web上可用的每种资源 - HTML文档、图像、视频片段、程序等 - 由一个通过通<br>用资源标志符（Universal Resource Identifier, 简称"URI"）进行定位。 <br>URI一般由三部分组成：<br>访问资源的命名机制。 <br>存放资源的主机名。 <br>资源自身的名称，由路径表示。 <br>考虑下面的URI，它表示了当前的HTML 4.0规范： <br>&nbsp; &nbsp;&nbsp;&nbsp;<a href="http://www.webmonkey.com.cn/html/html40/" target=_blank><u><font color=#0066cc>http://www.webmonkey.com.cn/html/html40/</font></u></a><br>这个URI是这样的：这是一个可通过HTTP协议访问的资源，位于主<br>机<a href="http://www.webmonkey.com.cn上/" target=_blank><u><font color=#0066cc>www.webmonkey.com.cn上</font></u></a>，通过路径&#8220;/html/html40&#8221;访问。在HTML文档中<br>其它资源包括"mailto"（收发email）和"ftp"（FTP访问）。 <br>这是URI的另一个例子，指向一个用户的邮箱：<br>&lt;A href="Joe'&gt;mailto:<a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#106;&#111;&#101;&#64;&#115;&#111;&#109;&#101;&#112;&#108;&#97;&#99;&#101;&#46;&#99;&#111;&#109;"><u><font color=#0066cc>joe@someplace.com</font></u></a>"&gt;Joe Cool&lt;/A&gt;<br>注：大多数读者可能熟悉"URL"，而不是URI。URL是URI命名机制的一个子集。<br>片段标志符<br>有的URI指向一个资源的内部。 这种URI以"#"结束，并跟着一个anchor标志<br>符（称为片段标志符）。例如，下面是一个指向section_2的URI：<br><a href="http://somesite.com/html/top.htm#section_2" target=_blank><u><font color=#0066cc>http://somesite.com/html/top.htm#section_2</font></u></a><br>相对URI<br>相对URI 不包含任何命名规范信息。它的路径通常指同一台机器上的资源。相<br>对URI可能含有相对路径（如，&#8220;..&#8221;表示上一层路径），还可能包含片段标<br>志符。<br>为了说明相对URI，假设我们有一个基本的URI <a href="http://www.acme.com/support/intro.htm" target=_blank><u><font color=#0066cc>http://www.acme.com/support/intro.htm</font></u></a><br>下面的链接中使用了相对URI：<br>&nbsp; &nbsp;&nbsp;&nbsp;&lt;A href="suppliers.htm"&gt;Suppliers&lt;/A&gt;<br>它扩展成完全的URI就是 "<a href="http://www.acme.com/support/suppliers.htm" target=_blank><u><font color=#0066cc>http://www.acme.com/support/suppliers.htm</font></u></a>"， <br>下面是一个图像的相对URI：<br>&nbsp; &nbsp;&nbsp;&nbsp;&lt;IMG src="../icons/logo.gif" alt="logo"&gt;<br>它扩展成完全的URI就是 "<a href="http://www.acme.com/icons/logo.gif" target=_blank><u><font color=#0066cc>http://www.acme.com/icons/logo.gif</font></u></a>"。<br>在HTML中，URI被用来：<br>链接到另一个文档或资源(参看A和LINK元素)。 <br>链接到一个外部样式表或脚本(参看LINK和SCRIPT元素)。 <br>在页内包含图像、对象或applet(参看IMAG、OBJECT、APPLET和INPUT<br>元素)。 <br>建立图像映射(参看MAP和AREA元素)。 <br>提交一个表单(参看FORM)。 <br>建立一个框架文档(参看FRAME和IFRAME元素)。 <br>引用一个外部参考(参看Q、BLOCKQUOTE, INS和DEL元素)。 <br>指向一个描述文档的metadata(参看HEAD元素)。<br><br>2.什么是URL：<br>&nbsp; &nbsp;&nbsp; &nbsp; URL是Uniform Resource Location的缩写，译为&#8220;统一资源定位符&#8221;。通俗地说，URL是Internet上用来描述信息资源的字符串，主要用在各种WWW客户程序和服务器程序上，特别是著名的Mosaic。采用URL可以用一种统一的格式来描述各种信息资源，包括文件、服务器的地址和目录等。 <br>◇ URL的格式<br>URL的格式由下列三部分组成： <br>第一部分是协议（或称为服务方式）； <br>第二部分是存有该资源的主机IP地址（有时也包括端口号）； <br>第三部分是主机资源的具体地址。，如目录和文件名等。 <br>第一部分和第二部分之间用&#8220;：//&#8221;符号隔开，第二部分和第三部分用&#8220;/&#8221;符号隔开。第一部分和第二部分是不可缺少的，第三部分有时可以省略。<br>◇ URL示例 <br>文件的URL： <br>用URL表示文件时，服务器方式用file表示，后面要有主机IP地址、文件的存取路径（即目录）和文件名等信息。有时可以省略目录和文件名，但&#8220;/&#8221;符号不能省略。<br>例一：file://ftp.yoyodyne.com/pub/files/foobar.txt<br>代表存放主机ftp.yoyodyne.com上的pub/files/目录下的一个文件，文件名是foobar.txt。<br>例二：file://ftp.yoyodyne.com/pub<br>代表主机ftp.yoyodyne.com上的目录/pub。<br>例三：file://ftp.yoyodyne.com/<br>代表主机ftp.yoyodyne.com上的根目录。<br>Gopher的URL： <br>Gopher服务器有可能使用特殊的端口，在这种情况下，主机IP地址与端口之间要用&#8220;：隔开。<br>例一：gopher://gopher.yoyodyne.com/<br>表示主机gopher.yoyodyne.com上的gopher服务器。<br>例二：gopher://gopher.banzai.edu:1234<br>表示主机gopher.banzai.edu上的gopher服务器，在端口1234上。<br>网络新闻的URL： <br>利用URL表示网络新闻组时，如果是usenet的话只要指定出新闻组的名字即可。<br>例如：news:rec.gardening<br>表示usenet上的rec.gardening新闻组（园艺）。<br>HTTP的 URL：<br>使用超级文本传输协议HTTP，提供超级文本信息服务的资源。<br>例一：<a href="http://www.peopledaily.com.cn/channel/welcome.htm" target=_blank><u><font color=#0066cc>http://www.peopledaily.com.cn/channel/welcome.htm</font></u></a><br>其计算机域名为<a href="http://www.peopledaily.com.cn/" target=_blank><u><font color=#0066cc>www.peopledaily.com.cn</font></u></a>。超级文本文件（文件类型为.html）是在目录/channel下的welcome.htm。这是中国人民日报的一台计算机。<br>例二：<a href="http://www.rol.cn.net/talk/talk1.htm" target=_blank><u><font color=#0066cc>http://www.rol.cn.net/talk/talk1.htm</font></u></a><br>其其计算机域名为<a href="http://www.rol.cn.net/" target=_blank><u><font color=#0066cc>www.rol.cn.net</font></u></a>。超级文本文件（文件类型为.html）是在目录/talk下的talk1.htm。这是瑞得聊天室的地址，可由此进入瑞得聊天室的第1室。<br><br>URI、URL和URN之间的区别与联系<br>URI：Uniform Resource Identifier，统一资源标识符；<br>URL：Uniform Resource Locator，统一资源定位符；<br>URN：Uniform Resource Name，统一资源名称。<br>其中，URL,URN是URI的子集。<br>Web上地址的基本形式是URI,它代表统一资源标识符。有两种形式：<br>URL：目前URI的最普遍形式就是无处不在的URL或统一资源定位器。<br>URN：URL的一种更新形式，统一资源名称(URN, Uniform Resource Name)不依赖于位置，并且有可能减少失效连接的个数。但是其流行还需假以时日，因为它需要更精密软件的支持。<br>URI是以某种统一的（标准化的）方式标识资源的简单字符串。<br>URI一般由三部分组成：<br>1. 访问资源的命名机制。 <br>2. 存放资源的主机名。 <br>3. 资源自身的名称，由路径表示。 <br>典型情况下，这种字符串以scheme（命名URI的名字空间的标识符——一组相关的名称）开头，语法如下：<br>[scheme:] scheme-specific-part <br>URI以scheme和冒号开头。Scheme用大写/小写字母开头，后面为空或者跟着更多的大写/小写字母、数字、加号、减号和点号。冒号把scheme与scheme-specific-part分开了，并且scheme-specific-part的语法和语义（意思）由URI的名字空间决定。如下面的例子：<br><a href="http://www.cnn.com/" target=_blank><u><font color=#0066cc>http://www.cnn.com</font></u></a>，其中http是scheme，//<a href="http://www.cnn.com是/" target=_blank><u><font color=#0066cc>www.cnn.com是</font></u></a> scheme-specific-part，并且它的scheme与scheme-specific-part被冒号分开了。<br>URI有绝对和相对之分，绝对的URI指以scheme（后面跟着冒号）开头的URI。前面提到的<a href="http://www.cnn.com就是绝对的uri的一个例子/" target=_blank><u><font color=#0066cc>http://www.cnn.com就是绝对的URI的一个例子</font></u></a>，其它的例子还有mailto:<a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#106;&#101;&#102;&#102;&#64;&#106;&#97;&#118;&#97;&#106;&#101;&#102;&#102;&#46;&#99;&#111;&#109;"><u><font color=#0066cc>jeff@javajeff.com</font></u></a>、news:comp.lang.java.help和xyz://whatever。你可以把绝对的URI看作是以某种方式引用某种资源，而这种方式对标识符出现的环境没有依赖。如果使用文件系统作类比，绝对的URI类似于从根目录开始的某个文件的径。 <br>与绝对的URI不同的，相对的URI不是以scheme（后面跟着冒号）开始的URI。 它的一个例子是articles/articles.html。你可以把相对的URI看作是以某种方式引用某种资源，而这种方式依赖于标识符出现的环境。如果用文件系统作类比，相对的URI类似于从当前目录开始的文件路径。<br>URL是Uniform Resource Location的缩写，译为"统一资源定位符"。通俗地说，URL是Internet上用来描述信息资源的字符串，主要用在各种WWW客户程序和服务器程序上，特别是著名的Mosaic。采用URL可以用一种统一的格式来描述各种信息资源，包括文件、服务器的地址和目录等。 <br>URL的格式由下列三部分组成： <br>第一部分是协议（或称为服务方式）； <br>第二部分是存有该资源的主机IP地址（有时也包括端口号）； <br>第三部分是主机资源的具体地址。，如目录和文件名等。 <br>第一部分和第二部分之间用"：//"符号隔开，第二部分和第三部分用"/"符号隔开。第一部分和第二部分是不可缺少的，第三部分有时可以省略。<br>目前最大的缺点是当信息资源的存放地点发生变化时，必须对URL作相应的改变。因此人们正在研究新的信息资源表示方法，例如：URI(Universal Resource Identifier)即"通用资源标识"（参见RFC 1630）、URN（Uniform Resource Name）即"统一资源名"和URC（Uniform Resource Citation）即"统一资源引用符"等。<br>URI目前还处在进一步的研究当中。研究的方向就是弥补URL目前存在的缺点。</div>
<img src ="http://www.cppblog.com/AutomateProgram/aggbug/126840.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/AutomateProgram/" target="_blank">漂漂</a> 2010-09-17 10:57 <a href="http://www.cppblog.com/AutomateProgram/archive/2010/09/17/126840.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>