文档章节

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
博文 11
码字总数 3174
作品 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
常见C/C++ XML解析器比较

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

moki_oschina
2015/12/09
74
0
nginx源码分析——配置

配置介绍 nginx的配置由一个主配置文件和其他一些辅助的配置文件构成。这些配置文件均是纯文本文件,这些配置文件全部位于nginx安装目录下的conf目录中。 主配置文件nginx.conf中的内容大概是...

hncscwc
2016/06/13
194
0

没有更多内容

加载失败,请刷新页面

加载更多

创建第一个react项目

sudo npm i -g create-react-app@1.5.2 create-react-app react-app cd react-apprm -rf package-lock.jsonrm -rf node_modules #主要是为了避免报错npm installnpm start......

lilugirl
今天
3
0
在浏览器中进行深度学习:TensorFlow.js (八)生成对抗网络 (GAN)

Generative Adversarial Network 是深度学习中非常有趣的一种方法。GAN最早源自Ian Goodfellow的这篇论文。LeCun对GAN给出了极高的评价: “There are many interesting recent development...

naughty
今天
0
0
搬瓦工镜像站bwh1.net被DNS污染,国内打不开搬瓦工官网

今天下午(2018年10月17日),继搬瓦工主域名bandwagonhost.com被污染后,这个国内的镜像地址bwh1.net也被墙了。那么目前应该怎么访问搬瓦工官网呢? 消息来源:搬瓦工优惠网->搬瓦工镜像站b...

flyzy2005
今天
7
0
SpringBoot自动配置

本篇介绍下,如何通过springboot的自动配置,将公司项目内的依赖jar,不需要扫描路径,依赖jar的情况下,就能将jar内配置了@configuration注解的类,创建到IOC里面 介绍下开发环境 JDK版本1.8 spr...

贺小五
今天
5
0
命令行新建Maven多项目

参考地址 # DgroupId 可以理解为包名# DartifactId 可以理解为项目名mvn archetype:generate -DgroupId=cn.modfun -DartifactId=scaffold -DarchetypeArtifactId=maven-archetype-quickst......

阿白
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部