临时重定向和永久重定向的状态码_java重定向怎么写

临时重定向和永久重定向的状态码_java重定向怎么写重定向重定向分为永久重定向和临时重定向,在页面上体现的操作就是浏览器会从一个页面自动跳转到另外一个页面。比如用户访问了一个需要权限的页面,但是该用户当前并没有登录,因此我们应该给他重定向到登录页面。

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

重定向

重定向分为永久重定向临时重定向,在页面上体现的操作就是浏览器会从一个页面自动跳转到另外一个页面。比如用户访问了一个需要权限的页面,但是该用户当前并没有登录,因此我们应该给他重定向到登录页面。
 

  • 永久重定向:http的状态码是301,多用于旧网址被废弃了要转到一个新的网址确保用户的访问,最经典的就是京东网站,你输入www.jingdong.com的时候,会被重定向到www.jd.com,因为jingdong.com这个网址已经被废弃了,被改成jd.com,所以这种情况下应该用永久重定向。
  • 临时重定向:http的状态码是302,表示页面的暂时性跳转。比如访问一个需要权限的网址,如果当前用户没有登录,应该重定向到登录页面,这种情况下,应该用暂时性重定向。
     

重定向函数redirect

在Django中,重定向是使用redirect(to, *args, permanent=False, **kwargs)来实现的。

  • to是一个url地址,
  • permanent默认是False代表临时重定向,设置为True代表永久重定向。

关于重定向的使用。请看以下例子:

# views.py
def index(request):
    if request.GET.get('username'):
        return HttpResponse("欢迎来到个人中心")
    else:
        return redirect(reverse('login'))


def index2(request):
    return HttpResponse('登录页面')


# urls.py
urlpatterns = [
    path('', views.index),
    path('login/', views.index2, name="login")
]

接下来我们访问127.0.0.1,因为没有携带参数username,所以会执行indexelse语句,会302临时重定向到/login/路由,我们可以通过Pycharm控制台看到

[21/May/2021 03:04:45] "GET / HTTP/1.1" 302 0
[21/May/2021 03:04:45] "GET /login/ HTTP/1.1" 200 12

如果需求是要永久重定向,那么将permanent设置为True即可

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/164917.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 怎么删除pycharm的项目_怎样删除pycharm创建的项目

    怎么删除pycharm的项目_怎样删除pycharm创建的项目前言os模块和shutil模块是Python处理文件/目录的主要方式。os模块提供了一种使用操作系统相关功能的便捷方式,shutil模块是一种高级的文件/目录操作工具。文件的处理os模块提供了一些便捷功能来使用操作系统资源,比如读取资源目录下的文件、在命令行查看某路径下文件的所有内容等。获取系统类型对代码进行兼容性开发以适应不同操作系统时通过操作系统类型进行判断就可以轻松解决。importosimportsysprint(os.name)#返回nt代表Windows,posix代表L

    2022年8月25日
    5
  • MATLAB中神经网络工具箱的使用「建议收藏」

    MATLAB中神经网络工具箱的使用「建议收藏」今夕何夕兮,前些天把玩了一下MATLAB中神经网络工具箱的使用,忽有“扪参历井仰胁息”之感。别的倒是没什么,只是神经网络的数据组织结构有些“怪异”,要是不小心就会导致工具箱报错。以下便是神经网络工具箱的正确打开姿势,谨供诸君参考:1.打开MATLAB,在命令行输入nntool,将出现如下界面:图1神经网络工具箱主界面其中最主要的分为6个部分:第1部分中显示的是系统的输…

    2022年6月20日
    124
  • python3标准库httpclient使用

    python3标准库httpclient使用importhttp.client,urllib.parsedefget_demo():params=urllib.parse.urlencode({‘mode’:’get’,’func’:2})headers={"Content-type":"application/x-www-form-urlencoded",&am

    2022年6月24日
    27
  • 重拾 java helloworld

    重拾 java helloworld

    2021年8月19日
    60
  • 字节、字、bit、byte的关系

    字节、字、bit、byte的关系字word字节byte位bit,来自英文bit,音译为“比特”,表示二进制位。字长是指字的长度1字=2字节(1word=2byte)1字节=8位(1byte=8bit)一个字的字长为16一个字节的字长是8bps是bitspersecond的简称。一般数据机及网络通讯的传输速率都是以「bps」为单位。如56Kbps、100.0Mbps等等。B…

    2022年5月26日
    47
  • matlab randint,Matlab的randint函数用法「建议收藏」

    RANDINTGeneratematrixofuniformlydistributedrandomintegers.OUT=RANDINTgeneratesa”0″or”1″withequalprobability.OUT=RANDINT(M)generatesanM-by-Mmatrixofrandombinarynumbers.”0″an…

    2022年4月10日
    98

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号