前 


最近公众号的推送机制有了新的改动,订阅号内显示的文章不再是按照时间来排序,而是根据用户常读或星标来推送公众号。这种情况下打开订阅号会先看到昨天甚至是前几天的文章,新发送的都在后面,这样一来大家可能会错过我们的精彩文章~所以如果大家觉得这个公众号不错并且对你有帮助的话,请大家点击公众号右上角的“星标”置顶公众号,每天第一时间获取更多优质资源!

HTTP 请求方法

根据 HTTP 标准,HTTP 请求可以使用多种请求方法。

HTTP1.0 定义了三种请求方法:GET, POST 和 HEAD方法。

HTTP1.1 新增了六种请求方法:OPTIONS、PUT、PATCH、DELETE、TRACE 和 CONNECT 方法。

序号 方法 描述
1 GET 请求指定的页面信息,并返回实体主体。
2 HEAD 类似于 GET 请求,只不过返回的响应中没有具体的内容,用于获取报头
3 POST 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST 请求可能会导致新的资源的建立和/或已有资源的修改。
4 PUT 从客户端向服务器传送的数据取代指定的文档的内容。
5 DELETE 请求服务器删除指定的页面。
6 CONNECT HTTP/1.1 协议中预留给能够将连接改为管道方式的代理服务器。
7 OPTIONS 允许客户端查看服务器的性能。
8 TRACE 回显服务器收到的请求,主要用于测试或诊断。
9 PATCH 是对 PUT 方法的补充,用来对已知资源进行局部更新 。

HTTP 响应头信息

HTTP请求头提供了关于请求,响应或者其他的发送实体的信息。

