博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《HTTP权威指南》第二部分 HTTP结构 笔记草稿
阅读量:6706 次
发布时间:2019-06-25

本文共 2774 字,大约阅读时间需要 9 分钟。

第五章 Web服务器

第一步 接受客户端链接
第二步 接收请求报文
第三步 处理请求
第四步 对资源的映射及访问
第五步 构建响应
重定向:永久搬离的资源 301        临时搬离的资源        URL增强        负载均衡        服务器关联        规范目录名称复制代码
第六步 发送响应
第七步 记录日志

第六章 代理

代理和网关的区别
代理:两个或多个相同协议的应用程序网关:两个或多个不同协议的端点,扮演协议转换的角色复制代码
代理方式
* 出口代理* 访问(入口)代理* 反向代理* 网络交换代理复制代码
动态代理的例子
* 负载均衡* 地理位置附近的代理* 协议/类型路由* 基于订购的路由复制代码
使流量流向代理的方式
* 修改客户端    1)手工配置    2)预先配置浏览器    3)代理自动配置(Proxy Auto-Configuration,PAC)        PAC文件是小型Javascript程序    4)WPAD的代理发现(Web Proxy Autodiscovery Protocol,WPAD)* 修改网络* 修改DNS的命名空间* 修改WEB服务器复制代码
via首部
* ,分隔路标* 如果响应报文是通过代理转发,一定要保证代理没有修改Server首部,Server首部适用于院士服务的,代理应该添加Via条目复制代码
Max-Forwards
每跳一次减1复制代码

第七章 缓存

Web缓存是可以自动保存上见文档副本的HTTP设备 优点: * 缓存减少了冗余数据传输 * 缓解了网络环境问题 * 降低了对原始服务器的要求 * 降低了距离延时

冗余数据传输
命中和未命中
* 缓存命中(cache hit)* 缓存未命中 (cache miss)* HTTP再验证    缓存可以任意时刻,任意频率对副本进行再验证*再验证命中revalidate hit(缓慢命中slow hit)复制代码
HTTP再验证工具
* If-Modified-Since首部    再验证命中:发送小的HTTP 304 Not Modified    再验证未命中:发送带有完整内容的HTTP 200 OK响应    对象被删除:服务器返回404 Not Found响应,缓存也从副本中删除* 缓存命中率(cache hit rate)有时也称文档命中率(document hit rate)* 字节命中率(byte hit rate)* 客户端通过Date,Age首部判断响应是否来自缓存复制代码
缓存的处理步骤
(1)接收(2)解析(3)查询(4)新鲜度检测(5)创建响应(6)发送(7)日志复制代码
文档过期
通过特殊HTTP Cache-Control首部和Expires首部说明在多长时间内可以将这些内容视为新鲜* HTTP/1.0+ Expires: Fri, 05 Jul 2002, 05:00:00 GMT* HTTP/1.1 Cache-Control: max-age=4842000复制代码
用条件的方法进行再验证
* If-modified-Since:
与Last-Modified服务器响应首部配合视同* If-None-Match:
实体标签再验证 实体标签ETag版本识别符复制代码
控制缓存的能力
* no-Store和no-cache首部可以防止缓存提供未经证实的已缓存对象    Pragma: no-cache HTTP/1.1中提供,为了兼容HTTP/1.0+    Cache-Control: no-store    Cache-Control: no-cache* max-age响应首部,从服务器将文档传来之时起,可以认为此文档新鲜的秒数    Cache-Control: max-age=3600    Cache-Control: s-maxage=3600 仅适用于共享(共有)缓存    设置为0表示每次访问都刷新* Expires响应首部 HTTP/1.0    不推荐使用,指定的是实际的过期日期而不是秒数,因为服务器时钟并不同步    Expires: Fri, 05 Jul 202, 05:00:00 GMT* must-revalidate响应首部    告诉缓存,事先没有跟原始服务器再验证不能提供。如果验证时,原始服务器不可用,缓存返回504 Gateway Timeout    Cache-Control: must-revalidate* 试探性过期    如果没有Cache-Control: max-age首部,也没有Expires,最大使用期大于24小时,应该向响应首部添加Heuristic Expiration Warning首部复制代码

第八章 网关、隧道及中继

网关
隧道
Web隧道是用HTTP的CONNECT方法建立起来的。是HTTP/1.1得到广泛应用的扩展。1)CONNECT请求    CONNECT home.netscape.com:443 HTTP/1.0    User-agent: Mozilla/4.02)CONNECT响应    HTTP/1.0 200 Connection Established    Proxy-agent: Netscape-Proxy/1.1复制代码

第九章 机器人

根集
管理访问过地址的技术
* 树和散列表* 有损的存在位图* 检查点* 分类  《海量数据管理-文档和图像的压缩与索引》复制代码
避免循环和重复
* 规范化URL* 广度优先的爬行* 节流* 限制URL的大小* URL/站点黑名单* 模式检测* 内容指纹* 人工监视复制代码
机器人的HTTP
识别请求首部
* User-Agent* From* Accept* Referer复制代码
对响应的处理
1.状态码 至少知道200 4042.实体 http-equiv: 服务器将把名称/值对添加到发送给浏览器的内容首部复制代码
拒绝机器人访问
robots.txt1. User-Agent行2. Disallow和Allow3. Disallow/Allow前缀匹配复制代码
HTML的robot-control元素标签
大小写无关,必须在head中* NOTINDEX* NOFOLLOW* INDEX* FOLLOW* NOARCHIVE* ALL* NONE复制代码

第十章 HTTP-NG

模块化及其增强
*第一层 报文传输层*第二层 远程调用层*第三层 Web应用层复制代码

转载地址:http://vyblo.baihongyu.com/

你可能感兴趣的文章
[.net 面向对象程序设计进阶] (20) 反射(Reflection)(上)利用反射技术实现动态编程...
查看>>
【转】java中float与byte[]的互转 -- 不错
查看>>
[Ogre][地形][原创]基于OgreTerrain的地形实现
查看>>
shell登录模式及其相应配置文件(转)
查看>>
Puppet常识梳理
查看>>
web.config配置文件中的configSource属性
查看>>
发现一个国内牛逼的maven仓库,速度真的太快了
查看>>
Snmp配置
查看>>
使用java实现CNN的实战
查看>>
大白话系列之C#委托与事件讲解(二)
查看>>
linux下使用 du查看某个文件或目录占用磁盘空间的大小
查看>>
iCheck表单美化插件使用方法详解(含参数、事件等)
查看>>
IOS UIAlertController 使用方法
查看>>
MySQL存储过程 事务transaction
查看>>
93. [NOIP2001] 数的划分
查看>>
c++友元实现操作符重载
查看>>
LeetCode_Maximum Depth of Binary Tree
查看>>
MongoDB入门学习(一):MongoDB的安装和管理
查看>>
beans.factory.BeanCreationException beans.factory.annotation.Autowired(required=true)
查看>>
grep常见使用方法总结
查看>>