Http 状态码 301 Permanent Rediret 302 Temporary Redirect、 重定向 重写

HTTP状态码301和302是什么?

1、HTTP状态码301

HTTP状态码301表示永久性转移(Permanent Redirect),这意味着请求的资源已经被分配了一个新的URI,以后的引用应该使用资源现在所指的URI。
HTTP 301状态码表示请求的资源已被永久移动到一个新的位置,当客户端接收到这个状态码时,它应该更新其链接,以便将来的请求直接使用新的URL,这种重定向通常用于网站的重构或合并,确保旧网址的用户能够无缝地访问到新的内容位置。

2、HTTP状态码302

HTTP状态码302表示临时性转移(Temporary Redirect),它告诉客户端在此次请求中,应临时地从不同的URI响应请求,但客户端应继续使用原有的URI以便于以后的请求。

一、定义不同

301状态码表示请求的资源已被永久性地移动到新位置,将来任何新的请求都应使用一个新的 URI;
302状态码表示请求的资源现在临时从不同的 URI 响应请求,由于这样的重定向是临时的,客户端应继续向原有地址发送以后的请求。

二、使用场景不同

301重定向通常用于永久性的URL改变,例如网站迁移、改变域名等;302重定向通常用于临时性的内容改变和URL重定向,例如网站维护期间,原URL临时跳转到维护通知页面。

三、对SEO的影响不同

对于搜索引擎而言,301意味着原网页已经不存在,需要更新索引;302表示原网页仍然存在,只是暂时修改了地址,因此搜索引擎会保留原网页的索引。

在这里插入图片描述
在这里插入图片描述

URL 重写 vs URL 重定向

1、重写是 纯服务端的功能 重定向:需要客户端参与
重写 浏览器地址栏中的地址不会改变。就客户端而言,是感知不到URL重写的 request 1次
重定向 浏览器地址变化了,变成重定向的地址啦。 Request 2次
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
》》》》》ASP.NET Core的URL重写中间件能够同时满足二者的需求。
在这里插入图片描述
》》》》何时使用URL重写中间件

当无法在Windows Server上使用IIS重写模块、Apache服务器上的Apache mod_rewrite模块、Nginx上的URL重写或应用程序托管在HTTP.sys服务器(以前称为WebListener)上时,请使用URL重写中间件。推荐在IIS,Apache或Nginx中使用基于服务器的URL重写技术的主要原因是中间件不支持这些模块的全部功能,并且中间件的性能可能无法达到这些模块的性能。但是,这些服务器重写模块的某些功能不适用于ASP.NET Core项目,例如IIS Rewrite模块的IsFile和IsDirectory。在这些情况下,请改用中间件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
示例应用程序将来自/apache-mod-rules-redirect/(.*)的请求重定向到/redirected?id=$1,响应码为302(Found)。

中间件支持以下Apache mod_rewrite服务器变量:

CONN_REMOTE_ADDR

HTTP_ACCEPT

HTTP_CONNECTION

HTTP_COOKIE

HTTP_FORWARDED

HTTP_HOST

HTTP_REFERER

HTTP_USER_AGENT

HTTPS

IPV6

QUERY_STRING

REMOTE_ADDR

REMOTE_PORT

REQUEST_FILENAME

REQUEST_METHOD

REQUEST_SCHEME

REQUEST_URI

SCRIPT_FILENAME

SERVER_ADDR

SERVER_PORT

SERVER_PROTOCOL

TIME

TIME_DAY

TIME_HOUR

TIME_MIN

TIME_MON

TIME_SEC

TIME_WDAY

TIME_YEAR

在这里插入图片描述
中间件支持以下IIS URL重写模块服务器变量:

CONTENT_LENGTH

CONTENT_TYPE

HTTP_ACCEPT

HTTP_CONNECTION

HTTP_COOKIE

HTTP_HOST

HTTP_REFERER

HTTP_URL

HTTP_USER_AGENT

HTTPS

LOCAL_ADDR

QUERY_STRING

REMOTE_ADDR

