文档章节

HTTP解析

Gary_mz
 Gary_mz
发布于 2017/09/02 17:22
字数 989
阅读 11
收藏 0

常见的Http请求头和响应头

  请求头

请求头                       说 明          
Accept-Charset 用于指定客户端接受的字符集
Accept-Encoding 用于指定可接受的内容编码,如Accept-Encoding:gzip.deflate
Accept-Language 用于指定一种自然语言,如Accept-Language:zh-cn
Host 用于指定被请求资源的Internet主机和端口号,如Host:www.baidu.com
User-Agent 客户端将它的操作系统、浏览器和其他属性告诉服务器
Connection 当前连接是否保持,如Connection:Keep-Alive

响应头

响应头 说   明
Server 使用的服务器名称,如Server:Apache/1.3.6(Unix)
Content-Type 用来指定发送给接收者的实体正文的媒体类型,如
Content-Encoding 与请求报头Accept-Encoding对应,告诉浏览器服务端采用的是什么压缩编码
Content-Language 描述了资源所用的自然语言,与Accept-Language对应
Content-Length 指明实体正文的长度,用以字节方式存储的十进制数字来表示
Keep-Alive 保持连接的实践,如Keep-Alive:timeout=5,max=120

常见的Http状态码

状态码 说  明
200 客户端请求成功
302 临时跳转,跳转地址通过Location指定
400 客户端请求又语法错误,不能被服务器识别
403 服务器收到请求,但是拒绝服务
404 请求资源不存在
500 服务器发生不可预期的错误




部分配置项

  1. Cache-Control/Program

这个Http Head字段用于指定所有缓存机制在整个请求/响应链中必须服从的指令,如果知道该页面是否为缓存,不仅可以控制浏览器,还可以控制和Http相关的缓存或代理服务器。HTTP Head字段有一些可选值,这些值及其说明

HTTP Head 字段的可选值
可选值  说明
Public 所有内容都将被缓存,在响应头中设置
private 内容只缓存到私有缓存中,在响应头中设置
no-cache 所有内容都不会被缓存,在请求头和响应头中设置
no-store 所有内容都不会被缓存到缓存或Internet临时文件中,在响应头中设置
must-revalidation/proxy-revalidation 如果缓存的内容失效,请求必须发送到服务器/代理以进行重新验证,在请求头中设置
max-age=xxx 缓存的内容将在xxx秒后失效,这个选项只在HTTP1.1中可用,和Last-Modified一起使用时优先级较高,在响应头中设置

        Cache-Control请求字段被各个浏览器支持得较好,而且它的优先级也比较高,它和其他一些请求字段(如Expires)同时出现时,Cache-Control会覆盖其他字段。

        Pragma字段的作用和Cache-Control有点类似,它也是在Http头中包含一个特殊的指令,使相关的服务器遵守该指令,最常用得就是Pragma:no-cache,它和Cache-Control:no-cache得作用是一样的。

2.Expires

Expires通常的使用格式Expires:Sat,25 Feb 2012 12:22:17 GMT,后面跟着一个日期和时间,超过这个时间值后,缓存的内容将失效,也就是浏览器在发生请求之前检查这个页面的这个字段,看该页面是否已经过期了,过期了就重新向服务器发起请求。

3.Last-Modified/Etag

Last-Modified字段一般用于表示一个服务器上的资源的最后修改时间,静态资源(自动加上Last-Modified字段)或者动态(Servlet提供一个getLastModified方法用于检查某个动态内容是否更新),通过这个最后修改时间可以判断当前请求的资源是否是最新的。

一般情况下响应头中返回一个Last-Modified字段,浏览器再次请求时请求头中增加一个If-Modified-Since,询问服务器是否最新,若是返回304。

4.Etag

作用跟Last-Modified相似,为每个资源页面分配一个唯一编号。但后台处理繁琐

 

 

 

 

   

 

 

 

© 著作权归作者所有

共有 人打赏支持
Gary_mz
粉丝 0
博文 14
码字总数 4482
作品 0
东城
私信 提问
目前国内主流视频网站视频解析接口(支持VIP)

通用接口(高清) 解析地址 最稳定(超清) http://www.iwkan.cn/jx2/?url= 影视站点 http://www.iwkan.cn 通用解析 http://api.mp4la.net/?url= 通用解析 http://v.72du.com/api/?url= 通用...

唐瀚林
08/09
0
0
在线VIP视频免费观看, 嘘这个方法我只告诉你!

今天又来一个非常简单的方法,顺便把音乐、博客视频、今日头条、西瓜视频、抖音、快手、火山、微博等视频的一并说了,且用且珍惜! 其实有时候很纠结,到底要不要分享,因为一旦知道的人一多...

一个敲代码的前端妹子
06/30
0
0
Spring 源码解读 推荐流程

Spring源代码解析(一):IOC容器:http://www.javaeye.com/topic/86339 Spring源代码解析(二):IoC容器在Web容器中的启动:http://www.javaeye.com/topic/86594 Spring源代码解析(三):Sprin...

2k10
2015/04/02
0
0
Ubuntu14.04 更新源错误

Ubuntu14.04 更新源出现错误: /etc/apt/sources.list文件内容: deb http://mirrors.163.com/ubuntu/ lucid main universe restricted multiverse deb-src http://mirrors.163.com/ubuntu/ ......

蜡笔小小小新
2016/04/24
1K
3
常见C/C++ XML解析器比较

常见C/C++ XML解析器有tinyxml、XERCES、squashxml、xmlite、pugxml、libxml等等,这些解析器有些是支持多语言的,有些只是单纯C/C++的。如果你是第一次接触到XML解析,那么关于XML解析器的选...

moki_oschina
2015/12/09
74
0

没有更多内容

加载失败,请刷新页面

加载更多

我的Linux系统九阴真经

我的Linux系统九阴真经 在今天,互联网的迅猛发展,科技技术也日新月异,各种编程技术也如雨后春笋一样,冒出尖来了。各种创业公司也百花齐放百家争鸣,特别是针对服务行业,新型互联网服务行...

linuxCool
30分钟前
5
0
Python程序员需要知道的30个技巧

1 直接交换两个数字位置 1x, y = 10, 202print(x, y)3x, y = y, x4print(x, y)5#1 (10, 20)6#2 (20, 10) 2 比较运算符的链接 1n = 102result = 1 < n < 203print(result)4# True5result = 1 ......

糖宝lsh
31分钟前
2
0
[LintCode] Linked List Cycle(带环链表)

描述 给定一个链表,判断它是否有环。 样例 给出 -21->10->4->5, tail connects to node index 1,返回 true。 这里解释下,题目的意思,在英文原题中,tail connects to node index 1 表示的...

honeymose
41分钟前
6
0
Android :报错Your project path contains non-ASCII characters.

报错内容如下 Your project path contains non-ASCII characters. This will most likely cause the build to fail on Windows. Please move your project to a different directory. See ht......

lanyu96
52分钟前
6
0
Nginx平滑添加模块

Nginx已经编译安装并运行了一段时间, 然后某一天, 发现需要用到某个模块但当初没有编译, 这个时候怎么办呢? 卸载重新安装肯定可以的, 如果Nginx版本没有变更的话, 则有一个相对平滑的方法来添...

老菜鸟0217
58分钟前
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部