在本章节中我们将具体来介绍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连接时才需要这个数据。如果你想要利用持久连接的优势,可以把输出文档写入 ByteArrayOutputStream,完成后查看其大小,然后把该值放入Content-Length头,最后通过byteArrayStream.writeTo(response.getOutputStream()发送内容。

Content-Type

表示后面的文档属于什么MIME类型。Servlet默认为text/plain,但通常需要显式地指定为text/html。由于经常要设置Content-Type,因此HttpServletResponse提供了一个专用的方法setContentType。

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区的<META HTTP-EQUIV="Refresh" CONTENT="5;URL=http://host/path">实现,这是因为,自动刷新或重定向对于那些不能使用CGI或Servlet的HTML编写者十分重要。但是,对于Servlet来说,直接设置Refresh头更加方便。
注意Refresh的意义是"N秒之后刷新本页面或访问指定页面",而不是"每隔N秒刷新本页面或访问指定页面"。因此,连续刷新要求每次都发送一个Refresh头,而发送204状态代码则可以阻止浏览器继续刷新,不管是使用Refresh头还是<META HTTP-EQUIV="Refresh" ...>。
注意Refresh头不属于HTTP 1.1正式规范的一部分,而是一个扩展,但Netscape和IE都支持它。

Server

服务器名字。Servlet一般不设置这个值,而是由Web服务器自己设置。

Set-Cookie

设置和页面关联的Cookie。Servlet不应使用response.setHeader("Set-Cookie", ...),而是应使用HttpServletResponse提供的专用方法addCookie。参见下文有关Cookie设置的讨论。

WWW-Authenticate

客户应该在Authorization头中提供什么类型的授权信息?在包含401(Unauthorized)状态行的应答中这个头是必需的。例如,response.setHeader("WWW-Authenticate", "BASIC realm=\"executives\"")。
注意Servlet一般不进行这方面的处理,而是让Web服务器的专门机制来控制受密码保护页面的访问(例如.htaccess)。

兄弟萌,“在看+打卡”冲啊~

END

获取方式

扫码关注公众号

【软件分享猫

http response 返回 没有内容_HTTP 教程2相关推荐

  1. python Flask框架如何请求及返回数据——flask详细教程

    python Flask框架如何请求及返回数据--flask详细教程 文章目录: 1 Flask介绍 1.1 Flask简单介绍 1.2 Flask相关资料信息 2 Flask快速入门 2.1 Fla ...

  2. pythonresponse对象的属性_Scrapy中response属性以及内容提取

    Python Python开发 Python语言 Scrapy中response属性以及内容提取 一.属性 url :HTTP响应的url地址,str类型 status:HTTP响应的状态码, int ...

  3. 火影忍者android转ios,火影忍者手游iOS及安卓更新内容拆包教程

    导 读 火影忍者手游iOS及安卓更新内容拆包教程,通过教程大家可以在游戏更新加载文件之后进行查询,提前得知游戏即将更新的一系列内容,下面是详细内容. 安卓 先把下载的安装包(2017_com.tenc ...

  4. java response 输出流_java-springmvc+filter 替换输出流、response、响应内容

    java-springmvc+filter 替换输出流.response.响应内容 一.问题 1.描述:在使用 filter 替换.修改 response 输出内容时常见的错误如下异常提示 getWr ...

  5. struts2:JSON在struts中的应用(JSP页面中将对象转换为JSON字符串提交、JSP页面中获取后台Response返回的JSON对象)...

    JSON主要创建如下两种数据对象: 由JSON格式字符串创建,转换成JavaScript的Object对象: 由JSON格式字符串创建,转换成JavaScript的List或数组链表对象. 更多关于J ...

  6. .net mvc web api 返回 json 内容,过滤值为null的属性

    原文:http://blog.csdn.net/xxj_jing/article/details/49508557 版权声明:本文为博主原创文章,未经博主允许不得转载..net mvc web api ...

  7. java读取txt文件内容 小白教程

    磁盘I/O 典型I/O读写磁盘工作原理如下: tips: DMA:全称叫直接内存存取(Direct Memory Access),是一种允许外围设备(硬件子系统)直接访问系统主内存的机制.基于 DMA ...

  8. response返回封装类

    response返回封装类 ServerResponse public class ServerResponse<T> implements Serializable {private i ...

  9. python input与返回值-Python基础教程之输入输出和运算符

    在我们python中输入输出函数在程序中运用较为广泛,运算符常用于if判断的条件中,今天我来给大家讲解这两项概念. input输入和print输出 input()输入函数 从标准输入设备(一般指键盘) ...

最新文章

  1. ef mysql6.0 5.6_Win10+VS2015+EF6.0+MySQL5.6+MVC环境部署和排错
  2. TickableObjects 和 ITickable
  3. python爬取本地天气信息_用Python写一个爬取中国天气网的终端版天气预报爬虫
  4. python学到什么程度可以做兼职-Python学到什么程度就可以找工作?
  5. MySQL带比较运算符的子查询
  6. 游戏中的AI及实用算法逻辑
  7. JBoss7的启动时间
  8. 浅谈javascript函数劫持
  9. qt +ChartDirector 绘制图表
  10. 【threejs开发随笔】利用shaderMaterial制作草地
  11. 微信公众号跳转微信小程序,自定义微信跳转标签
  12. Error: invalid operands (*UND* and *UND* sections) for `*‘
  13. linux快速切换目录
  14. 支付宝推出信用租房 醉翁之意不在酒?
  15. matlab画s域零极点图,信号与系统的S域分析.ppt
  16. 淘宝四大经典骗局及防骗技巧
  17. 最全的基于c++的serialport.cpp与serialport.h类文件(解析版)
  18. 上位机与下位机交互--让socket不死
  19. OFDMA,LFDMA以及IFDMA的PAPR对比仿真
  20. [转贴] Crystal和Oscillator的区别

热门文章

  1. springcloud mysql库集群_SpringCloud实现分库分表模式下,数据库实时扩容方案
  2. java dom 获得子元素_在JavaScript中删除DOM节点的所有子元素
  3. 倒序查10条数据_餐饮业总营收增量七成由外卖拉动,天眼查数据显示今年我国新增相关企业超10万家...
  4. deny后加to do还是doing_become to do还是doing
  5. python打开文件对话框_python实战演练:如何通过对话框打开文件并对文件进行对比...
  6. php冒泡 插入选择 排序,说说PHP数组的三种排序(冒泡/选择/插入)方法
  7. java泛型dao,泛型DAO模式在JavaWeb开发中的应用_孟晨.pdf
  8. 计算机桌面图标的排列,如何进行桌面图标排列 让你的桌面一秒变酷炫【图文教程】...
  9. spring处理循环依赖时序图_spring5源码系列--循环依赖 之 手写代码模拟spring循环依赖...
  10. tkinter中text属性_python tkinter基本属性详解