Http字段含义
转载自:http://blog.csdn.net/sand_ant/article/details/10503579
一、request请求Header简介
Accept:--客户机支持的类型
Accept-Charset:--采用的编码类型
Accept-Encoding:--客户机支持的数据压缩格式
Accept-Language:--客户机语言环境
Host:--想访问的主机名
If-Modified-Since:--资源缓存到客户机的时间
Referer:--跳转来源(跳到此网页所点击的连接,主要用于防盗链)
User-Agent:--客户机的软件环境(操作系统版本,浏览器版本)
Cookie:--从客户机传数据
Connection:--请求完之后是否关闭连接
Date:--请求时间
Range:--说明只请求服务器资源的一部分 bytes=1000- 表示获取1000字符之后的数据
- //获取请求资源的url
- URL url = new URL("http://localhost:8080/day04_web/test.txt");
- HttpURLConnection con = (HttpURLConnection) url.openConnection();
- //声明只传输6之后的资源
- con.setRequestProperty("Range", "bytes=6-");
- //资源写入文件
- InputStream in = con.getInputStream();
- FileOutputStream fo = new FileOutputStream("D:\\test.txt",true);
- int len =0;
- byte[] buff = new byte[1024];
- while((len=in.read(buff))>0){
- fo.write(buff, 0, len);
- }
- in.close();
- fo.close();
二、response响应Header
状态行:--处理结果,返回状态码
//状态码
100~199 表示请求成功,要求客户机继续提交下一次请求才能完成整个处理过程
200~299 表示请求成功并完成整个处理过程,常用200
300~399 为完成请求,客户机需进一步细化请求,例如请求的资源已经移动到一个新地址,
常用302(请求其他资源,结合location使用)、304(取缓存)、307(取缓存)
400~499 客户端的请求有错误,常见404(不存在),403(无权限)
500~599 服务器端出现错误,常见500
//下面两行代码可以重定向到tt.html中
- response.setStatus(302);
- response.setHeader("location", "tt.html");
Server:--服务器类型
Content-Encoding:--服务器回送数据的压缩格式
Content-Lengtg:--服务器回送数据的长度
- String data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
- System.out.println("===" + data.length());
- // 通过gzip压缩,压缩结果放到 ByteArrayOutputStream
- ByteArrayOutputStream out = new ByteArrayOutputStream();
- GZIPOutputStream gout = new GZIPOutputStream(out);
- gout.write(data.getBytes());
- gout.close();
- byte[] gByte = out.toByteArray();// 压缩后的数据
- System.out.println("==" + gByte.length);
- // 通知浏览器数据压缩格式
- response.setHeader("Content-Encoding", "gzip");
- response.setHeader("Content-Length", "" + gByte.length);
- ServletOutputStream wirte = response.getOutputStream();
- wirte.write(gByte);
Content-Type:--服务器回送数据的类型
- //设置返回数据的类型
- response.setHeader("Content-Type", "image/x-icon");
- InputStream in = this.getServletContext().getResourceAsStream("/baidu.ico");
- ServletOutputStream write = response.getOutputStream();
- int len = 0;
- byte buff[] = new byte[1024];
- while((len = in.read(buff))>0){
- write.write(buff, 0, len);
- }
- in.close();
- write.flush();
- write.close();
Last-Modified:--当前资源的最后缓存时间
Refresh:--告诉浏览器多长时间刷新一次
- //10秒时候跳到百度
- response.setHeader("refresh", "10;url='http://www.baidu.com'");
- String data ="Search !";
- response.getOutputStream().write(data.getBytes());
Content-Disposition:--告诉浏览器以下载方式打开数据(例如:attachment;filename=3.ico)
Transfer-Encoding:--告诉浏览器数据的传送格式
Set-Cookie:--
ETag:--缓存相关的
Expires:--告诉浏览器把会送的资源缓存多长时间(0、-1表示不缓存)
Catch-Control:no-catche --告诉浏览器不要缓存数据
Pragma:no-catch --告诉浏览器不要缓存数据
Http字段含义的更多相关文章
- R语言重要数据集分析研究——R语言数据集的字段含义
R语言数据集的字段含义 作者:马文敏 选择一种数据结构来储存数据 将数据输入或导入到这个数据结构中 数据集的概念 数据集通常是有数据结构的一个矩形数组,行表示规则,列表示变量. 不同的行业对数据集的行 ...
- npm的package.json字段含义中文文档
简介 本文档有所有package.json中必要的配置.它必须是真正的json,而不是js对象. 本文档中描述的很多行为都受npm-config(7)的影响. 默认值 npm会根据包内容设置一些默认值 ...
- Java序列化机制中的类版本问题 serialVersionUID的静态字段 含义
Java序列化机制中的类版本问题 分类: [Java 基础]2014-10-31 21:13 480人阅读 评论(0) 收藏 举报 目录(?)[+] 原文地址:http://yanwu ...
- 屏幕字段结构SCREEN的字段含义
在SAP屏幕中,一个字段就像.NET中的一个控件,这个字段对应一个SCREEN结构,就像控件的多个属性. SE11可以查看SCREEN结构中的字段,只是没有备注. 名称 长度 说明 NAME 屏幕字段 ...
- Android内存管理(5)*官方教程:Logcat内存日志各字段含义,查看当前内存快照,跟踪记录内存分配,用adb查看内存情况时各行列的含义,捕获内存快照的3种方法,如何让程序暴漏内存泄漏的方法
Investigating Your RAM Usage In this document Interpreting Log Messages 内存分析日志中各消息的含 ...
- iOS开发 Xcode中的Info.plist字段含义
Info.plist用于向iOS提供关于app,bundle或者framework的一些重要信息.它指定了比如一个应用应该怎样启动,它如何被本地化,应用的名称,要显示的图标,还有更多.Info.pli ...
- mysql数据库--explain(查询表是否走索引)各个字段含义
1.1 id列 数字越大越先执行,如果说数字一样大,那么就从上往下依次执行,id列为null的就表是这是一个结果集,不需要使用它来进行查询. 1.2 select_type列 常见的有: ◆ simp ...
- Django的Models字段含义
在model中添加字段的格式一般为: field_name = field_type(**field_options) 一 field options(所有字段共用) 1 null 默认为F ...
- 关于v$librarycache的几个字段含义
对v$librarycache中的get,pin和reload的含义: Gets: (Parse) The number of lookups for objects of the namespace ...
- scrapy---setting的字段含义
# -*- coding: utf-8 -*- # Scrapy settings for lizi project # # For simplicity, this file contains on ...
随机推荐
- sqlserver 2008 merger语句
Merge关键字是一个神奇的DML关键字.它在SQL Server 2008被引入,它能将Insert,Update,Delete简单的并为一句.MSDN对于Merge的解释非常的短小精悍:”根据与源 ...
- 搭建备份到业务迁移---mysql
mysql安装启动以及配置 使用到阿里云主机直接yum安装以及配置 [root@yunwei-169 mysql]# yum install mysql mysql-server [root@yunw ...
- Memory及其controller芯片整体测试方案(下篇)
{ 第三部分 } DDR总线的设计.调试和验证 在计算机架构中,DDR作为程序运算的动态存储器,面对如高性能计算.图形计算.移动计算.工业应用等领域的要求,发展出DDR4,以及用于图形计算的G ...
- JS中通过数组的方式操作字符串 数组是个好东西 ....
题目:使用JS将 var str="what are you nong sha lei",通过您的方法转换为"What Are You Nong Sha Lei" ...
- gcc与g++区别以及相关参数详解
---恢复内容开始--- 原文链接:g++和gcc的区别 一 .二者区别 gcc和g++都是GNU(一个组织)的编译器. 1.对于.c后缀的文件,gcc把它当做是C程序:g++当做是C++程序: 2. ...
- ASP.NET MVC中controller和view相互传值的方式
ASP.NET MVC中Controller向view传值的方式: ViewBag.ViewData.TempData 单个值的传递 Json 匿名类型 ExpandoObject Cookie Vi ...
- noauth authentication required redis
解决方案: 这是出现了认证的问题,是因为设置了认证密码. 127.0.0.1:6379> auth "yourpassword" 例如:
- ASP.NET 使用MVC4的EF5 Code First 入门(一):创建数据库
一.基本流程 建立模型→建立控制器→EF框架自动生成视图的数据库 二.基本理论 1.约定优于配置(Convention Over Configuration) 设计不好的框架通常需要多个配置文件,每一 ...
- linux系统中如何进入退出vim编辑器的方法及区别
在linux家族中,vim编辑器是系统自带的文本编辑器,其功能强大自不必说了. 偶有小白,刚接触linux,要修改某个文本文件,不可能像WINDOWS那样操作,更有甚者,进入VI编辑器后,无法退出以致 ...
- WebKit 源码分析 -- loader
原文地址: http://peirenlei.iteye.com/blog/1718569 摘要:本文介绍 WebCore 中 Loader 模块是如何加载资源的,分主资源和派生资源分析 loader ...