重定向

c# MVC中控制器中的return Redirect() RedirectToAction(); 重定向

家住魔仙堡 提交于 2019-12-01 08:34:36
Redirect() 方法可以让浏览器进行重定向,返回给浏览器的是 302 和重定向的地址。 如: return Redirect("/Test/F1"); 就是浏览器访问 TestController.cs 控制中的 F1()方法。F1()方法再响应页面或者做其他操作。所以Redirect() 作用就是让浏览器重定向到指定controller的action RedirectToAction()方法和Redirect()一样,可以起到重定向的作用。有两个重载需要注意。 如 在 TestController.cs中的F1()中写改方法, return RedirectToAction("F2"); 浏览器,访问当前Test这个Controller的F2()方法。 return RedirectToAction("list","Person"); //重定向到PersonController.cs控制器的List()方法下。 // RedirectToAction(string actionname,string controllerName); 来源: https://www.cnblogs.com/sunny3158/p/11673278.html

Nginx错误页面重定向

天涯浪子 提交于 2019-12-01 08:25:18
Nginx至少存在两种不同的配置来指定错误页面: 使用try_files配置项。 使用error_page配置项。 先介绍使用try_files配置项的情况。 Nginx提供的try_files配置允许在一个location中指定多个潜在的可能的响应页面,Nginx将按照定义的次序依次尝试访问这些响应页面,直到成功访问该页面。根据这个机制,可以在try_files配置的页面列表的最后面加上一个页面作为默认的错误页面。 配置内容: location /abc { root html; try_files $uri /404.html; } 运行结果: 当请求存在的页面时,将正常访问该页面。当访问到不存在的页面时,将跳转到/404.html页面,此时浏览器地址栏URL没变化,但是状态码不再是404,而是200。 再介绍使用error_page配置项指定错误页面的情况。 error_page配置项存在以下多种重定向方式,Nginx做了不同的处理,实际访问到页面也存在一定的差异,而浏览器的地址栏的表现也存在不同。 下面分别讨论在各种不同重定向方式下,访问同一个URL,而这个URL对应的原始页面不存在的情况下,Nginx的处理方式以及浏览器的表现。 试验过程中,浏览器中输入的原始URL都是:http://ng.coe2coe.me:8000/abc/2.txt 这个URL对应的页面并不存在

请求转发和重定向的区别

 ̄綄美尐妖づ 提交于 2019-12-01 08:17:46
请求转发 是服务器内部把对一个request/response的处理权,移交给另外一个。 对于客户端而言,它只知道自己最早请求的那个A,而不知道中间的B,甚至C、D。 传输的信息不会丢失。 重定向,是两次request 客户端request A,服务器响应,并response回来,告诉浏览器,你应该去B。 重定向可以访问自己web应用以外的资源。 在重定向的过程中,传输的信息会被丢失。 来源: https://www.cnblogs.com/sketeton/p/11672567.html

Http协议

空扰寡人 提交于 2019-12-01 08:16:04
TCP/IP HTTP 协议在 根据 TCP/IP 网络分层来看,它是属于应用层,TCP/IP 网络分层总共有5层,它是属于最上层,它的下一层则是 TCP/IP 传输层,如图所示 HTTP请求协议 http请求由三部分组成,分别是: 请求行、消息报头、请求正文 HTTP(超文本传输协议)是一个基于请求与响应模式的、无状态的、应用层的协议,常基于TCP的连接方式,HTTP1.1版本中给出一种持续连接的机制,绝大多数的Web开发,都是构建在HTTP协议之上的Web应用。 1、常用的HTTP方法有哪些? GET: 用于请求访问已经被URI(统一资源标识符)识别的资源,可以通过URL传参给服务器。 POST: 用于传输信息给服务器,主要功能与GET方法类似,但一般推荐使用POST方式。 PUT: 传输文件,报文主体中包含文件内容,保存到对应URI位置。 HEAD: 获得报文首部,与GET方法类似,只是不返回报文主体,一般用于验证URI是否有效。 DELETE: 删除文件,与PUT方法相反,删除对应URI位置的文件。 OPTIONS: 查询相应URI支持的HTTP方法。 2、GET方法与POST方法的区别 区别一: get重点在从服务器上获取资源,post重点在向服务器发送数据; 区别二: get传输数据是通过URL请求,以field(字段)= value的形式,置于URL后,并用"?"连接

linux环境下nohup的执行jar

让人想犯罪 __ 提交于 2019-12-01 07:56:27
java -jar XXX.jar & 命令结尾没有 “&” ,则变成 “java -jar XXX.jar ” ,表示在当前ssh窗口,可按CTRL + C打断程序运行,或者直接关闭窗口,则程序直接退出 命令结尾添加 “&” ,则变成 “java -jar XXX.jar &” ,表示在当窗口关闭时,程序才会中止运行。&代表让该命令在后台执行。 nohup java -jar XXX.jar > Log.log & 或者 nohup java -jar XXX.jar >> Log.log & 命令 "nohup java -jar XXX.jar &" 部分,表示不挂断运行命令,当账户退出或终端关闭时,程序仍然运行。注意,该作业的所有输出被重定向到nohup.out的文件中。 命令 "nohup java -jar XXX.jar > Log.log &" 部分,表示不挂断运行命令,当账户退出或终端关闭时,程序仍然运行,并且该作业的所有输出被重定向到Log.log的文件中。“ > Log.log ” 该命令就是指定日志输出的文件。 ">>"表示将输出以追加的方式重定向到Log.log中。 nohup java -jar XXX.jar > Log.log 2>&1 & 或者 nohup java -jar XXX.jar >> Log.log 2>&1 & 或者 nohup

