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 认证;

  1. 客户发送请求 服务返回401及临时咨询码,nonce=“任意字符串”

  2. 客户响应带有可识别摘要的字段,加上请求的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详解的主要内容,如果未能解决你的问题,请参考以下文章

HTTP协议详解

HTTP协议详解

二、HTTP Content-Type详解

http协议详解

HTTP协议详解

一篇文章带你详解 HTTP 协议之报文首部及字段详解(中)