`
androider
  • 浏览: 748128 次
  • 性别: 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头表示客户只想比指定日期更新的文档)。服务器告诉客户,原来缓冲的文档还可以继续使用。


分享到:
评论

相关推荐

    Http协议内容总结 http协议包含哪些内容 Http协议的请求方法 Http协议实现的原理机制 get与post请求的区别

    ### Http协议内容总结 HTTP(HyperText Transfer Protocol)即超文本传输协议,是客户端与服务器之间数据传输的格式规范。本文将围绕HTTP协议的核心概念、请求方法、实现机制及其细节展开详细讨论。 #### HTTP协议...

    http 协议

    ### HTTP协议头详解 HTTP(Hypertext Transfer Protocol)是一种应用层协议,主要用于从Web服务器传输超文本到本地浏览器等应用程序。HTTP协议头是HTTP请求和响应中的一个重要组成部分,它们携带了关于HTTP消息的...

    http协议基本原理

    **HTTP协议基本原理** HTTP(超文本传输协议)是互联网上应用最为广泛的一种网络协议,它是Web服务的基础,用于在Web浏览器和服务器之间传输数据。理解HTTP协议的基本原理对于任何从事Web开发或网络编程的人来说都...

    http协议的描述

    HTTP协议建立在TCP/IP协议之上,确保数据能够可靠地在网络中传输。 HTTP协议的工作模式基于请求-响应模型。客户端(浏览器)发起一个HTTP请求,这个请求由三部分组成:请求行、请求头和请求正文。请求行包括请求...

    http协议状态码的含义及解决方法

    * 304:未修改。自从上次请求后,请求的内容未修改过。 * 307:临时重定向。服务器目前从不同位置响应请求,但请求者应继续使用原有位置来进行以后的请求。 4xx 客户端错误 * 400:错误的请求。 * 401:访问被拒绝...

    HTTP协议的运作方式

    HTTP协议的运作方式详解 HTTP(Hypertext Transfer Protocol)协议是互联网上应用最为广泛的一种网络协议,用于从Web服务器传输超文本到本地浏览器的传输协议。它是一种基于请求/响应模型的无状态协议,其运作方式...

    计算机网络-基础知识及Http协议

    计算机网络基础知识及Http协议 计算机网络是一种使用公共通信媒体,连接多个计算机和设备的系统,旨在实现资源共享、信息交换和通信。计算机网络的基础知识包括网络结构、协议、应用层、运输层、网络层、链路层和...

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

    HTTP 协议状态码详解 HTTP 协议状态码是一种三位数字代码,用于表示 Web 服务器对客户端HTTP 请求的响应状态。这些状态码可以分为五个类别:信息响应(100-199)、成功响应(200-299)、重定向(300-399)、客户端...

    http协议计算机网络实验报告

    实验报告主要围绕着HTTP协议和Wireshark抓包软件的使用进行,目的是深入理解HTTP协议的基本交互机制,包括GET请求和响应的过程,以及HTTP报文的格式。在实验过程中,通过Wireshark来捕获和分析网络数据包,观察HTTP...

    HTTP协议头字段及分析

    ### HTTP协议头字段及分析 #### 一、概述 HTTP(HyperText Transfer Protocol)作为互联网上应用最为广泛的一种网络协议,主要用于规定客户端与服务器之间如何通信。它是一种基于请求与响应模型的应用层协议,用于...

    Web应用安全:HTTP协议回应报文文本.docx

    HTTP协议是Web应用的基础,用于在客户端(浏览器)和服务器之间传输超文本。其特点是无连接、媒体独立和无状态,旨在高效地交换数据。HTTP响应报文包括响应行、响应头和响应体三部分,其中响应状态码是关键,它以三...

    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 ...

    2.2_http协议2

    HTTP协议遵循"请求-响应"模式,意味着客户端发起一个请求,服务器根据请求内容返回响应。 HTTP协议使用URL(统一资源定位符)来定位网络资源。URL由协议类型(如http或https)、主机名(合法的域名或IP地址)、可选...

    http协议重要知识.txt

    ### HTTP协议重要知识点详解 #### 一、HTTP协议概述 HTTP(HyperText Transfer Protocol)即超文本传输协议,是互联网上应用最为广泛的一种网络协议,主要用于网页信息的传输。它是一种客户端与服务器之间请求和...

    HTTP协议详解.pdf

    HTTP协议是基于TCP/IP协议的,它规定了客户端如何向服务器发起请求以及服务器如何对请求进行响应的规则。 在访问一个网页时,通常涉及以下过程: 1. 客户端(通常是浏览器)向服务器发送HTTP请求。请求由多个部分...

    dome2_HTTP协议_

    在HTTP协议中,状态码是服务器向客户端传达请求处理结果的重要方式。以下是对描述中提到的几个主要HTTP响应代码的详细解释: 1. **200(OK)**:这是最常见的状态码,表示服务器成功处理了客户端的请求。客户端可以...

    Http协议错误码(状态消息).pdf

    HTTP协议是互联网上应用最为广泛的一种网络协议,用于定义客户端和服务器之间通信的数据格式和行为。HTTP协议的状态码是其核心组成部分,它提供了对请求处理结果的反馈,帮助开发者理解和解决可能出现的问题。以下是...

    http协议状态码的含义及解决方法.docx

    * 304:未修改。自从上次请求后,请求的内容未修改过。 * 305:使用代理。 * 306:已弃用。 * 307:临时重定向。服务器目前从不同位置响应请求,但请求者应继续使用原有位置来进行以后的请求。 4. 4xx:客户端错误 ...

Global site tag (gtag.js) - Google Analytics