REMOTE_PORT

REQUEST_FILENAME

REQUEST_URI

在这里插入图片描述

基于方法的规则

在这里插入图片描述

基于IRule接口的规则

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/58474.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据结构————map,set详解

今天带来map和set的详解&#xff0c;保证大家分清楚 一&#xff0c;概念 map和set是一种专门用来搜索的容器或数据结构 map能存储两个数据类型&#xff0c;我们称之为<key-value>模型 set只能存储一个数据类型&#xff0c;我们称之为纯<key>模型 它们的效率都非…

java中Scanner的nextLine和next方法

思考&#xff0c;输入1 2 3 4 5加上enter&#xff0c;输出什么 import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in);int[][] m new int[2][2];for (int i 0; i < 2; i) {for (int j 0; j < 2;…

互联网人小生意平台推荐,思考适合你的副业机会!

前几天写了一篇关于互联网人尽早找到自己一人能做的小生意&#xff0c;尽早觉醒&#xff1a;找到自己一人能做的互联网生意 收到不少读者私信和评论关于小生意怎么做&#xff0c;能感觉到大家对于如何开启小生意及如何利用好互联网平台这块充满兴趣。 尤其是针对设计、技术等互…

第5次CCF CSP认证真题解

1、数列分段 题目链接&#xff1a;https://sim.csp.thusaac.com/contest/5/problem/0 区分每一段的方法就是判断数列中的每一个数是否与前一个数相等。 100分代码&#xff1a; #include <iostream> using namespace std; int main(int argc, char *argv[]) {int n;ci…

python 深度学习 项目调试 识别数学公式 LaTeX-OCR

起因&#xff0c; 目的: 提取图片中的数学公式。 其实这个项目&#xff0c;我很久之前就做过。 而且,我还录了一个视频: https://www.bilibili.com/video/BV1nD421p7jS/?vd_source198e876d811b3ccea94908fd163c223f 简介: 项目来源: https://github.com/lukas-blecher/La…

【专题】计算机网络之数据链路层

数据链路层的地位&#xff1a;网络中的主机、路由器等都必须实现数据链路层。 数据链路层信道类型&#xff1a; 点对点信道。 使用一对一的点对点通信方式。 广播信道。 使用一对多的广播通信方式。 必须使用专用的共享信道协议来协调这些主机的数据发送。 1. 使用点对点信道…

手机备忘录怎么导出到电脑,

在忙碌的现代生活中&#xff0c;我们常常需要在手机和电脑之间切换工作&#xff0c;手机里的备忘录记录了我们的重要事项&#xff0c;有时候需要在电脑端查看和处理。那么&#xff0c;如何将手机备忘录的内容导出到电脑呢&#xff1f;其实&#xff0c;这个问题的解决方法并不复…

【Python爬虫】获取汽车之家车型配置附代码(2024.10)

参考大哥&#xff0c;感谢大哥&#xff1a;https://blog.csdn.net/weixin_43498642/article/details/136896338 【任务目标】 工作需要想更方便地下载汽车之家某车系配置清单&#xff1b;&#xff08;垃圾汽车之家不给下载导出表格&#xff0c;配置页叉掉了车系要出来还要重新…

架构师备考-背诵精华(计算机语言)

定义 计算机语言是指用于人与计算机之间交流的一种语言&#xff0c;是人与计算机之间传递信息的媒介。计算机语言主要由一套指令组成&#xff0c;而这种指令一般包括&#xff1a;表达式、流程控制和集合三大部分内容。 表达式包括&#xff1a;变量、常量、字面量和运算符流程控…

一个简单的 uas_send_bye.xml for SIPp

<?xml version"1.0" encoding"UTF-8" ?> <!DOCTYPE scenario SYSTEM "sipp.dtd"> <scenario name"iinv-o200-obye.xml -- wjd 2014"><recv request"INVITE" rrs"true"/><send>&l…

【瑞吉外卖】-day01

