`
androider
  • 浏览: 736162 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

HTTP协议:304

阅读更多
var r = new XMLHttpRequest();r.onreadystatechange=function() {
    if (r.readyState==4) {
        if (r.status==200) {  // "OK status"
            displayData(r.responseText);
        }
        else if (r.status==304) {
            // "Not Modified": No change to display
        }
        else {
            alertProblem(r);
        }
    }}
r.open("GET",'http://myserver.example.com/latest_data/',true)
r.send(null);


HTTP的一个简单事实是:HTTP是一个无状态的协议,它既是HTTP的最大优点也是其主要缺点。每一个对于HTTP服务器资源的请求都是幂等的,也就是说在每次调用相同的请求应该返回相同的结果。幂等是REST的中心思想:不管在什么时候发送相同的请求——也许编码了客户信息——都应该返回同样的数据。……[但] 如何理解“同样的数据”并不想看起来那么容易。同样的URI总是返回一样的数据只是一个粗糙的理解。毕竟,即使一个静态页面的内容也会改变(比如修正了一些拼写错误)。幂等背后的含义仅指相关的改变不应该对GET请求本身产生直接的影响。于是像这样一个总是变化的资源是一个完全合理的方法:
http://myserver.example.com/latest_data/

这里的问题只不过是“最新数据(latest_data)”并不仅仅依赖于谁在什么时候以何种方式获取过。一个服务器可以完全是RESTful,并仍然反映“世界的现状”。

304 Not Modified
如果客服端已经完成一个有条件的请求并且请求是允许的,但是这个文档并没有改变,服务器应该返回304状态码。304
状态码一定不能包含信息主体,从而通常通过一个头字段后的第一个空行结束。
客户端有缓冲的文档并发出了一个条件性的请求(一般是提供If-Modified-Since头表示客户只想比指定日期更新的文档)。服务器告诉客户,原来缓冲的文档还可以继续使用。


分享到:
评论

相关推荐

    TCP-IP详解.卷三:TCP事务协议,HTTP,NNTP和UNIX域协议

    2.6 PPP:点对点协议 18 2.7 环回接口 20 2.8 最大传输单元MTU 21 2.9 路径MTU 21 2.10 串行线路吞吐量计算 21 2.11 小结 22 第3章 IP:网际协议 24 3.1 引言 24 3.2 IP首部 24 3.3 IP路由选择 27 3.4 子网寻址 30 ...

    dome2_HTTP协议_

    转载:http协议中的响应代码:200;301;302;304;404;500;

    http协议的状态码200、301、304、404、502一览.docx

    http协议的状态码200、301、304、404、502一览.docx

    TCP/IP详解 卷1:协议--源代码

    该资料是《TCP/IP详解 卷1:协议》的源代码 对应的书籍资料见: TCP/IP详解 卷1:协议(09年度畅销榜TOP50)(08年度畅销榜TOP50) http://download.csdn.net/detail/fksec/4657587 基本信息 原书名: TCP/IP ...

    HTTP协议详解

    超 文本传输协议(HTTP)是一种为分布式,合作式,超媒体信息系统。它是一种通用的,无状态(stateless)的协议,除了应用于超文本传输外,它也 可以应用于诸如名称服务器和分布对象管理系统之类的系统,这可以通过...

    TCPIP协议详解(4-1)

    防火墙 195 18.1 使网络安全 195 18.2 使用防火墙 196 18.2.1 代理服务器 197 18.2.2 报文过滤器 198 18.3 使服务安全 198 18.3.1 电子邮件(SMTP) 198 18.3.2 HTTP:万维网 199 18.3.3 FTP ...

    xhttpcache:xhttpcache是​​HTTP静态缓存服务,它也是NOSQL数据库,作为KV存储,支持REDIS协议接口以及HTTP协议的REST接口。

    ()Xhttpcache是​​HTTP静态缓存服务,它也是NOSQL数据库作为KV存储,支持REDIS协议接口以及HTTP协议的REST接口。 #xhttpcache的功能是什么? 为HTTP数据提供缓存服务并支持二进制数据存储; 实现完整的KV存储...

    Http1.1超文本传输协议中文版

    Http1.1超文本传输协议中文版,目录如下: 1 引论 7 1.1 目的 7 1.2 要求 8 1.3 术语 8 1.4 总体操作 12 2 符号习惯和一般语法 13 2.1 扩充的BNF(扩充的 巴科斯-诺尔范式) 14 2.2基本规则 (basic rule) 15 3 ...

    TCP_IP详解卷1

    《TCP/IP详解,卷1:协议》是一本完整而详细的TCP/IP协议指南。描述了属于每一层的各个协议以及它们如何在不同操作系统中运行。作者用Lawrence Berkeley实验室的tcpdump程序来捕获不同操作系统和TCP/IP实现之间传输...

    TCP/IP详解

    18.3.2 HTTP:万维网 199 18.3.3 FTP 199 18.3.4 Telnet 199 18.3.5 Usenet:NNTP 199 18.3.6 DNS 200 18.4 建造用户自己的防火墙 200 18.5 使用商业防火墙软件 200 18.6 小结 202 第19章 IP安全 203 19.1 使用加密 ...

    Computer Networking - A Top Down Approach, 7th, converted .pdf

    2.2/Web应用和HTTP协议/61 2.2.1/HTTP概况/62 2.2.2/非持久连接和持久连接/63 2.2.3/HTTP报文格式/65 2.2.4/用户与服务器的交互:cookie/68 2.2.5/Web缓存/70 2.2.6/条件GET方法/72 2.3/文件传输协议:FTP/73 2.4/...

    TCPIP详解--共三卷

    TCP/IP详解 卷1:协议 译者序 前言 第1章 概述 1 1.1 引言 1 1.2 分层 1 1.3 TCP/IP的分层 4 1.4 互联网的地址 5 1.5 域名系统 6 1.6 封装 6 1.7 分用 8 1.8 客户-服务器模型 8 1.9 端口号 9 1.10 标准化过程 10 ...

    TCPIP详解卷[1].part04

    《TCP/IP详解,卷1:协议》是一本完整而详细的TCP/IP协议指南。描述了属于每一层的各个协议以及它们如何在不同操作系统中运行。作者用Lawrence Berkeley实验室的tcpdump程序来捕获不同操作系统和TCP/IP实现之间传输...

    TCPIP详解卷[1].part09

    《TCP/IP详解,卷1:协议》是一本完整而详细的TCP/IP协议指南。描述了属于每一层的各个协议以及它们如何在不同操作系统中运行。作者用Lawrence Berkeley实验室的tcpdump程序来捕获不同操作系统和TCP/IP实现之间传输...

    TCPIP详解卷[1].part03

    《TCP/IP详解,卷1:协议》是一本完整而详细的TCP/IP协议指南。描述了属于每一层的各个协议以及它们如何在不同操作系统中运行。作者用Lawrence Berkeley实验室的tcpdump程序来捕获不同操作系统和TCP/IP实现之间传输...

    TCPIP详解卷[1].part05

    《TCP/IP详解,卷1:协议》是一本完整而详细的TCP/IP协议指南。描述了属于每一层的各个协议以及它们如何在不同操作系统中运行。作者用Lawrence Berkeley实验室的tcpdump程序来捕获不同操作系统和TCP/IP实现之间传输...

    TCPIP详解卷[1].part06

    《TCP/IP详解,卷1:协议》是一本完整而详细的TCP/IP协议指南。描述了属于每一层的各个协议以及它们如何在不同操作系统中运行。作者用Lawrence Berkeley实验室的tcpdump程序来捕获不同操作系统和TCP/IP实现之间传输...

    TCP/IP详解part_2

    《TCP/IP详解,卷1:协议》是一本完整而详细的TCP/IP协议指南。描述了属于每一层的各个协议以及它们如何在不同操作系统中运行。作者用Lawrence Berkeley实验室的tcpdump程序来捕获不同操作系统和TCP/IP实现之间传输...

    TCPIP详解卷[1].part08

    《TCP/IP详解,卷1:协议》是一本完整而详细的TCP/IP协议指南。描述了属于每一层的各个协议以及它们如何在不同操作系统中运行。作者用Lawrence Berkeley实验室的tcpdump程序来捕获不同操作系统和TCP/IP实现之间传输...

    TCPIP详解卷[1].part11

    《TCP/IP详解,卷1:协议》是一本完整而详细的TCP/IP协议指南。描述了属于每一层的各个协议以及它们如何在不同操作系统中运行。作者用Lawrence Berkeley实验室的tcpdump程序来捕获不同操作系统和TCP/IP实现之间传输...

Global site tag (gtag.js) - Google Analytics