| HTTP Header 详解 | |
| --- | --- |
```
HTTP(HyperTextTransferProtocol) 即超文本传输协议,目前网页传输的的通用协议。HTTP协议采用了请求/响应模 型,浏览器或其他客户端发出请求,服务器给与响应。就整个网络资源传输而言,包括message-header和message-body两部分。首先传 递message-header,即http header消息 。http header 消息通常被分为4个部分:general header, request header, response header, entity header。但是这种分法就理解而言,感觉界限不太明确。根据维基百科对http header内容的组织形式,大体分为Request和Response两部分
```
| HTTP General | 通用头部 |
| --- | --- |
```
Request URL: http://www.baidu.com #请求地址
Request Method: GET #请求方法
Status Code: 200 OK #请求的状态码
Remote Address: 127.0.0.1:80 #请求的服务器地址
Referrer Policy: no-referrer-when-downgrade #请求的策略(五种方法)
```
| HTTP Request Headers | 客户端发起的请求头 |
| --- | --- |
```
Accept: text/plain, text/html, text/javascript, application/javascript, application/ecmascript, application/x-ecmascript, */*; q=0.01 #指定客户端能够接收的内容类型
Accept-Language: zh-CN,zh;q=0.9 #客户端接收的语言类型
Accept-Encoding: gzip, deflate #指定浏览器可以支持的web服务器返回内容压缩编码类型
Accept-Charset: iso-8859-5 #浏览器可以接受的字符编码集
Accept-Ranges: bytes #可以请求网页实体的一个或者多个子范围字段
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ== #HTTP授权的授权证书
Cache-Control: no-cache #指定请求和响应遵循的缓存机制
Connection: keep-alive #表示是否需要持久连接。(HTTP 1.1默认进行持久连接),为close时,不持久连接
Host: www.php.cn #指定请求的服务器的域名和端口号
Referer: http://www.php.cn/php-weizijiaocheng-315100.html #先前网页的地址,当前请求网页紧随其后,即来路
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36 #User-Agent的内容包含发出请求的用户信息
Cookie: uuid_tt_dd=10_19034602870-1553823338887-742655; #HTTP请求发送时,会把保存在该请求域名下的所有cookie值一起发送给web服务器
Orgin: https://blog.csdn.net
Content-type: application/x-www-form-urlencoded #请求的与实体对应的MIME信息
Content-length: 388 #请求的内容长度
Date: Tue, 11 Jul 2000 18:23:51 GMT #请求发送的日期和时间
Expect: 100-continue #请求的特定的服务器行为
From: user@email.com #发出请求的用户的Email
If-Modified-Since: Tue, 22 May 2017 18:23:51 GMT #如果请求的部分在指定时间之后被修改则请求成功,未被修改则返回304代码
If-Match: "737060cd8c284d8af7ad3082f209582d" #只有请求内容与实体相匹配才有效
If-None-Match: "737060cd8c284d8af7ad3082f209582d" #如果内容未改变返回304代码,参数为服务器先前发送的Etag,与服务器回应的Etag比较判断是否改变
If-Range: "737060cd8c284d8af7ad3082f209582d" #如果实体未改变,服务器发送客户端丢失的部分,否则发送整个实体。参数也为Etag
If-Unmodified-Since: Sat, 29 Oct 2010 19:43:31 GMT #只在实体在指定时间之后未被修改才请求成功
Max-Forwards: 10 #限制信息通过代理和网关传送的时间
Pragma: no-cache #用来包含实现特定的指令
Proxy-Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ== #连接到代理的授权证书
Range: bytes=500-999 #只请求实体的一部分,指定范围
TE: trailers,deflate;q=0.5 #客户端愿意接受的传输编码,并通知服务器接受接受尾加头信息
Upgrade: HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x11 #向服务器指定某种传输协议以便服务器进行转换(如果支持)
Via: 1.0 fred, 1.1 nowhere.com (Apache/1.1) #通知中间网关或代理服务器地址,通信协议
Warn: 199 Miscellaneous warning #关于消息实体的警告信息
```
| HTTP Response Headers | 响应头 |
| --- | --- |
```
Server: apache tomcat #这是一种基本的测试服务器,大型公司都会有自己测试服务器,服务端的Web服务端名
Location: http://www.baidu.com #用来重定向接收方到非请求URL的位置来完成请求或标识新的资源
Content-Encoding: gzip #web服务器支持的返回内容压缩编码类型
Content-Length: 888 #响应体的长度
Content-Language: zh-cn #响应体的语言
Content-Type: application/json;charset=UTF-8 #返回内容的MIME类型
Content-Disposition: attachment; filename=aaa.zip #服务端要求客户端以下载文件的方式打开该文件
Last_Modified: Mon, 22 May 2017 09:41:91 GMT #服务端对该资源最后修改的时间
Refresh: 1;url=http://www.baidu.com #服务端要求客户端1秒钟后,刷新,然后访问指定的页面路径
Transfer-Encoding: chunked #分块传递数据到客户端
Set-Cookie: SS=Q0=5Lb_nQ; path=/search #服务端发送到客户端的暂存数据
Expires: Thu, 01 Dec 2010 16:00:00 GMT #响应过期的日期和时间
Cache-Control: no-cache #告诉所有的缓存机制是否可以缓存及哪种类型
Pragma: no-cache #包括实现特定的指令,它可应用到响应链上的任何接收方
Connection: close(1.0)/(1.1)Keep-Alive #维护客户端和服务端的连接关系
Date: Mon, 22 May 2017 18:41:07 GMT #原始服务器消息发出的时间
Accept-Ranges: bytes #表明服务器是否支持指定范围请求及哪种类型的分段请求
Age: 12 #从原始服务器到代理缓存形成的估算时间(以秒计,非负)
Allow: GET, HEAD #对某网络资源的有效的请求行为,不允许则返回405
Content-Location: /index.htm #请求资源可替代的备用的另一地址
Content-MD5: Q2hlY2sgSW50ZWdyaXR5IQ== #返回资源的MD5校验值
Content-Range: bytes 21010-47021/47022 #在整个返回体中本部分的字节位置
ETag: “737060cd8c284d8af7ad3082f209582d” #请求变量的实体标签的当前值
Last-Modified: Tue, 15 Nov 2010 12:45:26 GMT #请求资源的最后修改时间
Proxy-Authenticate: Basic #它指出认证方案和可应用到代理的该URL上的参数
Refresh: 5; url=http://www.zcmhi.com/archives/94.html #应用于重定向或一个新的资源被创造,在5秒之后重定向(由网景提出,被大部分浏览器支持)
Retry-After: 120 #如果实体暂时不可取,通知客户端在指定时间之后再次尝试
Server: Apache/1.3.27 (Unix) (Red-Hat/Linux) #web服务器软件名称
UserID=JohnDoe; Max-Age=3600; Version=1 #设置Http
Trailer: Max-Forwards #指出头域在分块传输编码的尾部存在
Transfer-Encoding:chunked #文件传输编码
Vary: * #告诉下游代理是使用缓存响应还是从原始服务器请求
Via: 1.0 fred, 1.1 nowhere.com (Apache/1.1) #告知代理客户端响应是通过哪里发送的
Warning: 199 Miscellaneous warning #警告实体可能存在的问题
WWW-Authenticate: Basic #表明客户端请求实体应该使用的授权方案
```
| HTTP 请求状态码 | |
| --- | --- |
```
HTTP/1.1 #响应采用的协议和版本号
200 OK #请求成功
302 #客户端请求服务端,但服务端没有对应的资源,服务端要客户端再次请求找其它的服务端,即客户端二次请求,重定向(会发送两个请求)
307 #客户端请求服务端,但服务端没有对应的资源,服务端自行再次请求找其它的服务端,即客户端一次请求,转发
304 #客户端请求服务端,此时客户端缓存中有,无需再从服务端下载新的内容,服务端叫客户端自行找缓存,优化
500 #客户端请求的资源,服务端存在,但在执行时出错
```
- LINUX命令
- 用户组和用户管理
- Linux文件共享服务
- Linux服务软件
- 网络管理
- ping不通
- Linux防火墙
- 解压缩
- vim编辑器
- GIT服务器
- GitLab
- 文件和目录命令
- 文件权限
- 文件属性
- 端口管理
- LInux基本命令
- ll
- screen命令
- sh 脚本
- 基本操作
- 磁盘管理
- vmware 磁盘扩容
- 基本目录介绍
- 调整分区
- 查看磁盘大小
- 统计文件大小
- 关机、重启
- 定时任务
- 定时任务排查
- 按秒执行脚本
- 执行php请求
- 环境变量
- 把php加入到环境变量
- 系统时间操作
- 进程管理
- CPU 管理
- TOP命令简介
- ps 命令介绍
- ps使用实例
- 报错管理
- ifconfig 报错
- fuser 报错
- 内存管理
- 查看内存
- PHP
- 函数管理
- Curl请求
- 加密函数
- 闭包函数
- php自定义函数
- 获取字符串首字母生成图片
- 字符串处理
- 隐藏部分字符串
- 字符串编码格式
- GB2312编码
- ASCII码介绍
- 随机生成汉字
- 编码转换函数
- 获取字符串首字母
- 全半角转换
- 字符串加、解密
- 字符串截取
- 数组处理
- 控制抽奖概率
- 二维数组转化为字符串
- 获取数组中最后一个元素
- 数组去重
- 数组排序
- 插件管理
- TCPDF
- PHP扩展
- Redis扩展
- TP5中使用Redis
- redis 服务不能开启
- CURl
- 魔术方法
- 系统函数
- PHP规范
- PSR-4
- 个人规范
- 数据表规范
- 系统常量、变量
- 常量PHP_SAPI与函数php_sapi_name()
- 进制转换
- ThinkPHP
- TP5.0
- 发送邮件
- TP5.1
- 控制器
- composer类库
- 通过json格式实现三级联动
- 查询语法
- model 模型
- PSR规范
- 导入导出
- CSV导出
- 文件目录操作
- 递归创建目录
- 文件大小单位转换
- 微信小程序
- 小程序支付
- 打印输出
- 日志操作
- 数据类型转换
- 数组转XML格式
- XML转数组
- 时间日期
- 计算时间差值的函数
- 计算程序运行时间
- 图片处理
- 图片压缩类
- Mysql
- 字段类型介绍
- 安装配置
- 数据库操作
- 数据表
- 查看创建表
- 创建表
- 插入数据
- 修改表
- 删除表
- 查询
- 时间查询
- 表的高级操作
- 视图
- 触发器
- 存储过程
- 事务
- 索引
- 存储引擎
- 数据库优化
- mysql中使用 where 1=1和 0=1 的作用
- 在线修改字段禁忌
- mysql配置文件
- mysql8.0新特性
- 数据库引擎
- Mysql 内置函数
- GROUP BY
- group_concat 函数的限制
- 远程连接
- 远程无法连接
- mysql远程连接问题
- mysql 导入导出
- mysql日志处理
- 性能优化
- Yaconf-高性能的配置管理扩展
- FTP上传opcache缓存
- 系统内置函数注意事项
- in_array()
- 并发和攻击
- sql防注入
- 防范csrf攻击
- XSS处理
- DDOS攻击和防范
- 日常报错
- 文件访问权限
- 专业术语
- PV、 UV、IP
- TPS、QPS、RT
- 安全配置
- 安全模式
- 报错处理
- open_basedir 报错
- PHP异常报错
- 类
- new static() 和 new self()区别
- 接口
- static::$val()和self::$val()介绍
- PHP中静态方法和实例化方法的区别
- 抽象类
- PHP函数include include_once require和require_once的区别
- final 关键字
- 内置迭代器类
- 命名空间和spl_autoload_register函数
- 修改类的私有成员属性
- php closure 的bind和bindTo
- trait 类
- php 正则
- php 正则函数
- 小案例
- foreach遍历数组
- 设计模式
- 单例模式
- 简单工厂模式
- 工厂模式
- 抽象工厂方法设计模式
- 使用简单工厂来优化抽象工厂模式
- 使用反射来优化抽象工厂模式
- 原型模式
- 适配器模式
- 对象适配器模式
- 桥接设计模式
- 装饰设计模式
- 组合设计模式
- 透明组合设计模式
- 安全组合设计模式
- 外观设计模式
- 享元设计模式
- 代理设计模式
- 模板设计模式
- 命令设计模式
- 迭代器设计模式
- 观察者设计模式
- 单元测试框架
- PHPUnit_Framework_TestCase
- Windowns
- 用户凭证
- 命令
- 设置电脑自动关机
- win文件共享
- excel表多人同时编辑
- 文件共享打开只读
- win 网络管理
- 电脑连接不上网络
- 法自动获取IP地址
- win10 进入安全模式
- 虚拟机
- vmware esxi集群
- Python
- 头部介绍
- 开始 工作
- 内置函数
- bytes
- 数据类型
- 位运算
- 字符串类型
- 清除空格或者填充
- 随机数
- 字符串编码
- python3 编码
- 判断是否为空,为None等
- 列表、元组、字典
- 数据处理
- 时间日期处理
- 获取下一个星期几
- 月份处理
- 函数
- 获取本地IP
- 判断当前是否可以联网
- 模块
- argparse 模块
- cookielib 模块
- urllib 爬虫模块
- types 模块
- subprocess 爬虫模块
- requests 爬虫模块
- Beautiful Soup 爬虫模块
- Xpath 爬虫模块与lxml 爬虫模块
- PhantomJS 爬虫模块
- xlrd 模块
- xlwt 模块
- 模块安装
- ssl 模块
- json 模块
- configparser 模块
- 文件操作
- 异常处理
- 面向对象
- 正则
- Mysql数据库
- Socket
- Sublime
- 数学
- 实例
- py进制转换
- 画图
- 画布详解
- 爬虫
- Python2爬取糗事百科段子
- Python2爬取百度贴吧
- python2无线网络掉线自动重连
- Python2抓取淘宝MM照片
- python2模拟登录淘宝并获取所有订单
- python2抓取爱问知识人问题并保存至数据库
- python2利用Selenium抓取淘宝匿名旺旺
- python2爬虫专用模块
- urllib 模块
- subprocess 模块
- requests 模块
- Beautiful Soup 模块
- Xpath 模块与lxml 模块
- PhantomJS 工具
- Selenium 工具
- PyQuery 工具
- 爬虫框架介绍
- PySpider 框架安装配置
- PySpider 的用法
- Scrapy 框架安装配置
- 爬虫之多进程和多线程
- 爬虫之多线程用法
- 爬虫之多进程用法
- 服务器代理
- python2
- python3
- 编辑器
- sublime
- 插件介绍
- Visual Studio Code
- 前端
- js或jquery初始化
- Vue
- 目录结构
- 环境搭建、安装
- 模块介绍与安装
- vue-axios + axios
- vuex
- vant-ui
- less
- vue 方法属性
- 前端字符串处理
- 字符串反转
- CSS
- 文本显示问题
- Jquery
- 遍历json对象
- ajax
- 获取节点
- select 操作
- 自定义函数
- in_array()
- 事件
- input事件
- 数组基本操作
- js判断是否为空
- js判断数组是否存在某个值
- 判断是否是数组
- js中json对象和字符串的转换
- 去重,过滤空数组
- 字符串基本操作
- 判断变量是否定义
- js时间日期
- 日期格式转时间戳
- Nginx
- nginx配置参数
- HTTP协议
- HTTP头部信息
- 浏览器缓存
- Content-Type类型介绍
- Content-transfer-encoding类型介绍