目录 前言 第一天项目启动 获取资料 创建项目 ​编辑 连接本地数据库 连接数据库 修改用户名和密码 ​编辑创建表 创建启动类来进行测试 导入前端页面 创建项目所需目录 检查登录功能 登录界面 登录成功 登录失败 代码 退出功能 易错点 前言 尝试一下企业级项…

时间序列预测(十五)——有关Python项目框架的实例分析

#1024程序员节&#xff5c;征文# 在之前的学习中&#xff0c;已经对时间序列预测的相关内容有了大致的了解。为了进一步加深理解&#xff0c;并能够将所学知识应用于实际中&#xff0c;我决定找一个完整的Python框架来进行深入学习。经过寻找&#xff0c;我终于找到了一篇非常具…

Prometheus+Telegraf实现自定义监控项配置

系列文章目录 运维监控平台搭建 运维监控平台监控标签 golang_Consul代码实现Prometheus监控目标的注册以及动态发现与配置V1版本 Prometheus运维监控平台之监控指标注册到consul脚本开发、自定义监控项采集配置调试(三) golang开发alertmanagerWebhook,实现prometheusalertma…

基于Mysql、JavaScript、PHP、ajax开发的MBTI性格测试网站(前端+后端)

源码地址&#xff1a;https://download.csdn.net/download/2302_79553009/89933699 项目简介 本项目旨在构建一个基于MBTI&#xff08;迈尔斯-布里格斯性格分类指标&#xff09;理论的在线平台——“16Personalities”。该平台利用PHP、MySQL、JavaScript等技术栈开发&#xf…

uniapp的IOS证书申请(测试和正式环境)及UDID配置流程

1.说明 本教程只提供uniapp在ios端的证书文件申请&#xff08;包含正式环境和开发环境&#xff09;、UDID配置说明&#xff0c;请勿用文档中的账号和其他隐私数据进行测试&#xff0c;请勿侵权&#xff01; 2.申请前准备 证书生成网站&#xff1a;苹果应用上传、解析&#x…

【JavaEE初阶】网络原理—关于TCP协议值滑动窗口与流量控制,进来看看吧!!!

前言 &#x1f31f;&#x1f31f;本期讲解关于TCP协议的重要的机制“连接的建立和断开”~~~ &#x1f308;感兴趣的小伙伴看一看小编主页&#xff1a;GGBondlctrl-CSDN博客 &#x1f525; 你的点赞就是小编不断更新的最大动力 &#x1…

Docker部署教程:打造流畅的斗地主网页小游戏

Docker部署教程&#xff1a;打造流畅的斗地主网页小游戏 一、项目介绍项目简介项目预览 二、系统要求环境要求环境检查Docker版本检查检查操作系统版本 三、部署斗地主网页小游戏下载镜像创建容器检查容器状态查看容器日志安全设置 四、访问斗地主网页小游戏五、总结 一、项目介…

【Unity】游戏UI中添加粒子特效导致穿层问题的解决

这里介绍一下简易的ui系统中&#xff0c;添加粒子特效导致的穿层问题 首先是在ui界面中添加粒子特效预制体&#xff0c;这个时候&#xff0c;控制这个粒子显示层级的有两个方面 上图中&#xff0c;如果你的Sorting Layer ID的值&#xff08;Layer排序&#xff09;是大于当前C…

以太网交换安全:DHCP Snooping

一、DHCP Snooping的概念及功能 DHCP Snooping是一种用于增强网络中DHCP服务安全性的技术。以下是对以太网交换安全中的DHCP Snooping进行详细的介绍&#xff1a; 基本概述 定义目的&#xff1a;DHCP Snooping是一种网络安全技术&#xff0c;旨在防止未经授权的DHCP服务器在网…

[Linux进程控制]进程创建|进程终止|进程等待

目录 一、进程创建 1.fork函数 2.写实拷贝 二、进程终止 1.进程退出场景 2.进程常见退出方法 &#xff08;1&#xff09;从main函数返回 &#xff08;2&#xff09;_exit &#xff08;3&#xff09;调用exit 三、进程等待 1.进程等待的方法 &#xff08;1&#xff…