HTTP入门 | 青训营笔记

46 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第5天

HTTP

  • HTTP协议初识
  • HTTP协议应用场景分析
  • HTTP协议实战分析

初识HTTP协议

  • 请求与读取数据之间的过程
  • 什么是HTTP协议
    • 超文本传输协议
    • TCP协议,位于应用层的一个协议
    • 请求 相应
    • 简单可拓展
    • 无状态

协议分析-发展

在发展过程中,从简单的单行协议逐渐变成一个具有扩展性、标准型、具有更优秀表现的一个协议

协议分析-报文

Method

  • GET
  • POST
  • PUT
  • DELETE
  • HEAD等

状态码

  • 100~199 表示请求已经接受,正在处理
  • 200~299 表示已被成功接收、理解、接受
  • 300~399 表示重定向,需要更进一步的操作
  • 400~499 表示客户端错误,请求中有语法错误或者是无法实现
  • 500~599 表示服务端错误,服务器没有实现合法的请求

RESTful API

一种API设计风格 - 每一个url代表一种资源 - 客户端和服务器之间,传递这种资源的某种表现层 - 客户端通过HTTP method, 对服务器端资源进行操作,实现“表现层状态转换”

常用请求头

  • Accept
  • Cookie
  • User-Agent
  • Referer
  • Content-Type

常用响应头

  • Content-Type
  • Set-Cookie

缓存

  • 强缓存 本地有的缓存直接使用即可
  • 协商缓存 要判断本地缓存是否是特定版本的,要进行协商

HTTP/2概述

通过帧、消息和数据流使得HTTP协议变得更快、更稳定和更简单
连接都是永久的,有服务器推送和流控制

场景分析

通过开发者工具来对HTTP报文进行分析。在抓包之后,观察网络标头来获取信息

CDN

CDN是一个内容分发的网络,通过用户就进行和服务器负载的判断,其确保内容以一种极为高效的方式为用户的请求提供服务。

跨域解决方案

  • CORS
  • 代理服务器
  • Iframe

鉴权

  • Session + cookie
  • JSON web token

HTTP协议实战分析

  • AJAX使用XMLHttpRequest
  • AJAX使用Fetch
    • 是XHR的升级版
    • 使用Promise
    • 模块化的设计
    • 通过数据流来对对象进行处理
  • 常用的请求库:axios

个人总结:

本次课将我在大学时期学计算机网络时学到的知识进行了一个复习和补充,我感觉还是挺有意义的,让我对HTTP协议更加深入的了解了一下,并且学到了一些在应用实践中才能学习到的知识。