首先来看几个概念:
重定向:地址A跳到地址B,通过各种方法将各种网络请求重新定个方向转到一个新的位置。
共同点:301 和 302 状态码都代表重定向,就是说浏览器在拿到服务器返回的这个状态码后会自动跳转到一个新的URL地址,这个地址可以从响应的 location 首部取出(用户看到的效果就是他输入的地址A迅速变为了另一个地址B)。这是它们的共同点。
不同点:301 表示旧的地址A的资源已经被永久的被移除了(这个资源不可再访问了),搜索引擎在抓取新的内容的同时也将旧的网址交换为重定向之后的网址。302 表示旧的地址A的资源还在(仍然可以访问),这个重定向只是临时的从地址A跳转到了地址B,搜索引擎会抓取新的内容而保存旧的网址。

