﻿<?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-全世界的屋顶-文章分类-Ajax</title><link>http://www.blogjava.net/honeybee/category/27625.html</link><description /><language>zh-cn</language><lastBuildDate>Thu, 24 Jan 2008 01:30:46 GMT</lastBuildDate><pubDate>Thu, 24 Jan 2008 01:30:46 GMT</pubDate><ttl>60</ttl><item><title>rest架构</title><link>http://www.blogjava.net/honeybee/articles/177319.html</link><dc:creator>sun</dc:creator><author>sun</author><pubDate>Wed, 23 Jan 2008 08:56:00 GMT</pubDate><guid>http://www.blogjava.net/honeybee/articles/177319.html</guid><wfw:comment>http://www.blogjava.net/honeybee/comments/177319.html</wfw:comment><comments>http://www.blogjava.net/honeybee/articles/177319.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/honeybee/comments/commentRss/177319.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/honeybee/services/trackbacks/177319.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 最近看了点关于REST的文章，虽然看得很浅，但很喜欢这种架构style。作为一名立志今后从事Web开发的年轻IT人员来说，掌握一种架构方法，拥有这方面的技能其实很重要。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; REST（Representational State ）架构最早由Roy T. Fielding于2000年提出。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; REST软件架构是当今世界上最成功的互联网的超媒体分布式系统，实现这一软件架构最著名的就是HTTP协议。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; REST软件架构当中最重要的两个理念：对于互联网资源进行唯一定位；理解对于该资源进行怎样运作。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; REST遵循CRUD原则：（create , read , update , delete）。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; REST的&#8220;无状态服务器&#8221;约束：&#8220;客户机——无状态——服务器&#8221;。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 目前流行的的AJAX技术与Rails框架，遵循了REST的一些重要原则。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AJAX架构风格使开发人员可以将处理和状态需求分布到客户机，对于程序逻辑与表示部署到客户端，服务器端仅含有业务数据或个性化内容，与服务器端Web应用程序相比，它具有显著的可伸缩性优势。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AJAX技术还使得软件更好地实现分布性功能，在一个企业内只要一个人下载了AJAX引擎，其它企业内部的人员，就可以共享该资源了。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AJAX和REST架构风格对于融入式Web应用程序也同样具有优势（程序员实战Web2.0 或http://www.ibm.com/developerworks/cn/web/wa-ajaxarch/）<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;对于REST，目前处于初学阶段，在此，附上Roy Thomas Fielding博士论文摘要：<br />
　　　　　　ABSTRACT OF THE DISSERTATION<br />
Architectural Styles and the Design of Network-based Software Architectures　by　Roy Thomas Fielding<br />
　　　　　　Doctor of Philosophy in Information and Computer Science<br />
　　　　　　University of California, Irvine, 2000<br />
　　　　　　Professor Richard N. Taylor, Chair<br />
　　The World Wide Web has succeeded in large part because its software architecture has<br />
been designed to meet the needs of an Internet-scale distributed hypermedia system. The<br />
Web has been iteratively developed over the past ten years through a series of<br />
modifications to the standards that define its architecture. In order to identify those aspects<br />
of the Web that needed improvement and avoid undesirable modifications, a model for the<br />
modern Web architecture was needed to guide its design, definition, and deployment.<br />
　　Software architecture research investigates methods for determining how best to<br />
partition a system, how components identify and communicate with each other, how<br />
information is communicated, how elements of a system can evolve independently, and<br />
how all of the above can be described using formal and informal notations. My work is<br />
motivated by the desire to understand and evaluate the architectural design of networkbased<br />
application software through principled use of architectural constraints, thereby<br />
obtaining the functional, performance, and social properties desired of an architecture. An<br />
architectural style is a named, coordinated set of architectural constraints.<br />
　　This dissertation defines a framework for understanding software architecture via<br />
architectural styles and demonstrates how styles can be used to guide the architectural<br />
design of network-based application software. A survey of architectural styles for<br />
network-based applications is used to classify styles according to the architectural<br />
properties they induce on an architecture for distributed hypermedia. I then introduce the<br />
Representational State Transfer (REST) architectural style and describe how REST has<br />
been used to guide the design and development of the architecture for the modern Web.<br />
　　REST emphasizes scalability of component interactions, generality of interfaces,<br />
independent deployment of components, and intermediary components to reduce<br />
interaction latency, enforce security, and encapsulate legacy systems. I describe the<br />
software engineering principles guiding REST and the interaction constraints chosen to<br />
retain those principles, contrasting them to the constraints of other architectural styles.<br />
Finally, I describe the lessons learned from applying REST to the design of the Hypertext<br />
Transfer Protocol and Uniform Resource Identifier standards, and from their subsequent<br />
deployment in Web client and server software.<br />
<br />
Roy Thomas Fielding博士论文英文版本　<a href="http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm">http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm</a> 
<img src ="http://www.blogjava.net/honeybee/aggbug/177319.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/honeybee/" target="_blank">sun</a> 2008-01-23 16:56 <a href="http://www.blogjava.net/honeybee/articles/177319.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>HTTP请求（GET与POST区别）和响应</title><link>http://www.blogjava.net/honeybee/articles/164008.html</link><dc:creator>sun</dc:creator><author>sun</author><pubDate>Thu, 29 Nov 2007 07:40:00 GMT</pubDate><guid>http://www.blogjava.net/honeybee/articles/164008.html</guid><wfw:comment>http://www.blogjava.net/honeybee/comments/164008.html</wfw:comment><comments>http://www.blogjava.net/honeybee/articles/164008.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/honeybee/comments/commentRss/164008.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/honeybee/services/trackbacks/164008.html</trackback:ping><description><![CDATA[&nbsp;
<p>HTTP<span style="font-family: 宋体">有两部分组成：请求与响应，下面分别整理。</span></p>
<h2 style="margin-left: 21pt; text-indent: -21pt; tab-stops: list 21.0pt">一．HTTP<span style="font-family: 宋体">请求</span></h2>
<h3 style="text-indent: 21pt">1<span style="font-family: 宋体">．</span>HTTP<span style="font-family: 宋体">请求格式：</span></h3>
<p style="text-indent: 21pt">&lt;request line&gt;</p>
<p style="text-indent: 21pt">&lt;headers&gt;</p>
<p style="text-indent: 21pt"><span style="color: red">&lt;blank line&gt;</span></p>
<p style="text-indent: 21pt">[&lt;request-body&gt;]</p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">在</span>HTTP<span style="font-family: 宋体">请求中，第一行必须是一个请求行（</span>request line<span style="font-family: 宋体">），用来说明请求类型、要访问的<nobr oncontextmenu="return false;" onmousemove="kwM(11);" id="key6" onmouseover="kwE(event,11, this);" style="color: #6600ff; border-bottom: #6600ff 1px dotted; background-color: transparent; text-decoration: underline" onclick="return kwC();" onmouseout="kwL(event, this);" target="_blank">资源</nobr>以及使用的</span>HTTP<span style="font-family: 宋体">版本。紧接着是一个首部（</span>header<span style="font-family: 宋体">）小节，用来说明服务器要使用的附加信息。在首部之后是一个空行，再此之后可以添加任意的其他数据</span>[<span style="font-family: 宋体">称之为主体（</span>body<span style="font-family: 宋体">）</span>]<span style="font-family: 宋体">。</span></p>
<h3 style="text-indent: 21pt">2<span style="font-family: 宋体">．</span>GET<span style="font-family: 宋体">与</span>POST<span style="font-family: 宋体">区别</span></h3>
<p style="text-indent: 21pt">HTTP <span style="font-family: 宋体">定义了与服务器交互的不同方法，最基本的方法是</span> GET <span style="font-family: 宋体">和</span> POST<span style="font-family: 宋体">（</span><span style="color: black">Ajax</span><nobr oncontextmenu="return false;" onmousemove="kwM(3);" id="key3" onmouseover="kwE(event,3, this);" style="color: #6600ff; border-bottom: 0px dotted; background-color: transparent; text-decoration: underline" onclick="return kwC();" onmouseout="kwL(event, this);" target="_blank"><span style="color: black; font-family: 宋体">开发</nobr>，关心的只有</span><span style="color: black">GET</span><span style="color: black; font-family: 宋体">请求和</span><span style="color: black">POST</span><span style="color: black; font-family: 宋体">请求</span><span style="font-family: 宋体">）。</span></p>
<p style="text-indent: 21pt"><span style="color: red"><strong>GET<span style="font-family: 宋体">与</span>POST<span style="font-family: 宋体">方法有以下区别：</span></strong></span></p>
<p style="margin-left: 51pt; text-indent: -30pt; tab-stops: list 51.0pt"><span style="color: black">（1）<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp; </span></span><span style="color: black; font-family: 宋体">在客户端，</span><span style="color: black; font-family: Tahoma">Get</span><span style="color: black; font-family: 宋体">方式在通过</span><span style="color: black; font-family: Tahoma">URL</span><span style="color: black; font-family: 宋体">提交数据，数据</span><span style="font-family: 宋体">在</span>URL<span style="font-family: 宋体">中可以看到；</span>POST<span style="font-family: 宋体">方式，数据放置在</span>HTML HEADER<span style="font-family: 宋体">内提交。</span></p>
<p style="margin-left: 51pt; text-indent: -30pt; tab-stops: list 51.0pt"><span style="color: black">（2）<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp; </span></span>GET<span style="font-family: 宋体">方式提交的数据最多只能有</span>1024<span style="font-family: 宋体">字节，而</span>POST<span style="font-family: 宋体">则没有此限制。</span></p>
<p style="margin-left: 51pt; text-indent: -30pt; tab-stops: list 51.0pt"><span style="color: black">（3）<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp; </span></span><span style="font-family: 宋体">安全性问题。正如在（</span><span style="font-family: ˎ̥">1</span><span style="font-family: 宋体">）中提到，使用</span><span style="font-family: ˎ̥"> Get </span><span style="font-family: 宋体">的时候，参数会显示在地址栏上，而</span><span style="font-family: ˎ̥"> Post </span><span style="font-family: 宋体">不会。所以，如果这些数据是中文数据而且是非敏感数据，那么使用</span><span style="font-family: ˎ̥"> get</span><span style="font-family: 宋体">；如果用户输入的数据不是中文字符而且包含敏感数据，那么还是使用</span><span style="font-family: ˎ̥"> post</span><span style="font-family: 宋体">为好。</span></p>
<p style="margin-left: 51pt; text-indent: -30pt; tab-stops: list 51.0pt"><span style="color: black">（4）<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp; </span></span><span style="font-size: 10pt; color: #3366ff; font-family: 宋体">安全的和幂等的。所谓安全的意味着该操作用于获取信息而非修改信息。幂等的意味着对同一</span><span style="font-size: 10pt; color: #3366ff; font-family: Verdana"> URL </span><span style="font-size: 10pt; color: #3366ff; font-family: 宋体">的多个请求应该返回同样的结果。完整的定义并不像看起来那样严格。换句话说，</span><span style="font-size: 10pt; color: #3366ff; font-family: Verdana">GET </span><span style="font-size: 10pt; color: #3366ff; font-family: 宋体">请求一般不应产生副作用。从根本上讲，其目标是当用户打开一个链接时，她可以确信从自身的角度来看没有改变资源。比如，新闻站点的头版不断更新。虽然第二次请求会返回不同的一批新闻，该操作仍然被认为是安全的和幂等的，因为它总是返回当前的新闻。反之亦然。</span><span style="font-size: 10pt; color: #3366ff; font-family: Verdana">POST </span><span style="font-size: 10pt; color: #3366ff; font-family: 宋体">请求就不那么轻松了。</span><span style="font-size: 10pt; color: #3366ff; font-family: Verdana">POST </span><span style="font-size: 10pt; color: #3366ff; font-family: 宋体">表示可能改变服务器上的资源的请求。仍然以新闻站点为例，读者对文章的注解应该通过</span><span style="font-size: 10pt; color: #3366ff; font-family: Verdana"> POST </span><span style="font-size: 10pt; color: #3366ff; font-family: 宋体">请求实现，因为在注解提交之后站点已经不同了（比方说文章下面出现一条注解）。<br />
</span><span style="font-size: 10pt; color: #3366ff; font-family: Verdana"><a href="http://www.cnblogs.com/stu-acer/archive/2006/08/28/488802.html">http://www.cnblogs.com/stu-acer/archive/2006/08/28/488802.html</a></span></p>
<p></p>
<p style="text-indent: 21pt">&nbsp;<span style="color: red"><strong>GET<span style="font-family: 宋体">与</span>POST</strong><span style="font-family: 宋体"><strong>方法实例：<br />
</strong></span></span><span style="font-family: 宋体"><br />
<table style="width: 754px; height: 334px" cellspacing="2" cellpadding="2" width="754" border="0">
    <tbody>
        <tr>
            <td>GET<span style="font-family: 宋体">实例</span></td>
            <td>POST实例</td>
        </tr>
        <tr>
            <td>
            <p style="background: #f9fcfe; word-break: break-all; text-indent: 24.1pt" align="left"><span style="font-size: 10.5pt; color: black; font-family: ˎ̥">GET /books/?name=Professional%20Ajax HTTP/1.1</span></p>
            <p style="background: #f9fcfe; word-break: break-all; text-indent: 24.1pt" align="left"><span style="font-size: 10.5pt; color: black; font-family: ˎ̥">Host: www.wrox.com</span></p>
            <p style="background: #f9fcfe; word-break: break-all; text-indent: 24.1pt" align="left"><span style="font-size: 10.5pt; color: black; font-family: ˎ̥">User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.6)</span></p>
            <p style="background: #f9fcfe; word-break: break-all; text-indent: 24.1pt" align="left"><span style="font-size: 10.5pt; color: black; font-family: ˎ̥">Gecko/20050225 Firefox/1.0.1</span></p>
            <p style="background: #f9fcfe; word-break: break-all; text-indent: 24.1pt" align="left"><span style="font-size: 10.5pt; color: black; font-family: ˎ̥">Connection: Keep-Alive<br />
            <br />
            <br />
            <br />
            <br />
            <br />
            <br />
            <br />
            <br />
            <br />
            </span></p>
            </td>
            <td><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: ˎ̥">&nbsp;
            <p style="background: #f9fcfe; word-break: break-all; text-indent: 24.1pt"><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: ˎ̥">POST / <nobr oncontextmenu="return false;" onmousemove="kwM(12);" id="key7" onmouseover="kwE(event,12, this);" style="color: #6600ff; border-bottom: #6600ff 1px dotted; background-color: transparent; text-decoration: underline" onclick="return kwC();" onmouseout="kwL(event, this);" target="_blank">HTTP</nobr>/1.1<o:p></o:p></span></p>
            <p style="background: #f9fcfe; word-break: break-all; text-indent: 24.1pt"><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: ˎ̥">Host: www.wrox.com<o:p></o:p></span></p>
            <p style="background: #f9fcfe; word-break: break-all; text-indent: 24.1pt"><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: ˎ̥">User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:<st1:chsdate w:st="on" year="1899" month="12" day="30" islunardate="False" isrocdate="False">1.7.6</st1:chsdate>)<o:p></o:p></span></p>
            <p style="background: #f9fcfe; word-break: break-all; text-indent: 24.1pt"><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: ˎ̥">Gecko/20050225 Firefox/<st1:chsdate w:st="on" year="1899" month="12" day="30" islunardate="False" isrocdate="False">1.0.1</st1:chsdate><o:p></o:p></span></p>
            <p style="background: #f9fcfe; word-break: break-all; text-indent: 24.1pt"><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: ˎ̥">Content-Type: application/x-www-form-urlencoded<o:p></o:p></span></p>
            <p style="background: #f9fcfe; word-break: break-all; text-indent: 24.1pt"><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: ˎ̥">Content-Length: 40<o:p></o:p></span></p>
            <p style="background: #f9fcfe; word-break: break-all; text-indent: 24.1pt"><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: ˎ̥">Connection: Keep-Alive<br />
            <o:p><br />
            <span style="color: red">&nbsp;&nbsp;&nbsp;&nbsp; （此处空一行）</span><br />
            </o:p></span></p>
            <p style="background: #f9fcfe; word-break: break-all; text-indent: 24.1pt"><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: ˎ̥">name=Professional%20Ajax&amp;publisher=Wiley<o:p></o:p></span></p>
            <br />
            </span></td>
        </tr>
    </tbody>
