HTTP header 介绍
HTTP(Hyper Text Transfer Protocol)是超文本传输协议的缩写,它用于传送www方式的数据。HTTP协议采用了请求/响应模型。客服端向服务器发送一个请求,请求头包含请求的方法、URI、协议版本、以及包含请求修饰符、客户信息和内容的类似于MIME的消息结构。服务器以一个状态行作为响应,响应的内容包括消息协议的版本,成功或者错误编码加上包含服务器信息、实体元信息以及可能的实体内容。就整个网络资源传输而言,包括message-header和message-body两部分。首先传递的是message-header,即http header消息。http header 消息通常被分为4个部分:general header(通用头),request header(请求头),response header(响应头),entity header(实体头)。但是这种分法感觉界限不太明确。根据维基百科对http header内容的组织形式,大体分为Request和Response两部分。
Requests部分
Accept:指定客户端能够接收的内容类型,示例:Accept:text/plain,text/html
Accept-Charset:浏览器可以接受的字符编码集。示例:Accept-Charset:iso-8859-5
Accept-Encoding:指定浏览器可以支持的web服务器返回内容的压缩编码类型。Accept-Encoding:compress,gzip
Accept-Language:浏览器可以接受的语言。示例:Accept-Language:en,zh
Accept-Ranges:可以请求实体的一个或多个子范围。示例:Accept-Ranges:bytes
Authorization:HTTP授权的授权证书。示例:Authorization:Basic QWxhZGRpbjpvcGVulHNic2FtZQ==
Cache-control:指定请求和响应遵循的缓存机制。示例:Cache-Control:no-cache
Connection:表示是否需要持久连接。(HTTP1.1默认进行持久连接)。示例:Connection:clolse
Cookie:HTTP请求发送时,会把保存在该请求域名下的所有cookie值一起发送给web服务器。示例:Cookie:$Version=1;Skin=new;
Content-Length:请求的内容长度。示例:Content-Length:348
Content-Type:请求的与实体对应的MIME信息。示例:Content-Type:application/x-www-form-urlencoded
Date:请求发送的日期和时间。示例:Date:Tue,15 Nov 2010 08:12:31 GMT
Expect:请求的特定的服务器行为。示例:Expect:100-continue
From:发出请求的用户的Email。示例:From:user@email.com
Host:指定请求的服务器的域名和端口号。示例:Host:www.zcmhi.com
If-Match:只有请求内容与实体相匹配才有效。示例:If-Match:"737060cd8c284d8af7ad3082f209582d"
If-Modified-Since:如果请求的部分在指定时间之后被修改则请求成功,未被修改则返回304代码。示例:If-Modified-Since:Sat,29 Oct 2010 19:43:31 GMT
If-None-Match:如果内容未改变返回304代码,参数为服务器先前发送的Etag,与服务器回应的Etag比较判断是否改变。示例:If-None-Match:"737060cd8c284d8af7ad3082f209582d"
If-Range:如果实体未改变,服务器发送客服端丢失的部分,否则发送整个实体。参数也为Etag。示例:If-Range:"737060cd8c284d8af7ad3082f209582d"
If-Unmodified-Since:只在实体在指定时间之后未被修改才请求成功。示例:If-Unmodified-Since:Sat,29 Oct 2010 19:43:31 GMT
Max-Forwards:限制信息通过代理和网关传送的时间。示例:Max-Forwards:10
Pragma:用来包含实现特定的指令。示例:Pragma:no-cache
Proxy-Authorization:连接到代理的授权证书。示例:Proxy-Authorization:Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Range:之请求实体的一部分,指定范围。示例:Range:bytes=500-999
Referer:发出请求的页面的URI,即来路。示例:Referer:http://www.zcmhi.com/archives/71.html
TE:客服端愿意接受的传输编码,并通知服务器接受接收尾加头信息。示例:TE:trailers,deflate;q=0.5
Upgrade:向服务器指定某种传输协议以便服务器进行转换(如果支持)。示例:Upgrade:HTTP/2.0,SHTTP/1.3,IRC/6.9,RTA/x11
User-Agent:User-Agent的内容包含发出请求的用户信息,浏览器的用户代理字符串。示例:User-Agent:Mozilla/5.0(Linux;X11)
Via:通知中间网关或代理服务器地址,通信协议。示例:Via:1.0 fred, 1.1 nowhere.com (Apache/1.1)
Warning:关于消息实体的警告信息。示例:Warn:199 Miscellaneous warning
Responses部分
Accept-Ranges:表明服务器是否支持指定范围请求及哪种类型的分段请求。示例:Accept-Ranges: bytes
HTTP header 介绍的更多相关文章
- HTTP header 介绍 转载
这篇文章为大家介绍了HTTP头部信息,中英文对比分析,还是比较全面的,若大家在使用过程中遇到不了解的,可以适当参考下 HTTP 头部解释 1. Accept:告诉WEB服务器自己接受什么介质类型,*/ ...
- Ext js Grid
Ext.onReady(function () { var proxy = new Ext.data.HttpProxy({ ur ...
- Html5与Css3知识点拾遗(二)
页面title 选择能简要概括文档内容的文字作为title文字,title核心内容放在前60个字符 分级标题 1.创建分级标题时,避免跳过级别,如h3直接跳到h5,但允许从低级别跳到高级别. 2.不用 ...
- HTTP抓包实战
HTTP:超文本传输协议 允许将HTTP文档从Web服务器传送到客户端的浏览器.HTTP请求报文分为3部分.第一部分叫做起始行(Request line).第二部分叫首部(Request Header ...
- 文件下载及header方法介绍
文件下载: 文件下载是浏览器一个功能,我们用php,把一个文件转化成浏览器无法解析的文件,浏览器就会认为,他是下载文件或无效文件. 主要依靠:header() 函数: header() 方法用于客户端 ...
- header请求头信息详细介绍
https://www.byvoid.com/zhs/blog/http-keep-alive-header HTTP协议头部与Keep-Alive模式详解 1.什么是Keep-Alive模式? 我们 ...
- 快乐学习 Ionic Framework+PhoneGap 手册1-2{介绍Header,Content,Footer的使用}
*先运行第一个简单的APP,介绍Header,Content,Footer的使用 {2.1}运行一个简单的APP,效果如下 {2.2}Header代码 <ion-header-bar class ...
- h5中的结构元素header、nav、article、aside、section、footer介绍
结构元素不具有任何样式,只是使页面元素的的语义更加明确. header元素 header元素是一种具有引导和导航作用的的结构元素,该元素可以包含所有通常放在页面头部的内容.header元素通常用来放置 ...
- scrapy架构与目录介绍、scrapy解析数据、配置相关、全站爬取cnblogs数据、存储数据、爬虫中间件、加代理、加header、集成selenium
今日内容概要 scrapy架构和目录介绍 scrapy解析数据 setting中相关配置 全站爬取cnblgos文章 存储数据 爬虫中间件和下载中间件 加代理,加header,集成selenium 内 ...
随机推荐
- android之【本地通知Notification】
public class NotificationTest extends Activity { static final int NOTIFICATION_ID = 0x1123; @Overrid ...
- 【高德地图API】从零开始学高德JS API(二)地图控件与插件——测距、圆形编辑器、鼠标工具、地图类型切换、鹰眼鱼骨
原文:[高德地图API]从零开始学高德JS API(二)地图控件与插件——测距.圆形编辑器.鼠标工具.地图类型切换.鹰眼鱼骨 摘要:无论是控件还是插件,都是在一级API接口的基础上,进行二次开发,封装 ...
- JS开发调试
开发调试工具 页面制作之开发调试工具(1) 开发工具介绍 开发工具一般分为两种类型:文本编辑器和集成开发环境(IDE) 常用的文本编辑器:Sublime Text.Notepad++.EditPl ...
- 如何快速正确的安装 Ruby, Rails 运行环境
如何快速正确的安装 Ruby, Rails 运行环境 https://ruby-china.org/wiki/install_ruby_guide 对于新入门的开发者,如何安装 Ruby, Ruby ...
- php exit、return、break、continue之间的差别,具体介绍
相信大家在php开发中有几个经常使用的停止程序和循环的keyword的误区( exit.return.break.continue) exit 退出全部脚本,是个函数 return 语言结构的使用方法 ...
- Hadoop与HBase中遇到的问题(续)java.io.IOException: Non-increasing Bloom keys异常
在使用Bulkload向HBase导入数据中, 自己编写Map与使用KeyValueSortReducer生成HFile时, 出现了以下的异常: java.io.IOException: Non-in ...
- 使用gson和httpclient呼叫微信公众平台API
吐槽:微信api很无语.有一部分xml.有一部分json. 最近看如何调用微信公众平台json有关api更方便.终于找到了httpcliect和gson对. 假设你有一个更好的办法,请告诉我. 了解如 ...
- Linux 下 简单客户端服务器通讯模型(TCP)
原文:Linux 下 简单客户端服务器通讯模型(TCP) 服务器端:server.c #include<stdio.h> #include<stdlib.h> #include ...
- 实现一个简单的Unity3D三皮卡——3D Picking (1)
3D Picking 其原理是从摄像机位置到空间发射的射线.基于光线碰到物体回暖. 这里我们使用了触摸屏拿起触摸,鼠标选择相同的原理,仅仅是可选API不同. 从unity3D官网Manual里找到下面 ...
- JDK-windows7环境变量配置-亲测版本 以及HelloWorld
1.下载并安装jdk,假设安装1.6.0_45版本到C:\Program Files\Java,则安装完毕后,目录结构为: C:\PROGRAM FILES\JAVA├─jdk1.6.0_45│ ├─ ...