http详解
Posted uNns
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了http详解相关的知识,希望对你有一定的参考价值。
Cookie
访问网站时 发送请求,服务器向客户端 发送cookie(携带信息)
返回响应结果,客户端再次访问时携带cookie,服务器确认后返回响应结果
Session
记录客户机状态 生成一个sessionID以及对应session并返回带有sessionID的响应,保存在cookie区
客户机再次请求时带有sessionID,服务端找出sessionID对应状态以及其他操作,
存在session有效期 ,超过一定时间没有使用自动删除
cookie 存储在客户端
session比cookie更加安全,cookie更加长期,session对服务端压力较大
---------
http身份认证
basic 认证 digest 认证;
客户发送请求 服务返回401及临时咨询码,nonce=“任意字符串”
客户响应带有可识别摘要的字段,加上请求的url 咨询码以及md5校验值
3.认证成功返回
客户端认证
SSL客户端认证
1.皆有https客户端证书完成认证
表单认证
web程序各自实现基于表单认证,通过cookie session表示用户状态
---------------------
http 长连接 短链接
短:
建立-》传输-》关闭。。。建立-》传输-》关闭 http/1.0 默认
长:
建立-》传输。。传输-》关闭 http/1.1默认
---------------------
http代理:
中间人代理:抓包
http中介--网关
担任转换协议的作用:
在网关一侧使用http/另一侧使用另一种
(http/*)服务器端网关,通过http与客户端对话,其他协议与服务器通信
(/http)客户端网关:其他协议与客户端对话,http与服务器通信
(http/https)服务端安全网关
(https/http)安全加速网关
资源网关
http缓存:
头部字段
Cache-Control 缓存控制字段
Expires 过期时间
Last-Modified if-Modified-Since 最后一个版本更改时间对比
Etag if-None-Match 资源标识
缓存工作方式
客户请求js 服务器响应 浏览器 缓存 在过期时间(expires)内再次请求 直接使用缓存
last-modify 时间过期后再次请求 校验last-modified是否相等 不相等则重新请求 精确到秒
etag if-none-match 在请求时添加max-age(60)并加入e-tag max-age过期 对比e-tag 确认是否重新发送
缓存改进
程序方面
在文件名后加入md5/hash标识
重新请求时如果文件更新 则请求新文件 达到及时更新目的
CDN缓存:
就近获取所需内容 类似 代理服务器
浏览器操作对缓存影响
f5刷新 lastmodified/etag有效
ctrl+f5 完全重新请求
内容协商机制:
面对同一个url 返回不同内容
客户端驱动 客户主动选择后发送二次请求
服务器驱动 检查客户端请求头部集决定提供版本页面
请求头部集
Accept
。。。-Language
。。。-Type
。。。-Encoding
近似匹配--
断点续传,多线程下载
range :byte=m-n
content-range
下载中断:
请求续传:
range :bytes=512000-
响应续传:
content-range:bytes 512000-/1024000(文件总大小)
http1.1 206
以上是关于http详解的主要内容,如果未能解决你的问题,请参考以下文章