SpringMVC框架之第三篇

百般思念 提交于 2019-12-01 07:20:14
2.高级参数绑定(重点) 2.1.数组类型 数组类型的参数可以传递一批相同的数据到Controller的方法中。 2.1.1.需求 批量删除:在商品列表页面选中多个商品,然后删除。 2.1.2.需求分析 此功能要求商品列表页面中的每个商品前有一个checkbook,选中多个商品后点击删除按钮把商品id传递给Controller,根据商品id删除商品信息。 功能分解 前端:1)能选中多个商品;2)能提交选中的多个商品 后端:1)能接收到选中商品的id;2)进行删除处理 2.1.3.演示代码 1.Jsp 可以重新创建一个专门演示批量删除的画面【itemListDelBatch.jsp】,利用原来的itemList.jsp拷贝一个,然后在表格的最前面增加一列checkbox。 【itemListDelBatch.jsp】 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%> <!DOCTYPE html

springmvc中重定向该如何处理?

蹲街弑〆低调 提交于 2019-12-01 06:56:39
如果登录成功,会重定向到系统首页 response.sendRedirect("jsp/frame.jsp"); 在springmvc中,应该如何处理?是否可以直接使用 return "frame"; 来进行页面的重定向? 一般情况下,控制器方法返回的字符串会被当成逻辑视图吗处理,这仅仅是惊醒服务端的页面跳转而已,并非客户端重新发送新的url请求, 若想进行重定向操作,就需要加入 redirect: 前缀 ,springmvc将对它进行特殊处理,将 redirect: 当作指示符,其后的字符串作为url处理。如下 @RequestMapping(value = "/dologin.html", method = RequestMethod.POST) public String doLogin(@RequestParam String userCode, @RequestParam String userPassword){ //省略 return "redirect:/user/main.html"; //response.sendRedirect("jsp/frame.jsp"); } 来源: https://www.cnblogs.com/yanguobin/p/11665146.html

常见的HTTP状态码详细解析

有些话、适合烂在心里 提交于 2019-12-01 06:14:10
http状态码分为五类 :    1XX   信息     服务器收到请求,需要请求者继续操作    2XX   成功    请求被成功接手并返回给请求者    3XX   重定向   需要进一步操作才能完成请求    4XX   客户端错误 请求包含语法错误,或无法完成请求    5XX   服务端错误 服务端在处理请求过程发生了错误         200是请求成功,并向客户端成功返回    301、302、307的区别?   301是永久移动   请求的资源被永久的移动到新的URL上,返回的信息包含了新URL,浏览器保存新URL。   302是临时移动   请求的资源临时的移动到新URL上,客户端仍使用旧URL,浏览器也会保存旧到URL。(可能发生网址劫持)   307是临时重定向  与302类似,但若为post请求,客户端要向首部location里的URI重新发起POST请求。   303是查看其他地址  若为post请求,明确表示要用GET请求首部location里的URI   304是请求资源未被修改  客户端发送附带条件的请求时,服务端允许请求访问资源,但因请求不满足条件,重定向直接使用客户端缓存的资源   200、304的区别?   200 (from cache)是强制缓存,直接从缓存里取资源,与服务器无交流。   304(not modified)是协商缓存

HSTS详解

亡梦爱人 提交于 2019-12-01 05:35:50
1. 缘起:启用HTTPS也不够安全 有不少网站只通过HTTPS对外提供服务,但用户在访问某个网站的时候,在浏览器里却往往直接输入网站域名(例如 www.example.com ),而不是输入完整的URL(例如 https://www.example.com ),不过浏览器依然能正确的使用HTTPS发起请求。这背后多亏了服务器和浏览器的协作,如下图所示。 图1:服务器和浏览器在背后帮用户做了很多工作 简单来讲就是,浏览器向网站发起一次HTTP请求,在得到一个重定向响应后,发起一次HTTPS请求并得到最终的响应内容。所有的这一切对用户而言是完全透明的,所以在用户眼里看来,在浏览器里直接输入域名却依然可以用HTTPS协议和网站进行安全的通信,是个不错的用户体验。 一切看上去都是那么的完美,但其实不然,由于在建立起HTTPS连接之前存在一次明文的HTTP请求和重定向(上图中的第1、2步),使得攻击者可以以中间人的方式劫持这次请求,从而进行后续的攻击,例如窃听数据,篡改请求和响应,跳转到钓鱼网站等。 以劫持请求并跳转到钓鱼网站为例,其大致做法如下图所示: 图2:劫持HTTP请求,阻止HTTPS连接,并进行钓鱼攻击 第1步:浏览器发起一次明文HTTP请求,但实际上会被攻击者拦截下来 第2步:攻击者作为代理,把当前请求转发给钓鱼网站 第3步:钓鱼网站返回假冒的网页内容 第4步

freopen()重定向

℡╲_俬逩灬. 提交于 2019-12-01 04:33:29
freopen函数: 使用不同的文件或模式重新打开流,即重定向 C++ //把一个字符串写入到文件中去: #include<iostream> using namespace std; int main(void) { /* redirect standard output to a file */ if(freopen("D:\\out.txt", "w", stdout) == NULL) fprintf(stderr,"error redirecting stdout\n"); /* this output will go to a file */ printf("This will go into a file.\n"); string s = "12345"; cout<<s<<endl; int a,b; while(cin>>a>>b){ cout<<a<<b<<endl; } /*close the standard output stream*/ fclose(stdout); return 0; } View Code #include <iostream> using namespace std; int main(void) { FILE *fp; fp = freopen("D:\\in.txt","r",stdin); //freopen() 的返回值