</table>
<br />
</span></p>
<h3>&nbsp;</h3>
<h3>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3<span style="font-family: 宋体">．</span><span style="font-weight: normal; font-family: 宋体">表单提交中</span><span style="font-weight: normal">get</span><span style="font-weight: normal; font-family: 宋体">和</span><span style="font-weight: normal">post</span><span style="font-weight: normal; font-family: 宋体">方式的区别归纳如下几点：<br />
</h3>
</span>
<p style="margin-left: 21pt"><span style="font-family: 宋体">（</span>1<span style="font-family: 宋体">）</span>get<span style="font-family: 宋体">是从服务器上获取数据，</span>post<span style="font-family: 宋体">是向服务器传送数据。</span></p>
<p style="margin-left: 21pt"><span style="font-family: 宋体">（</span>2<span style="font-family: 宋体">）对于表单的提交方式，</span><span style="color: black; font-family: 宋体">在服务器端只能用</span><span style="color: black; font-family: Tahoma">Request.QueryString</span><span style="color: black; font-family: 宋体">来获取</span><span style="color: black; font-family: Tahoma">Get</span><span style="color: black; font-family: 宋体">方式提交来的数据，用</span><span style="color: black; font-family: Tahoma">Post</span><span style="color: black; font-family: 宋体">方式提交的数据只能用</span><span style="color: black; font-family: Tahoma">Request.Form</span><span style="color: black; font-family: 宋体">来获取。</span></p>
<p style="margin-left: 21pt"><span style="color: black; font-family: 宋体">（</span><span style="color: black; font-family: Tahoma">3</span><span style="color: black; font-family: 宋体">）一般来说，尽量避免使用</span><span style="color: black; font-family: Tahoma">Get</span><span style="color: black; font-family: 宋体">方式提交表单，因为有可能会导致安全问题。比如说在登陆表单中用</span><span style="color: black; font-family: Tahoma">Get</span><span style="color: black; font-family: 宋体">方式，用户输入的用户名和密码将在地址栏中暴露无遗。但是在分页程序中，用</span><span style="color: black; font-family: Tahoma">Get</span><span style="color: black; font-family: 宋体">方式就比用</span><span style="color: black; font-family: Tahoma">Post</span><span style="color: black; font-family: 宋体">好。</span></p>
<h2 style="margin-left: 21pt; text-indent: -21pt; tab-stops: list 21.0pt">二．HTTP<span style="font-family: 宋体">响应</span></h2>
<h3 style="text-indent: 21pt">1<span style="font-family: 宋体">．</span>HTTP<span style="font-family: 宋体">响应格式：</span></h3>
<p style="text-indent: 21pt">&lt;status line&gt;</p>
<p style="text-indent: 21pt">&lt;headers&gt;</p>
<p style="text-indent: 21pt"><span style="color: red">&lt;blank line&gt;</span></p>
<p style="text-indent: 21pt">[&lt;response-body&gt;]</p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">在响应中唯一真正的<span style="color: red">区别</span>在于第一行中用状态<nobr oncontextmenu="return false;" onmousemove="kwM(1);" id="key1" onmouseover="kwE(event,1, this);" style="color: #6600ff; border-bottom: #6600ff 1px dotted; background-color: transparent; text-decoration: underline" onclick="return kwC();" onmouseout="kwL(event, this);" target="_blank">信息</nobr>代替了请求信息。<span style="color: red">状态行</span>（</span>status line<span style="font-family: 宋体">）通过提供一个状态码来说明所请求的资源情况。</span>&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
<span lang="EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; HTTP</span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">响应实例：</span></p>
<p style="background: #f9fcfe; word-break: break-all; text-indent: 24.1pt"><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: ˎ̥"><o:p>
<table cellspacing="2" cellpadding="2" width="500" border="0">
    <tbody>
        <tr>
            <td>
            <p style="background: #f9fcfe; word-break: break-all; text-indent: 24.1pt"><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: ˎ̥">HTTP/1.1 200 OK<o:p></o:p></span></p>
            <p style="background: #f9fcfe; word-break: break-all; text-indent: 24.1pt"><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: ˎ̥">Date: Sat, 31 Dec 2005 23:59:59 GMT<o:p></o:p></span></p>
            <p style="background: #f9fcfe; word-break: break-all; text-indent: 24.1pt"><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: ˎ̥">Content-Type: text/html;charset=ISO-8859-1<o:p></o:p></span></p>
            <p style="background: #f9fcfe; word-break: break-all; text-indent: 24.1pt"><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: ˎ̥">Content-Length: 122<o:p></o:p></span></p>
            <p style="background: #f9fcfe; word-break: break-all; text-indent: 24.1pt"><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">＜</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: ˎ̥">html</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">＞</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: ˎ̥"><o:p></o:p></span></p>
            <p style="background: #f9fcfe; word-break: break-all; text-indent: 24.1pt"><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">＜</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: ˎ̥">head</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">＞</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: ˎ̥"><o:p></o:p></span></p>
            <p style="background: #f9fcfe; word-break: break-all; text-indent: 24.1pt"><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">＜</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: ˎ̥">title</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">＞</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: ˎ̥">Wrox Homepage</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">＜</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: ˎ̥">/title</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">＞</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: ˎ̥"><o:p></o:p></span></p>
            <p style="background: #f9fcfe; word-break: break-all; text-indent: 24.1pt"><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">＜</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: ˎ̥">/head</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">＞</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: ˎ̥"><o:p></o:p></span></p>
            <p style="background: #f9fcfe; word-break: break-all; text-indent: 24.1pt"><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">＜</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: ˎ̥">body</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">＞</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: ˎ̥"><o:p></o:p></span></p>
            <p style="background: #f9fcfe; word-break: break-all; text-indent: 24.1pt"><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">＜</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: ˎ̥">!-- body goes here --</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">＞</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: ˎ̥"><o:p></o:p></span></p>
            <p style="background: #f9fcfe; word-break: break-all; text-indent: 24.1pt"><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">＜</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: ˎ̥">/body</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">＞</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: ˎ̥"><o:p></o:p></span></p>
            <p style="background: #f9fcfe; word-break: break-all; text-indent: 24.1pt"><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">＜</span><span lang="EN-US" style="font-size: 10.5pt; color: black; font-family: ˎ̥">/html</span><span style="font-size: 10.5pt; color: black; mso-ascii-font-family: ˎ̥; mso-hansi-font-family: ˎ̥">＞</span></p>
            </td>
        </tr>
    </tbody>
