精华内容
下载资源
问答
  • HTTP响应内容

    千次阅读 2015-09-16 15:35:44
    状态行:用于描述服务器请求处理结果。 状态码:100~199:表示成功接收请求,要求客户端继续提交下一次请求才能完成整个处理过程。  200~299:表示成功接收请求并已完成整个处理过程。常用200  300~399:为...
    HTTP响应
    状态行:用于描述服务器对请求的处理结果。

    状态码:100~199:表示成功接收请求,要求客户端继续提交下一次请求才能完成整个处理过程。
     200~299:表示成功接收请求并已完成整个处理过程。常用200
     300~399:为完成请求,客户需进一步细化请求。例如:请求的资源已经移动一个新地址、常用302(意味着你请求我,我让你去找别人),307和304(我不给你这个资源,自己拿缓存)
     400~499:客户端的请求有错误,常用404(意味着你请求的资源在web服务器中没有)403(服务器拒绝访问,权限不够)
     500~599:服务器端出现错误,常用500
    多个响应头:响应头用于描述服务器的基本信息,以及数据的描述,服务器通过这些数据的描述信息,可以通知客户端如何处理等一会儿它回送的数据。
    Location:这个头配合302状态码使用,用于告诉客户找谁。
    Server:服务器通过这个头告诉浏览器服务器的类型。
    Content-Encoding:服务器通过这个头告诉浏览器数据的压缩格式。
    Content-Length:服务器通过这个头告诉浏览器回送数据的长度
    Content-Type:服务器通过这个头告诉浏览器回送数据的类型
    Last-Modified:告诉浏览器当前资源的最后缓存时间
    Refresh:告诉浏览器隔多久刷新一次
    Content-Disposition:告诉浏览器以下载方式打开数据
    Transfer-Encoding:告诉浏览器数据的传送格式
    ETag:缓存相关的头
    ········三种禁止浏览器缓存的头字段:
     Expires:告诉浏览器把回送的资源缓存多长时间 -1或0则是不缓存
     Cache-Control:no-cache
     Pragma:no-cache
    服务器通过以上两个头,也就是控制浏览器不要缓存数据

    实体内容:代表服务器向客户端回送的数据

    展开全文
  • 服务器工程师工作内容 服务器工程师负责处理系统日常变更,控制突发情况,疑难问题进行分析并解决,以及各类故障和事务应急响应和技术支持。下面是小编整理服务器工程师工作内容。 服务器工程师工作...
  • HTTP缓存解释为何页面...假如这个文件的内容变化不是那么快,一两周更新一次,浏览器每次请求服务器都返回相同文件,岂不是服务器资源一种浪费? 如何解决呢? 浏览器把请求后拿到文件存到本地,等下次请求

    HTTP缓存解释为何页面响应的数据和服务端的不一致

    用途

    HTTP缓存主要用在对一些实时性要求不高的静态文件进行的缓存,往往都是存在浏览器端,防止这些“多余”的请求重复的访问服务器,对服务器造成压力,从而提高网站的性能。

    原理

    现有两端,浏览器和服务器端。

    浏览器向服务器发送请求,获取一个文件f

    服务器就把f给返回浏览器

    假如这个文件的内容变化不是那么快,一两周更新一次,浏览器每次请求服务器都返回相同的文件,岂不是对服务器资源的一种浪费?

    如何解决呢?

    浏览器把请求后拿到的文件存到本地,等下次请求的时候,看看本地是否有缓存文件,如果有,直接拿本地的文件,岂不是就不用请求服务器了?这其实就是http缓存的最最根本的原理。

    浏览器端把请求来的文件缓存到如图下f的小方格内

    等到下次浏览器端再次请求此文件时,就直接从浏览器缓存的文件中拿,而不再向服务器端发起请求了

    以下浏览器截图中标红的部分,就是没有发起请求,直接从浏览器缓存中获取的数据

    两种缓存方式

    浏览器端有了缓存之后,不能一直有效吧,如果文件更新了,我们还继续使用浏览器缓存中的数据,虽说时效性不强,但长期使用旧文件也不算合理吧。

    http协议提供了两种维度来让缓存失效:时间和文件的修改。

    可缓存性

    • public

      客户端和代理服务器都可以缓存,大部分情况可以认为public和private是一样的

    • private

      客户端可以缓存

    • no-cache

      需要使用另外一种http缓存策略来验证缓存数据

    到期

    • max-age= <seconds>

      缓存的内容将在 xxx 秒后失效(时间就是在这儿设置的)

    • s-maxage= <seconds>

    • max-stale= <seconds>

    重新验证

    • must-revalidate

      验证缓存是否到期了

    • proxy-revalidate

      发送一个报头,告诉浏览器当前页面不进行缓存,每次访问的时间必须从服务器上读取最新的数据

    其他

    • no-store

      所有缓存策略都不会进行(这里指的是两种缓存策略都不会进行)

    cache-control 缓存原理

    test.html

    <!DOCTYPE html>
    <html lang="en">
      <head>
        <meta charset="UTF-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>Document</title>
      </head>
      <body>
        <script src="/script.js"></script>
      </body>
    </html>
    

    server.js

    const http = require("http");
    const fs = require("fs");
    
    http
      .createServer(function (request, response) {
        console.log("request come", request.url);
    
        if (request.url === "/") {
          const html = fs.readFileSync("test.html", "utf8");
          response.writeHead(200, {
            "Content-Type": "text/html",
          });
          response.end(html);
        }
    
        if (request.url === "/script.js") {
          response.writeHead(200, {
            "Content-Type": "text/javascript",
            "Cache-Control": "max-age=60",
          });
          response.end("console.log('script loaded  twice')");
        }
      })
      .listen(8888);
    
    console.log("服务器开启了 - 8888");
    

    第一次访问请求,客户端向服务端发起一个文件请求,服务器返回文件并在response中加了响应头"Cache-Control:max-age=60",这样一来,这个f文件只能在浏览器端存60秒

    在这60秒钟,客户端请求服务器的f文件会直接从缓存中拿取

    60秒过后,缓存失效,浏览器再次请求文件需要重新向服务器发起请求。

    注意:假如说请求中包含“Cache-Control:max-age=0”或者“Cache-Control:no-store”无论响应中返回的"max-age"值是多少,都不会缓存到服务器。浏览器中对于地址栏中直接输入文件地址的请求做了优化处理,加上了“Cache-Control:max-age=0”,也就是说,如果这个css、js或者其他静态文件是通过你在浏览器上直接输入获得的,将会每时每刻都是获取最新的。

    通过查看文件的修改来让缓存失效

    这种维度比较的科学:浏览器先请求服务获得文件后,服务器会返回该文件的最后修改时间Last-Modified,作为文件的一个标识,下次浏览器请求的时候,会带着这个标识去请求(此时为If-Modified-Since),然后服务器做校验,如果说时间标识If-Modified-Since等于服务器的文件修改时间,则说明没有修改,返回304状态码,浏览器从缓存中获取文件,但是如果浏览器保存的时间标识If-Modified-Since小于服务器端的文件修改时间,那么,说明文件发生了修改,浏览器就会重新获取新的文件。
    If-Modified-Since的时间如果大于服务器端文件的时间,会被认为是错误的请求)

    如图,浏览器C向服务器发S起请求,服务器返回文件的同时还会返回文件的最后修改时间Last-Modified作为文件时间标识,浏览器会将文件和文件时间标识都缓存起来。

    假如服务器端的文件f并没有被修改,服务器通过判断请求头带的时间标识If-Modified-Since得出结论后,都会返回状态码304告诉浏览器文件没有被修改,让浏览器使用缓存。

    假如服务器端的文件f修改了,那么,浏览器将重新获取文件,并缓存到浏览器中。

    虽然通过文件最后修改时间作为标识已经很完美了,但是,还是可能存在一个问题:就是有可能服务器端的文件修改后,又改回原来的样子,这样,虽然文件最后修改时间变了,但是,文件内容并没有改变。这样还是会有多余的请求到达服务器,该如何处理呢?
    可以将文件内容作为一个唯一标识,例如可以对文件内容取MD5值作为字段(etag)也传给浏览器端,假如这个文件内容没变化,那么MD5值也不会改变。那么,处理流程就变成了这样:服务器端先判断文件修改时间是否发生了变化,如果发生了变化,那么再对比浏览器传来的If-None-Match即浏览器端保留的E-tag值,如果发生了变化,则证明文件修改了,需要浏览器重新下载文件,如果没有,则证明文件内容没变化,返回304状态码。

    如图,浏览器要访问服务器的f文件,服务器S返回了文件最后修改时间Last-Modified和文件的内容标识E-tag,浏览器将这两个字段及其文件缓存了起来

    当文件最后修改时间没变,文件内容也没变的时候,返回304,让浏览器从缓存中拿取文件。

    当文件最后修改时间变了,文件内容没变的时候,返回304,让浏览器从缓存中拿取文件。

    当文件修改时间变了,文件内容也变了的时候,服务器会重新下发新的文件给浏览器。

    此维度让缓存失效牵扯的http字段有点多,我们最后整理一下:
    文件最后修改时间字段:

    • Response:Last-Modified
    • Request:If-Modified-Since

    文件内容标识字段:

    • Response:E-tag
    • Request:If-None-Match

    众里寻他千百度,慕然回首,点关注

    写文章不易,求三连~/

    展开全文
  • 今天晚上开发,继续遇到问题,由于中心站和服务器采用异步通信机制,中心站已经发出消息,不必等待服务器返回而采取相应动作,而是当服务器返回时 自动去判断消息类型采取相应动作。 这里就遇到了...

    今天晚上的开发,继续遇到问题,由于中心站和服务器采用异步通信机制,中心站对已经发出的消息,不必等待服务器的返回而采取相应的动作,而是当服务器返回时 自动去判断消息的类型采取相应的动作。  这里就遇到了问题,由于服务器返回的消息过于简单,不便于中心站根据消息类型采取相应的动作,

    比如

    中心站发出一条注册终端的消息,消息内容为  命令+终端号,然后中心站就去干别的事情了,不必等待服务器返回。

    服务器在成功注册之后返回  命令+Success代表注册成功,这就要求中心站在收到这条消息是能够判断出哪个终端注册成功,此时利用一个事件集数组来实现这部分内容,原理如下:

    在向服务器发送事件消息的时候,同时把此消息加入事件集(一个一维数组代表发出的消息),待中心站收到消息后去查事件集列表,来判断此服务器发来的消息,对应于中心站发出的哪条消息,然后采取行动。 

    展开全文
  • HTTP响应

    2011-10-14 06:42:19
    一个HTTP响应代表服务器向客户端回送数据,包括:一个状态行、若干消息头、以及实体内容 。 状态行  格式: HTTP版本号 状态码 原因叙述(如:HTTP/1.1 200 OK) 状态码:用于表示服务器请求处理结果,...
     
    

    一个HTTP响应代表服务器向客户端回送的数据,包括:一个状态行、若干消息头、以及实体内容 。

    状态行

          格式: HTTP版本号 状态码 原因叙述<CRLF>(如:HTTP/1.1 200 OK)

    状态码:用于表示服务器对请求的处理结果,它是一个三位的十进制数。

    一些状态码的意义:

    100~199表示成功接收请求,要求客户端继续提交下一次请求才能完成整个处理过程

    200~299表示成功接收请求并已完成整个处理过程,常用200

    300~399为完成请求,客户需进一步细化请求。例如,请求的资源已经移动一个新地址,常用302、307和304

    400~499客户端的请求有错误,常用404

    500~599服务器端出现错误,常用 500

    响应头

    Location:服务器通过这个头告诉浏览器去访问哪个页面,这个头通常配合302状态码使用

    Content-Encoding: 服务器通过这个头告诉浏览器,回送的数据采用的压缩格式

    Content-Length:  服务器通过这个头告诉浏览器,回送的数据的大小

    Content-Type: 服务器通过这个头告诉浏览器,回送数据的类型

    Last-Modified: 服务器通过这个头告诉浏览器,资源的最后修改时间

    Refresh:服务器通过这个头告诉浏览器,定时刷新网页

    Content-Disposition: attachment; filename=aaa.zip:服务器通过这个头告诉浏览器,以下载方式打开数据

    ETag: W/"7777-1242234904000":缓存相关的头,为每一个资源配一个唯一的编号

    HTTP请求头字段

    Range头指示服务器只传输一部分Web资源,可以用来实现断点续传功能。

    Range设置要传输的字节范围:

    Range: bytes=1000-2000(传输范围从1000到2000字节)

    Range: bytes=1000-(传输Web资源中第1000个字节以后的所有内容)

    Range bytes=1000(传输最后1000个字节)

    HTTP响应消息头字段

    Accept-Ranges:说明Web服务器是否支持Range。若支持,返回bytes;若不支持,则返回none.

    Content-Range:指定返回的Web资源的字节范围。

    格式为:Content-Range:Range字段(如:Content-Range:1000-3000/5000)

     

    展开全文
  • 进程调度算法包括先来先服务调度算法、最短作业时间优先(抢占式和非抢占式)、最高响应比调度算法4种。(每个人必须做FCFS,然后在后面三种中任选一种,即每个人必须做2种调度算法模拟。) [2]. 衡量算法性能...
  • 1xx(临时响应) 100 请求者应当继续提出请求。服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。 101 请求者已要求服务器切换协议,服务器已确认并准备...服务器返回此响应( GET 或 HEAD 请求的响应
  • web应用防火墙是通过检测客户端和应用服务之间请求和响应内容来实现。所以说,防火墙什么时候能检测,如何检测以及检测什么就变得很重要。检测什么将决定其响应能力,WAF应该能够检测请求/响应对象所有组建,...
  • 最近项目组中接到新需求,要求app访问服务端接口中,需要在报文传输中某个字段进行加密,同时若返回响应中有该字段,则需要加密返回app;为了兼容旧版本app,与客户端同事商议,在新版本中该字段传输格式为:...
  •  3、 负责公司分配开发任务,以及现有公司网站系统更新改进; 4、 负责突发事件快速响应和处理,解决服务器和网站故障; 5、 负责编写网站项目各类技术文档; 6、 负责管理和配置软硬件监控和应急响应...
  • 使用命令把bat创建到了windows服务中然后启动时候报错1053,服务没有及时响应启动或控制请求。是bat文件内容要求
  • 欢迎各位添加微信号:...实际上正式一点企业对于安服的要求是包括了漏洞扫描、安全基线检查、渗透测试、安全加固、日志分析、恶意代码检查、应急响应、安全加固等差不多十个方面的内容的内容多吗?我也觉得多!...
  • 实验要求: 用高级语言实现简单进程调度,通过本实验加深进程调度理解。设计PCB结构,建立进程就绪队列,编制高响应比优先调度算法进程调度算法。实验原理:高响应比优先调度算法则是既考虑了作业等待时间...
  • 响应式极简新闻发布系统是基于ASP ACCESS/MSSQL开发的响应式网站系统,可同时兼容PC端及移动端,也可以通过安装插件来关闭手机端。可以在后台安装大量插件与模板,一键安装实现网站的花样功能与扩展。 响应式极简...
  • 这里收集常见的错误代码,不常见的我就不写了。状态码为:200 - 服务器成功返回网页404...服务器返回此响应( GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置。302 (临时移动) 服务器目前从不同位置的网页响...
  • 关于服务的承诺书.doc

    2020-12-27 09:50:07
    关于服务的承诺书 范文一 致:_________(招标人) 我公司*******************(项目名称)招标文件中有关工期、投标有效期、质量要求、技术标准和要求、招标范围、废标条件、专项承诺和招标人不能接受条件等实质...
  • 公司项目服务的承诺书(一) 致:_________(招标人) 我公司*******************(项目名称)招标文件中有关工期、投标有效期、质量要求、技术标准和要求、招标范围、废标条件、专项承诺和招标人不能接受条件等实质...
  • 公司项目服务的承诺书(一) 致:_________(招标人) 我公司*******************(项目名称)招标文件中有关工期、投标有效期、质量要求、技术标准和要求、招标范围、废标条件、专项承诺和招标人不能接受条件等实质...
  • 运维工作内容是什么?有哪几种分类?下面和千锋广州小编一起来看看吧!...通过监控、日志分析等技术手段,及时发现和响应服务故障,减少服务中断时间,使公司互联网业务符合预期可用性要求,持续稳定地为用
  • 投标售后服务的承诺书 第一篇 致:_________(招标人) 我公司*******************(项目名称)招标文件中有关工期、投标有效期、质量要求、技术标准和要求、招标范围、废标条件、专项承诺和招标人不能接受条件等...
  • 投标人服务承诺书范文 范文一 致:_________(招标人) 我公司*******************(项目名称)招标文件中有关工期、投标有效期、质量要求、技术标准和要求、招标范围、废标条件、专项承诺和招标人不能接受条件...
  • 1.消息类型: - 请求消息 ...网络应用传输服务的需求: 数据丢失/可靠性 某些网络应用能够容忍一定数据丢失:网络电话 某些网络应用要求100%可靠传输: 时间/延迟 有些应用只有在延迟足够低时
  • CDN(内容分发网络)技术原理

    千次阅读 2013-04-12 10:48:32
     Internet高速发展,给人们工作和生活带来了极大便利,Internet的服务品质和访问速度要求越来越高,虽然带宽不断增加,用户数量也在不断增加,受Web服务器负荷和传输距离等因数影响,响应速度慢还是...
  • Apache和Zenus在服务器的响应时间上都非常出色,而且都为客户提供了成熟的高端解决方案,但是不可否认Zenus在SMP方面的优势。选择WEB服务器时,服务器动态脚本语言、API的支持和数据库连接的性能都是非常重要而且...
  •  Internet高速发展,给人们工作和生活带来了极大便利,Internet的服务品质和访问速度要求越来越高,虽然带宽不断增加,用户数量也在不断增加,受Web服务器负荷和传输距离等因数影响,响应速度慢还是...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 465
精华内容 186
关键字:

对服务要求的响应内容