HTTP权威指南 笔记
HTTP权威指南
- 通用缓存头部:
- Cache-Control:
- Pragma
- 条件请求头部:
Expect- If-Match([ETag实体标记]相关)
- If-Modified-Since(服务器返回304时的特殊处理)
- If-None-Match([ETag实体标记]相关)
If-Range(这个是不是相当于对文档资源的分布式环境下的共享读写访问?)- If-Unmodified-Since(???)
- Range(用于下载软件的断点续传)
- HTTP Disk Cache应如何处理Cookie?
- HTTP Disk Cache应如何处理Proxy?
- 实体缓存头部:
- ETag
- Expires
- Last-Modified
- Meter头部?
- Connection: meter, close, bill-by-credit-card
- Meter: max-uses=3, max-refuses=6, dont-report
- p101 代理不应转发Connection: Keep-Alive首部(HTTP/1.0+)
- Proxy-Connection:对于不识别的盲代理,服务器会忽略之;否则代理应将其转换为Connection首部。
- 但如果盲代理的任意一侧存在一个聪明代理的话,问题再次出现(实际上,试图在多跳之间建立一个长连接总是会遇到类似问题的)
- HTTP/1.1的持久连接(默认),必须显示添加一个Connection: close。
- p140 反向代理:假装自己就是Web服务器(名字太费解了!)
- p142 匿名代理:删除IP信息、From、Referer、Cookie、Session、UA中的主机信息
- p150 PAC,WPAD(依赖于DNS)
- p152 代理URI(完整地址),或+ Host头部
- p156 有显示代理时,不对用户输入做扩展,如:http://abc/
- p158 Via
- p162 TRACE
- p174 缓存:命中、未命中、再验证
- 字节命中率(-_-)
- 再验证:若返回404则删除本地cache(!?)
- 区分响应是否来自Cache:Date头部、Age头部(只有原始服务器有权设置)
- p178 公共缓存(proxy cache)~ squid配置节省对图片资源的重复网络请求
p180 动态缓存,cache mesh,内容路由 ICP/HTCP- p181 缓存处理
- 接受客户端请求
- 解析
- 查询:是否有本地cache,否,就先获取一份副本(?对于浏览器本地disk cache不需要这么做)
- 可能更新Header:新的过期日
- 若验证不可,返回错误,
- 若不得已使用了旧cache,设置Warning(?)
- 新鲜度检测
- 创建响应(+Via?)(-Date!)
- Log(更新Cache命中统计信息)
- p185 ‘过期日’:HTTP/1.0+ Expires;及/1.1 max-age(单位:秒)——优先使用Cache-control
- p187 条件方法
- If-Match:用于并发控制(乐观锁?read->write)
- If-Unmodified-Since:用于部分传输
- If-Modified-Since(IMS):
- If-None-Match:"<etag>"
- 注意:可以包含多个etags(但浏览器没必要支持),主要用于SCM over HTTP?
p190 ‘弱验证’- p191 控制缓存
- no-store:对于敏感信息,不要缓存!
- no-cache:可以缓存,但必须验证
- must-revalidate:可以提供新鲜副本,但不可使用旧的
- 再验证的情形:如果发生网络错误,返回504
- max-age
- 不推荐用Expires(时钟不同步)
- p193 没有过期信息下的自主决定:‘试探性过期’
- LM-factor
- p194 Reload/Refresh:刷新Cache!(F5~Shift+F5)
- 特殊的Cache-Control:
- max-stale:允许“稍微过期”
- min-fresh
- max-age
- no-cache
- no-store
- no-transform*
- only-if-cached(?)
- 特殊的Cache-Control:
- p195 Apache控制
- mod_headers:Header set Cache-control ...
- mod_expires:ExpiresDefault A3600/M86400/"access plus 1 week"
- ExpiresByType text/html ...
- mod_cern_meta*
- p196 HTTP-EQUIV(不要用)
- p204 Cache与广告 -_-
- 日志迁移
- RFC 2227 Meter(代理==>Web服务器)
- p217 CONNECT
- p222 盲中继(relay):直接转发
p226 Web爬虫、robots.txt- BFS,
DFS
- BFS,
HTTP-NG- p290 no-cache="Set-Cookie",摘要认证(略)
- p324- HTTPS
- OpenSSL客户端:% https_client <url>
- p358 实体、编码和国际化
- p374 分块(chunked),Trailer: Content-MD5(现在应该用SHA1了吧?)
- p382 A-IM及226响应
- p389 阿拉伯语只有28个字符???
- p414 内容协商(略)
- p432 虚拟主机(就是7一个Host头部的处理)
- p449 WebDAV(这里的协议命令让我想起了Redis)
- p469 重定向与负载均衡(LB)
- p506 日志与使用情况跟踪
- 附录A URI×
- 附录B 状态码(略)
- 附录C 头部(略)
- Warning: 101 111 112 113 199 214 209
- 附录D MIME类型
HTTP权威指南 笔记相关推荐
- HTML5与CSS3权威指南笔记案例1
第1章 <!DOCTYPE html> <meta charset = "UTF-8"> <title> Search </title&g ...
- 《Cortex-M3 权威指南 笔记》
因了命途中的你们,我才没有荒芜了青春. – 莫言 一.介绍 整个 MCU 只有Cortex-M3 处理器内核(中央处理单元(CPU))和调试器是ARM设计的,而存储器,外设,I/O以及其它功能块是芯片 ...
- Java性能优化权威指南--笔记
出处:http://xiongpq.cnblogs.com/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利. 原文 ...
- netty权威指南笔记-以回车换行结尾的消息如何处理半包问题
概述 TCP底层会发生粘包和拆包,这个是TCP的一个特性.为了减少网络数据传输的次数,TCP总是希望让网络数据到达一定量级的时候才将数据发送出去,而不是缓存区一有数据就马上发送数据. TCP底层会根据 ...
- Android编程权威指南笔记3:Android Fragment讲解与Android Studio中的依赖关系,如何添加依赖关系
Android Fragment 当我在学习时,了解了Fragment词汇 Fragment是一种控制器对象,我就把所了解的简单说一下.activity可以派fragment完成一些任务,就是管理用户 ...
- Hase权威指南笔记
第一章 1.1 海量数据的黎明: RDBMS 结构化数据 传统关系型数据库 科德十二定律 [Codd's 12 rules] 满足新的工作负载提出的 列式存储[column-oriented] 大规模 ...
- JavaScript 权威指南笔记 - 可选的分号
分号 只有缺少分号无法正确解析代码的时候会自动添加分号 var a a = 3 => var a; a = 3; var y = x + f (a + b).toString() => v ...
- 学习正点原子讲解FreeRTOS中断管理心得和cortex-M3权威指南笔记
1.一个任务恢复运行: (1)恢复一个任务的运行:将一个任务从挂起态恢复到就绪态,只有通过函数vTaskSuspend()设置为挂起态的任务才能使用vTaskResume()恢复,函数原型为void ...
- JS权威指南笔记之数据类型
1.类型分为原始类型和对象. 2.原始类型有:数字类型,字符类型,布尔,和null undefind. 3.JavaScript里的函数都是真值. 4.函数和通过New关键字创建对象.这个样函数称为构 ...
- javascript权威指南——笔记(第十章:正则)
正则表达式是描述字符模式的对象 为什么使用正则: 1.找数字 1 var str = "12 f13kjm54n43 43k"; 2 var arr = []; 3 4 for(v ...
最新文章
- ruoyi后台管理系统分析(三)---admin包
- php 打印行数,php/html-按行和列配置钻石数量的打印格式
- 讲述一个自学七年Python编程的码农人生
- android 用户界面教程实例汇总
- Centos 系统swap虚拟内存添加与删除配置
- 如何测试前台获得的数据
- 在Oracle中删除用户时提示:ORACLE无法删除当前连接用户
- 标准C程序设计七---121
- PHP动态网页设计:第2版pdf
- ogg格式怎么转mp3格式?
- 多层次细节(Level of detail)
- 无刷直流电机换相原理
- 刚刚!核电老将俞培根晋升东方电气集团董事长
- 什么是SAS硬盘,服务器硬盘sas和sata有什么区别
- AJAX基础教程zz
- 2023年Android现代开发
- [原创]-数据仓库ETL开发
- qq音乐正式版官方免费版
- 1MB有多少字节,1mb有多少个汉字,流量就这样被把握住
- 写一个体验良好的git commit
热门文章
- Pandas手册汉化
- java 算法 pdf_Java 常用算法手册 PDF扫描版[39MB]
- Python——对象
- sentinel卫星_常用的遥感卫星数据(一)哨兵
- 《Shell 脚本学习指南 》 -- 背景知识与入门 [第一、二章]
- 微信打飞机--Java版
- 学生DW静态网页设计 红色中国文化主题网站设计 ——美丽中国1页HTML+CSS
- 高程数据的下载以及运用高程数据进行坡度和坡向的计算
- 并发器 Oracle,一周爆肝上线百万高并发系统-oracle中最大并发连接数是多少
- Eclipse 可视化插件Windows Builder在线更新地址