</table>
</o:p></span></p>
<h3 style="text-indent: 21pt">2<span style="font-family: 宋体">．最常用的状态码有：</span></h3>
<p style="text-indent: 21pt"><span style="font-family: 宋体">◆</span>200 (OK): <span style="font-family: 宋体">找到了该资源，并且一切正常。</span></p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">◆</span>304 (NOT MODIFIED): <span style="font-family: 宋体">该资源在上次请求之后没有任何修改。这通常用于浏览器的缓存机制。</span></p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">◆</span>401 (UNAUTHORIZED): <span style="font-family: 宋体"><nobr oncontextmenu="return false;" onmousemove="kwM(4);" id="key3" onmouseover="kwE(event,4, this);" style="color: #6600ff; border-bottom: #6600ff 1px dotted; background-color: transparent; text-decoration: underline" onclick="return kwC();" onmouseout="kwL(event, this);" target="_blank">客户</nobr>端无权访问该资源。这通常会使得浏览器要求用户输入用户名和密码，以登录到服务器。</span></p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">◆</span>403 (FORBIDDEN): <span style="font-family: 宋体">客户端未能获得授权。这通常是在</span>401<span style="font-family: 宋体">之后输入了不正确的用户名或密码。</span></p>
<p style="text-indent: 21pt"><span style="font-family: 宋体">◆</span>404 (NOT FOUND): <span style="font-family: 宋体">在指定的位置不存在所申请的<nobr oncontextmenu="return false;" onmousemove="kwM(7);" id="key5" onmouseover="kwE(event,7, this);" style="color: #6600ff; border-bottom: 0px dotted; background-color: transparent; text-decoration: underline" onclick="return kwC();" onmouseout="kwL(event, this);" target="_blank">资源</nobr>。</span></p>
 <img src ="http://www.blogjava.net/honeybee/aggbug/164008.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/honeybee/" target="_blank">sun</a> 2007-11-29 15:40 <a href="http://www.blogjava.net/honeybee/articles/164008.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ajax入门学习</title><link>http://www.blogjava.net/honeybee/articles/163752.html</link><dc:creator>sun</dc:creator><author>sun</author><pubDate>Wed, 28 Nov 2007 09:28:00 GMT</pubDate><guid>http://www.blogjava.net/honeybee/articles/163752.html</guid><wfw:comment>http://www.blogjava.net/honeybee/comments/163752.html</wfw:comment><comments>http://www.blogjava.net/honeybee/articles/163752.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/honeybee/comments/commentRss/163752.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/honeybee/services/trackbacks/163752.html</trackback:ping><description><![CDATA[<p>Ajax（Asynchronous JavaScript XML）<br />
