HTTP使用指南(下)| 青训营笔记

123 阅读1分钟

这是我参与「第四届青训营 」笔记创作活动的第8天

本篇文章紧接HTTP使用指南(上)

一、场景分析

1.静态资源场景分析

打开一个网页后打开控制台,切换到network,本文以www.toutiao.com为例

image.png

image.png

image.png

缓存策略是怎么样的?

  • 强缓存
  • Cache-control:一年

静态资源方案

  • 缓存+CDN+文件名hash

  • CDN:Content Delivery Network

  • 通过用户就近性和服务器负载的判断,CDN确保内容以一种极为高效的方式为用户的请求提供服务

CDN简单原理图

image.png

2.登录

image.png

业务场景

  • 表单登录
  • 扫码登录

技术方式

  • SSD

image.png

  • 账号密码登录
  • 打开控制台-network-勾选preserve-过滤quick_login
  • 观察请求

image.png

为什么有options的请求?

跨域 cross-origin

image.png

跨域

image.png

image.png

跨域解决方案

  • CORS

  • 代理服务器

    同源策略是浏览器的安全策略,不是HTTP的

  • Iframe

    诸多不便

image.png

二、实战

1.浏览器

AJAX之XHR

image.png

image.png

AJAX之Fetch

  • XMLHttpRequest的升级版
  • 使用Promise
  • 模块化设计,Response,Request,Header对象
  • 通过数据流处理对象,支持分块读取

image.png

标准库:HTTP/HTTPS

默认模块,无需安装其他依赖 功能有限/不是十分友好

image.png

常用的请求库:axios

  • 支持浏览器、nodejs环境
  • 丰富的拦截器

image.png