转:http协议学习系列(响应头---Response Headers)

2023-11-15

HTTP最常见的响应头如下所示:


·Allow:服务器支持哪些请求方法(如GET、POST等);


·Content-Encoding:文档的编码(Encode)方法。只有在解码之后才可以得到Content-Type头指定的内容类型。利用gzip压缩文档能够显著地减少HTML文档的下载时间。Java的GZIPOutputStream可以很方便地进行gzip压缩,但只有Unix上的Netscape和Windows上的IE 4、IE 5才支持它。因此,Servlet应该通过查看Accept-Encoding头(即request.getHeader(“Accept-Encoding”))检查浏览器是否支持gzip,为支持gzip的浏览器返回经gzip压缩的HTML页面,为其他浏览器返回普通页面;


·Content-Length:表示内容长度。只有当浏览器使用持久HTTP连接时才需要这个数据。如果你想要利用持久连接的优势,可以把输出文档写入ByteArrayOutputStram,完成后查看其大小,然后把该值放入Content-Length头,最后通过byteArrayStream.writeTo(response.getOutputStream()发送内容;


·Content-Type: 表示后面的文档属于什么MIME类型。Servlet默认为text/plain,但通常需要显式地指定为text/html。由于经常要设置Content-Type,因此HttpServletResponse提供了一个专用的方法setContentTyep。 可在web.xml文件中配置扩展名和MIME类型的对应关系;


·Date:当前的GMT时间。你可以用setDateHeader来设置这个头以避免转换时间格式的麻烦;


·Expires:指明应该在什么时候认为文档已经过期,从而不再缓存它。


·Last-Modified:文档的最后改动时间。客户可以通过If-Modified-Since请求头提供一个日期,该请求将被视为一个条件GET,只有改动时间迟于指定时间的文档才会返回,否则返回一个304(Not Modified)状态。Last-Modified也可用setDateHeader方法来设置;


·Location:表示客户应当到哪里去提取文档。Location通常不是直接设置的,而是通过HttpServletResponse的sendRedirect方法,该方法同时设置状态代码为302;


·Refresh:表示浏览器应该在多少时间之后刷新文档,以秒计。除了刷新当前文档之外,你还可以通过setHeader(“Refresh”, “5; URL=http://host/path”)让浏览器读取指定的页面。注意这种功能通常是通过设置HTML页面HEAD区的实现,这是因为,自动刷新或重定向对于那些不能使用CGI或Servlet的HTML编写者十分重要。但是,对于Servlet来说,直接设置Refresh头更加方便。注意Refresh的意义是“N秒之后刷新本页面或访问指定页面”,而不是“每隔N秒刷新本页面或访问指定页面”。因此,连续刷新要求每次都发送一个Refresh头,而发送204状态代码则可以阻止浏览器继续刷新,不管是使用Refresh头还是<META HTTP-EQUIV=“Refresh” …>。注意Refresh头不属于HTTP 1.1正式规范的一部分,而是一个扩展,但Netscape和IE都支持它。

注:本文转自《http协议学习系列(响应头—Response Headers)》
作者:前端的第五位女王

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

转:http协议学习系列(响应头---Response Headers) 的相关文章

  • Non-Authoritative-Reason 标头字段 [HTTP]

    当我有响应标头时 我很难找出它的含义Non Authoritative Reason HSTS 我搜索了很多 但只是想出了一些关于 HSTS 从 HTTP 重定向到 HTTPS 的解释 有人能帮我吗 顺便说一句 我正在使用 Chrome T
  • 反向代理受 NTLM 保护的网站

    如何将请求代理到受 NTLM 保护的网站 例如团队基金会 and 共享点 我不断得到401 身份验证错误 根据这篇 Microsoft TechNet 文章 https www microsoft com technet prodtechn
  • 对过期会话进行休息调用:HTTP 401 响应导致浏览器显示登录窗口

    我编写了一个 HTML 5 应用程序 它使用 AngularJS 并与在 Tomcat 上运行的 Java REST 后端进行交互 我使用 Spring Security 来处理登录和安全性 当用户进入网站时 他将被转发到登录页面 该页面创
  • PHP 是否有与 Java 的 RequestDispatcher.forward 等效的功能?

    在 Java 中我可以编写一个非常基本的 JSPindex jsp像这样 这样做的效果是用户请求index jsp 或者只是包含目录 假设index jsp是目录的默认文档 将会看到home action没有浏览器重定向 即 forward
  • Golang 优雅地关闭 HTTP 服务器并进行错误处理

    我正在让我的 HTTP 服务器正常关闭 我从帖子中获取了提示here https stackoverflow com questions 39320025 how to stop http listenandserve 并且到目前为止已经像
  • MPMoviePlayerController 播放 YouTube 视频

    如何在 iPhone 上的 MPMoviePlayerController 中播放 YouTube 视频 同时避免进入全屏模式 这个问题已经在这里提出 MPMoviePlayerController 正在播放 YouTube 视频吗 htt
  • 如何增加asp classic的请求接受限制

    我从java小程序向asp classic发送post请求 我在此请求中发送非常大的数据 即 csv 数据 当此请求中的字符数增加并超过 138000 时 asp 不接受该请求 java 小程序给出 500 错误 所以有人可以告诉我如何才能
  • 如何使用 Emacs 通过 HTTP 打开远程文件?

    大多数开源软件都通过某些 HTTP 服务公开其代码 我想从 Emacs 打开并浏览此类代码 但 AFAICS trapmp 只允许ssh and ftp 因此 我的第一个问题是如何打开 HTTP URL 以便在 Emacs 中进行读取 然后
  • HttpWebRequest vs Webclient(特殊场景)

    我知道这个问题之前已经回答过thread https stackoverflow com questions 1694388 webclient vs httpwebrequest httpwebresponse 但我似乎找不到详细信息 在
  • Android - API 请求

    我开发了一个应用程序 它也在 iPhone 上 问题出在 api 请求上 我为所有请求设置了超时 有时会出现 30 60 秒的中断 看起来这个应用程序执行了几个请求 然后就中断了 一直超时 大约 45 秒后一切正常 不知道是服务器问题还是安
  • python 2.7 中的 HTTP 2 请求

    在 python 中向 HTTP 1 和 HTTP 2 发出请求有什么区别吗 我可以像这样在 python 中进行 HTTP 1 x 调用 url http someURL values param1 key param2 key2 dat
  • 404 标头 - HTTP 1.0 还是 1.1?

    为什么我能找到的几乎每个例子 包括这个问题 https stackoverflow com questions 437256 sending a 404 error in php大约一年前 说 404 标头应该是HTTP 1 0 404 N
  • $http.get() 与 JSON 数据

    我正在编写一个服务器应用程序 并希望客户端使用正文中的数据来参数化我的 GET 方法 如下所示 http v GET http localhost 3000 url text 123 foo bar GET url HTTP 1 1 Acc
  • 如何使用 python 的 http.client 准确读取一个响应块?

    Using http client在 Python 3 3 或任何其他内置 python HTTP 客户端库 中 如何一次读取一个分块 HTTP 响应一个 HTTP 块 我正在扩展现有的测试装置 使用 python 编写 http clie
  • 用 C++ 解析 HTTP 标头

    我正在使用curl 与服务器通信 当我发出数据请求时 我收到 HTTP 标头 后跟由边界分隔的 jpeg 数据 如下所示 我需要解析出 边界字符串 内容长度 我已将传入数据复制到 char 数组 如下所示 static size t OnR
  • 使用 WCF 支持“application/x-www-form-urlencoded”发布数据的最佳方式?

    我正在基于 W3C 规范构建 WCF 服务 该规范定义了接受 application x www form urlencoded 发布数据的 RESTful Web 服务端点 默认情况下 WCF 不支持这种类型的消息编码 我发现了许多创建如
  • 注册期间现有电子邮件的 422 或 409 状态代码

    我正在构建 RESTful API 遇到了一种情况 在用户注册期间 如果电子邮件已存在 则在422 and 409哪个http响应代码有意义 我浏览过类似的one https stackoverflow com questions 9269
  • 如何记录进入 IIS 的 HTTP 请求

    我在我的开发机器上运行 IIS 5 我有一个 asp net 3 5 Web 服务在其上运行 我从同一服务器上运行的不同 Web 应用程序调用该服务 我的服务返回错误 500 内部服务器错误 我正在对其进行故障排除 我的请求是通过Syste
  • 以下 Android HTTP 示例/教程 - 为网络活动实现异步任务的问题

    我正在尝试遵循有关发布 HTTP 数据的教程 但是由于 IO 线程上的网络活动 它强制关闭主线程 因此我尝试实现 AsyncTask 正如其他几个有用的 SO 用户所建议的那样 但是我已经屠宰了代码 整个辣酱玉米卷饼的力量就向我逼近了 ht
  • 适用于 Objective-C / iPhone 的良好 HTTP 库? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 UPDATE 这个问题显然已经过时了 参见日期 我建议只使用现代 iOS7 功能 例如 NSURLSession 我想 这个问题是为了历史

随机推荐

  • PPTP协议简述

    http jiaoyu 3158 cn 20121128 n4230270592726 html PPTP Point to Point Tunnel Protocol 点对点隧道协议 是建立在PPP Point to Point 点对点协
  • c#泛型

    参考博文 http www cnblogs com 1175429393wljblog p 5519701 html 泛型类型参数 其是一个占位符 不是一个真正的类型 而更像是一个类型的蓝图 当我们在声明 实例化该类型的变量时 则把T改为指
  • c#中字符串编码方式的转换,附带程序uft8到gb2312的互换

    前面做一个基于sybase的mis系统 由于sybase的后台是cp850编码 而 net平台不支持cp850编码 所以在程序中所有从数据库读出的中文都显示为 于是考虑在 net 平台中转换字符编码 于是查看了 net中字符编码的类Syst
  • error C4996: ‘strcpy‘: This function or variable may be unsafe. Consider using strcpy_s instead.

    Hello everyone 我是鲁班 一个热衷于科研和软开的胖子 出现这个错误时 是因为strcpy函数不安全造成的溢出 解决方法是 找到 项目属性 点击 C 里的 预处理器 对 预处理器 进行编辑 在里面加入一段代码 CRT SECUR
  • Error:Cannot build artifact xxx:war exploded' because it is included into a circular dependency

    Error Cannot build artifact xxx war exploded because it is included into a circular dependency 解决方案 IDEA 项目报错 Error Cann
  • python遍历目录压缩文件夹_干货

    如何遍历查找出某个文件夹内所有的子文件呢 并且找出某个后缀的所有文件 walk功能简介 os walk 方法可以用于在文件目录中进行查找和遍历操作 os walk 方法是一个简单易用的文件 目录遍历器 可以帮助我们高效的处理文件 目录方面的
  • 目标检测:Generalized Focal Loss(NIPS2020)

    Generalized Focal Loss Learning Qualified and Distributed Bounding Boxes for Dense Object Detection CCF A Xiang Li Wenha
  • Linux下查看tomcat占用端口

    1 先查看tomcat的进程号 ps ef grep tomcat 后面带 号 是为了查看多个tomcat进程 例如tomcat6 tomcat7 解释命令 ps 查看当前系统进程状态 可以搭配kill指令随时中断 删除不必要的程序 A 显
  • 高校俱乐部参会成员餐票领取安排及第二届研讨会邀请信

    尊敬的高校俱乐部合作伙伴 您好 感谢您参加移动开发者大会 今天下午电子门票已全部发出 请按照门票信息到国家会议中心签到处进行门票注册 北京周五和周六的天气温和 天气预报显示不会下雨 气温区间20 10摄氏度 需要一件外套 请在入场后到附件地
  • 《我的眼睛--图灵识别》附录

    我的眼睛 图灵识别 附录 1 远程代答 远程代答系统 答的是什么呢 答的便是出来以久的验证图形码 在互联网快速发展的时代 很多应用平台层出不穷 验证图形码的种类也从原来的简单清晰的数字变成了模糊的字母 甚至大小写字母数字组合 还有的是简单的
  • 素数环圈——回溯法

    任务描述 本关任务 把从 1 到 n 这 n 个数摆成一个环 要求相邻的两个数的和是一个素数 测试输入 20 预期输出 围成的圈是 1 2 3 4 7 6 5 8 9 10 13 16 15 14 17 20 11 12 19 18 1 n
  • ubuntu 上装win xp

    如果ubuntu不想用 想换成win xp系统 但ubuntu并非卸就直接装xp了 开机后却无法正常进入xp系统 解决方法 1 先到网上下载MbrFix exe http www linuxidc com upload 2007 11 07
  • 你为什么没有男朋友

    一月 放寒假 买票回家 小A托老乡学长代买 请饭答谢 一来二去 学长遂成男友 一月 放寒假 你自己半夜去车站排队 然后 就没有然后了 二月 同学聚会 小B与当年暧昧的男同学的再续前缘 老同学遂成男友 二月 你在家帮你妈做卫生 然后 就没有然
  • Stream流的常用方法

    目录 一 遍历 1 属性遍历 2 对象遍历 3 遍历设值 二 过滤 1 简单过滤 2 多条件过滤 三 去重 四 统计 五 截取 六 跳过 七 排序 1 普通排序 2 指定排序 八 最值 1 集合确定不为空 2 集合可能为空 九 统计 十 L
  • 织梦DEDECMS EXCEL数据批量导入文章插件 支持自定义模型和字段 2021/09/13更新

    插件介绍 本插件为织梦EXCEL批量导入数据插件 支持tag导入 目前只有UTF版本 GBK版本自行转码 默认只支持普通文章模型 不包括自定义字段 需要另外模型或者添加新字段的可以联系客服收费修改 支持自定义字段和自定义模型 使用前 请先备
  • RabbitMQ交换机(扇出模式、直接模式)学习笔记

    视频地址 什么是交换机 RabbitMQ 消息传递模型的核心思想是 生产者生产的消息从不会直接发送到队列 实际上 通常生产 者甚至都不知道这些消息传递传递到了哪些队列中 情况实际上是这样的 生产者只能将消息发送到交换机 exchange 交
  • centos 安装opencv-python(及其安装错误解决方法)

    pip3 install opencv python 引入模块出错 ImportError libSM so 6 cannot open shared object file No such file or directory Import
  • css 实现背景图片拉伸

    使用css3 属性 background size background size cover 即可实现像桌面壁纸一样拉伸 以下是w3c上面的解释 语法 background size length percentage cover con
  • android反编译-修改别人apk(如何无视R文件,使用新增布局xml drawable等)

    前言 反编译是枯燥无味的 也是危险的 请务必避免包吃包住 17年写的有点乱已经重新排版 1 如果二次打包成APK给其他人使用 本文方案 2 如果只是自己使用或者有耐心的用户听你搞分身或者ROOT的 可以采用XPOSED方案 后续会补上XPO
  • 转:http协议学习系列(响应头---Response Headers)

    HTTP最常见的响应头如下所示 Allow 服务器支持哪些请求方法 如GET POST等 Content Encoding 文档的编码 Encode 方法 只有在解码之后才可以得到Content Type头指定的内容类型 利用gzip压缩文