常见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. RSYNC部署

    1 rsync简介 1.1 什么是rsync rsync: - a fast, versatile, remote (and local) file-copying toolrsync:是一种快速,多 ...

  2. 计算机组成原理第五章(中央处理器CPU)

    ---恢复内容开始--- 指令周期(取指令.分析指令到执行完该指令所需的全部时间) 机器周期通常又称CPU周期 通常把一条指令周期分成若干个机器周期,每个机器周期完成一个基本操作 以主存的工作周期(存 ...

  3. 详细记录登录过程的用户、IP地址、shell命令以及详细操作时间

    将下面的代码添加到/etc/profile #history USER_IP=`>/dev/null|awk '{print $NF}'|sed -e 's/[()]//g'` HISTDIR= ...

  4. python 3.5学习笔记(第五章)

    本章内容 1.什么是模块 2.模块的导入方法 3.搜索路径 4.重要标准库 一.什么是模块 1.模块本质上是一个以.py 结尾的python文件,包含了python对象定义和python语句. 2.模 ...

  5. c++小游戏——职业战争

    #include<iostream> #include<cstdlib> #include<ctime> #include<cstring> #incl ...

  6. canvas制作表单验证码

    canvas是个非常强大的组件,网页上的验证码一般都是用服务器语言制作出来的 canvas同样是可以实现这个功能的 下面请观看效果图: 步骤呢其实也很简单 HTML部分: <form actio ...

  7. Git更改提交

    提交记录我们的工作历史记录,提交自身是一成不变的.Git提供了几个工具和命令,抓门用来帮助修改完善版本库中的提交. 实际工作中存在很多情况需要我们去修改或返工某个提交或者整个提交序列: 1,可以在某个 ...

  8. 学习git使用网址

    如何将本地项目上传到Github (随梦飞翔) https://www.cnblogs.com/smfx1314/p/8426115.html git学习 GUI https://blog.csdn. ...

  9. Django自带的后台管理系统

    1.准备工作: 1-1.创建django项目和应用 1-2.修改settings.py配置文件: #应用配置: INSTALLED_APPS = [ 'django.contrib.admin', ' ...

  10. 开发者福音!面向Web场景的云开发服务正式开放!

    导 语 继支持小程序开发之后,云开发也支持Web使用啦!开发者们可以使用云开发提供的云端能力,直接开发网站应用,如PC端网页.公众号中的网页等.由此开发者可以在网站应用中借助云函数实现业务逻辑,通过与 ...