常见http请求报文头属性
     Accept:告诉服务端,客户端接受什么类型的响应,例如:
          Accept:text/plan      表示纯文本
          Accept的值可以是一个或多个midia type
             midia type介绍:  https://en.wikipedia.org/wiki/Media_type
          
     cookie:客户端的cookie通过这个报文头属性传递给服务端。
          cookie中有一个sessionid类似的属性,将cookie于session绑定起来。
     
     referer:表示这个请求是从哪个url过来的。
     
     cache-control:对缓存进行控制。
          如下:Ca-Control:no-cache      不要在客户端缓存
          如果没有选择no-cache,Cache-Control有两种选择:
               max-age>0     直接从浏览器缓存读取
               Max-age<=0   向服务器发送http请求,根据请求头判断该资源是否有修改,有的话返回200,无返回304
     
 
常见响应状态码:
     200:请求成功
     303:See Other      redirect到其他页面
     304:Not  Modified  
          如果返回状态码304,表示这是个条件请求。请求头中有两个参数:if-Modified-Since和if-None-Match。
          当浏览器中缓存了目标资源但不确定该资源是否是最新版本时候,会发送一个条件请求。包含请求头if-Modified-Since,他的值是服务器上次
     返回的响应头中的Last-Modified值,还会提供一个if-None-Match请求头,值为服务器上次返回的ETag响应头的值。服务器会校验这两个请求头
     的值,判断客户端缓存的值是否是最新的。
     500 :Internal Server Error
          服务器错误,去改bug吧
 
常见Http响应报文头属性:
     cache-control:告诉客户端对缓存该如何控制控制。
          如下:max-age=3600   告诉客户端缓存3600秒,也就是在3600秒内,客户端再次访问会直接从缓存中读取。
     
     ETag:一个响应服务端资源版本的报文头属性,如果服务端资源改变了,这个ETag会相应发生变化。是Cache-Control的有益补充。
 
     Location:我们在jsp中如果想让页面Redirect到A页面中,其实是让客户端再发一个请求到A页面,这个需要Redirect到A页面的URL,就是通过响
应报文头的Location属性告知客户端的。
 
          

Java学习|HTTP请求头的更多相关文章

  1. java通过浏览器请求头(User-Agent)获取访问者设备信息以及系统版本

    个人博客 地址:http://www.wenhaofan.com/article/20181125220342 在开发AutuBlog项目时需要做后台的登录记录,想起浏览器的User-Agent,于是 ...

  2. java http 伪造请求头

    import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import ...

  3. 一个java的http请求的封装工具类

    java实现http请求的方法常用有两种,一种则是通过java自带的标准类HttpURLConnection去实现,另一种是通过apache的httpclient去实现.本文用httpclient去实 ...

  4. Android Http请求头与响应头的学习

    本节引言: 上节中我们对Android涉及的网络编程进行了了解,也学习了下Http的基本概念,而本节我们 要学习的是Http的请求头与响应头,当然,可以把也可以把这节看作文档,用到的时候来查查 即可! ...

  5. Java学习心得之 HttpClient的GET和POST请求

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Java学习心得之 HttpClient的GET和POST请求 1. 前言2. GET请求3 ...

  6. HTTP协议简介详解 HTTP协议发展 原理 请求方法 响应状态码 请求头 请求首部 java模拟浏览器客户端服务端

    协议简介 协议,自然语言里面就是契约,也是双方或者多方经过协商达成的一致意见; 契约也即类似于合同,自然有甲方123...,乙方123...,哪些能做,哪些不能做; 通信协议,也即是双方通过网络通信必 ...

  7. java学习-get和post请求

    摘要 看完本文可以知道,使用java原生编写get/post请求的步骤,进行网络请求时应该注意的地方. 这里使用java自带的HttpUrlConnection对象进行网络请求, 请求步骤大致分为五步 ...

  8. java 修改HttpServletRequest的参数或请求头

    场景:过滤器中获取参数Token并添加到请求头(用户认证兼容老系统) 请求头和请求参数是不能直接修改,也没有提供修改的方法,但是可以在过滤器和拦截器中使用HttpServletRequestWrapp ...

  9. JAVA携带参数(带有请求参数,请求头参数)直接发送POST请求

    <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpcl ...

随机推荐

  1. 『开发技术』Docker开发教程(一)安装与测试(Windows 家庭版)

    0.前言 针对其他系统和版本,Docker都很容易安装,可以参考官方教程:https://docs.docker.com/docker-hub/ 由于Windows10家庭版无法安装docker,因此 ...

  2. ecshop面包屑修改

    找到includes 找到lib_main.php 大约163样左右 /* 处理有分类的 */这段代码下面的一行修改成的对应的自己网站的分类,类似这样: 注释掉180行到194行左右,然后添加自己的分 ...

  3. springboot不加载mapper文件问题解析

    1. 场景描述 启动的时候报"springboot available: expected at least 1 bean which qualifies as autowire candi ...

  4. JS代码实现复制功能

    本人没什么基础看了好久百度,不知道为什么在百度上问一个js实现copy功能会多出那么多代码出来,感觉废话一堆效果还没能达到需要复制 的效果. 然而在我看来,js复制代码 无非就那么几句罢了.原生cop ...

  5. Java文本类型输入与输出

    import java.io.*; import java.time.LocalDate; import java.util.Scanner; public class Test { public s ...

  6. MyBatis 多数据库支持

    From<MyBatis从入门到精通> <!-- 4.6 多数据库支持 简单的看了一下,没有深入研究~~~ -->

  7. 分享基于EF6、Unitwork、Autofac的Repository模式设计

    目录 分享基于EF6.Unitwork.Autofac的Repository模式设计 一.实现的思路和结构图 二.Repository设计具体的实现代码 三.Repository设计的具体的使用 四. ...

  8. SpringBoot快速入门01--环境搭建

    SpringBoot快速入门--环境搭建 1.创建web工程 1.1 创建新的工程. 1.2  选择maven工程,点击下一步. 1.3 填写groupid(maven的项目名称)和artifacti ...

  9. MediatR-进程内的消息通信框架

    MediatR是一款进程内的消息订阅.发布框架,提供了Send方法用于发布到单个处理程序.Publish方法发布到多个处理程序,使用起来非常方便.目前支持 .NET Framework4.5..NET ...

  10. 开源一个好用的nodejs访问mysql类库

    一.背景问题 自nodejs诞生以来出现了一大批的web框架如express koa2 egg等等,前端可以不再依赖后端可以自己控制服务端的逻辑.原来的后端开发同学的阵地前端如今同样也写的风生水起,撸 ...