HTTP

2020-07-07  本文已影响0人  fanison

HTTP状态码及含义

1xx 服务器收到请求,继续处理
2xx 表示成功
3xx 表示需要进一步操作
4xx 表示浏览器方面出错
5xx 表示服务器方面出错

200 - 请求成功
201 - 已创建
202 - 已接受
203 - 成功,未授权
204 - 成功,无内容
205 - 成功,重置内容
206 - 成功,部分内容
301 - 永久移动,重定向
302 - 临时移动,可使用原url
304 - 未修改,可使用缓存
305 - 需代理访问
400 - 请求语法错误
401 - 要求身份认证
403 - 拒绝请求
404 - 请求的资源(网页等)不存在
500 - 内部服务器错误

HTTP 缓存

CacheControl: max-age=3600 是设置过期时长(相对时间),跟本地时间无关。

Expires是设置过期时间(绝对时间),但是如果用户的本地时间错乱了,可能会有问题

ETag 是通过对比浏览器和服务器资源的特征值(如MD5)来决定是否要发送文件内容,如果一样就只发送 304(not modified)

缓存策略: 可分为 强缓存 和 协商缓存

唯一标识方案: Etag(response 携带) & If-None-Match(request携带,上一次返回的 Etag): 服务器判断资源是否被修改
最后一次修改时间: Last-Modified(response) & If-Modified-Since (request,上一次返回的Last-Modified);如果一致,则直接返回 304 通知浏览器使用缓存;如不一致,则服务端返回新的资源。
Last-Modified 缺点:
周期性修改,但内容未变时,会导致缓存失效
最小粒度只到 s, s 以内的改动无法检测到
Etag 的优先级高于 Last-Modified

GET和POST的区别

Cookie 、LocalStorage 、SessionStorage 、Session

Cookie V.S. LocalStorage

主要区别是 Cookie 会被发送到服务器,而 LocalStorage 不会
Cookie 一般最大 4k,LocalStorage 可以用 5Mb 甚至 10Mb(各浏览器不同)

LocalStorage V.S. SessionStorage

LocalStorage 一般不会自动过期(除非用户手动清除),而 SessionStorage 在回话结束时过期(如关闭浏览器)

Cookie V.S. Session

Cookie 存在浏览器的文件里,Session 存在服务器的文件里
Session 是基于 Cookie 实现的,具体做法就是把 SessionID 存在 Cookie 里

http1.0 http1.1 http2.0区别

https: 较为安全的网络传输协议
证书(公钥)、SSL 加密、端口 443

TCP:

上一篇下一篇

猜你喜欢

热点阅读