<br />
一 传统Web应用程序模型与Ajax Web应用程序模型的区别<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 参见个人博客相册图片<a href="http://www.blogjava.net/honeybee/gallery/image/9959.html">http://www.blogjava.net/honeybee/gallery/image/9959.html</a><br />
二 Ajax设计的技术<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; javascript:用来编写Ajax引擎的脚本语言；<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xml：数据交换格式；<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xmlhttp：主要的通信代理；<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; html/xhtml：主要的内容表示语言；<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; css：为xhtml提供文本格式定义；<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dom：对已载入的页面进行动态更新；&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xslt：将xml转换成xhtml。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 其中必需的技术有：javascript , dom , html/xhtml 。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; html/xhtml是显示信息所必需的，dom是为不重新载入html/xhtml&nbsp;页面 而修改内容所必需的，javascript是初始化客户端——服务器通信，操作dom更新网页所必需的。<br />
<br />
三&nbsp;基于Ajax技术的系统<br />
&nbsp;&nbsp;&nbsp;&nbsp; google suggest , google maps ,&nbsp; Gmail , yahoo!news<br />
</p>
<br />
<br />
<br />
<br />
<br />
<img src ="http://www.blogjava.net/honeybee/aggbug/163752.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/honeybee/" target="_blank">sun</a> 2007-11-28 17:28 <a href="http://www.blogjava.net/honeybee/articles/163752.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>xmlhttp的CHM手册</title><link>http://www.blogjava.net/honeybee/articles/163733.html</link><dc:creator>sun</dc:creator><author>sun</author><pubDate>Wed, 28 Nov 2007 08:45:00 GMT</pubDate><guid>http://www.blogjava.net/honeybee/articles/163733.html</guid><wfw:comment>http://www.blogjava.net/honeybee/comments/163733.html</wfw:comment><comments>http://www.blogjava.net/honeybee/articles/163733.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/honeybee/comments/commentRss/163733.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/honeybee/services/trackbacks/163733.html</trackback:ping><description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 最近在看Ajax，由于xmlhttp是Ajax的必要技术，因此也关注一下。顺便在自己的博客中提供xmlhttp的CHM手册的下载方式，作为收藏。<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a title="xmlhttp的CHM手册下载" href="/Files/honeybee/xmlhttp.zip">xmlhttp的CHM手册下载地址</a></p>
 <img src ="http://www.blogjava.net/honeybee/aggbug/163733.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/honeybee/" target="_blank">sun</a> 2007-11-28 16:45 <a href="http://www.blogjava.net/honeybee/articles/163733.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>