重定向

【深入HTTP协议】

筅森魡賤 提交于 2019-11-28 08:47:59
目录 HTTP 请求 HTTP 响应 原文: http://blog.gqylpy.com/gqy/305 HTTP是(Hyper Text Transfer Protocol)超文本传输协议的缩写. HTTP的发展是万维网协会(World Wide Web Consortium)和Internet工作小组IETF(Internet Engineering Task Force)合作的结果,(他们)最终发布了一系列的RFC. RFC 1945定义了HTTP/1.0版本,其中最著名的就是RFC 2616,RFC 2616定义了今天普遍使用一个版本——HTTP 1.1 -------> HTTP协议(Hyper Text Transfer Protocol)超文本传输协议是用于从WWW服务器传输超文本到本地浏览器的传送协议. 它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等. @ HTTP响应模型 · HTTP协议永远都是客户端发起请求,服务器回送响应,如下图: 这样就限制了使用HTTP协议,无法实现在客户端没有发起请求的时候,服务器将消息推送给客户端. HTTP工作流程 · 一次HTTP操作称为一个事务 ,其工作过程可分为四步: 首先客户机与服务器需要建立连接。只要单击某个超级链接

3 Django视图层

℡╲_俬逩灬. 提交于 2019-11-28 08:22:58
视图函数 一个视图函数,简称视图,是一个简单的Python 函数,它接受Web请求并且返回Web响应。响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片. . . 是任何东西都可以。无论视图本身包含什么逻辑,都要返回响应。代码写在哪里也无所谓,只要它在你的Python目录下面。除此之外没有更多的要求了——可以说“没有什么神奇的地方”。为了将代码放在某处,约定是将视图放置在项目或应用程序目录中的名为 views.py 的文件中。 下面是一个返回当前日期和时间作为HTML文档的视图: from django.shortcuts import render, HttpResponse, HttpResponseRedirect, redirect import datetime def current_datetime(request): now = datetime.datetime.now() html = "<html><body>It is now %s.</body></html>" % now return HttpResponse(html) 让我们逐行阅读上面的代码: 首先,我们从 django.shortcuts 模块导入了 HttpResponse 等类,以及Python的 datetime 库。 接着,我们定义了

shell笔记_重定向与文本处理命令

爷,独闯天下 提交于 2019-11-28 08:01:01
重定向和管道符: 1、重定向 程序 = 指令 + 数据 命令 变量 在程序中,数据如何输入?又如何输出? 数据输入:键盘 -- 标准输入,但是并不是唯一输入方式; --stdin echo "123456" | passwd --stdin "username" 例如:功能添加用户 useradd.sh user.txt文本文档1000个用户 ./useradd.sh a ./useradd.sh b ... ./useradd.sh < user.txt while line ; do 循环体 $line done < /etc/passwd 数据输出: 显示器 -- 标准输出,但是并不是唯一输出方式 ls /etc/ > a.txt fd 文件标识符 0-9 -- 相当于给文件分类; 0 1 2 0 -- 标准输出 1 -- 标准输入 2 -- 错误输入输出(标准错误) 常见重定向符号 1、标准输出 > 覆盖重定向、非常危险 set -C 关闭覆盖重定向功能 >| 强制重定向 >> 追加重定向 不覆盖 2、标准输入 < tr 替换文件内容 tr set1 [set2] < file.txt << 将多行数据同时输入 cat >>a.txt<<EOF >1 >2 >3 >EOF 3、错误输出 2> 2>> 扩展:不需要输出内容,只需要输出状态; ls /etc/ > /dev

http的缓存机制面试版

北城以北 提交于 2019-11-28 07:09:50
最近面试了4间公司,有3间问了我http的缓存机制。面试过后我上网查了挺多资料的,找到了一个相对不错的!稍微画了一下重点。 先简单介绍一下HTTP报文: HTTP报文就是浏览器和服务器间通信时发送及响应的数据块。 浏览器向服务器请求数据,发送请求(request)报文;服务器向浏览器返回数据,返回响应(response)报文。 报文信息主要分为两部分 1.包含属性的首部(header)————————–附加信息(cookie,缓存信息等)与缓存相关的规则信息,均包含在header中 2.包含数据的主体部分(body)———————–HTTP请求真正想要传输的部分 1.Expires策略 不过Expires 是HTTP 1.0的东西,现在默认浏览器均默认使用HTTP 1.1,所以它的作用基本忽略。 2.Cache-control策略(重点关注): Cache-Control与Expires的作用一致,都是指明当前资源的有效期,控制浏览器是否直接从浏览器缓存取数据还是重新发请求到服务器取数据。只不过Cache-Control的选择更多,设置更细致,如果同时设置的话,其优先级高于Expires。 它的值有一下6种 Cache -Control 是最重要的规则。常见的取值有 private 、 public 、no -cache 、 max -age ,no -store ,默认为

[原]Nginx重定向Rewrite分析

試著忘記壹切 提交于 2019-11-28 07:04:17
http://homeway.me 0x01.About 之前写过Nginx重定向了, http://homeway.me/2014/10/28/nginx-reverse-proxy-conf/ ,但当时比较模糊。 这里主要说两种常用的重定向,都是php中的重定向。 一种是typecho的带 index.php 例如 http://homeway.me/index.php/arg1/arg2 ,另一种是隐藏 index.php 的 http://homeway.me/arg1/arg2 。 以下配置代码均亲测可用。 0x02.ngx_http_rewrite_module 首先还是按常理,先脑补下nginx地rewrite规则, http://nginx.org/en/docs/http/ngx_http_rewrite_module.html 关于nginx重写的指令主要由这么一些: 1. break指令 2. if指令 3. return指令 4. rewrite指令 5. rewrite_log指令 6. set指令 break指令 停止执行当前虚拟主机的后续rewrite指令集 if指令 对给定的条件condition进行判断。如果为真,大括号内的rewrite指令将被执行。 有几个要记住的操作符: 使用=,!= 比较的一个变量和字符串 是用~,~*与正则表达式匹配的变量

nginx目录路径重定向

微笑、不失礼 提交于 2019-11-28 06:57:28
nginx目录路径重定向 目录 1 nginx修改root映射 2 通过nginx rewrite内部跳转实现访问重定向 3 nginx设置别名alias映射实现 4 通过nginx的permanent 301绝对跳转实现 5 通过判断uri实现页面跳转 如果希望域名后边跟随的路径指向本地磁盘的其他目录,而不是默认的web目录时,需要设置nginx目录访问重定向. 应用场景:dashidan.com/image自动跳转到dashidan.com/folderName/image.nginx目录路径重定向的四种实现方式.修改root映射,通过Nginx rewrite内部跳转,设置别名alias映射实现,通过nginx的permanent 301绝对跳转实现. 1 nginx修改root映射 修改root映射实现nginx目录访问重定向是最简单的方式, 推荐采用这一种. location / image { root / folderName ; } 2 通过nginx rewrite内部跳转实现访问重定向 nginx配置代码示例: location / image { rewrite ^ /image/ (.*) $ / folderName / image / $1 last ; } 3 nginx设置别名alias映射实现 配置示例: location / image {

你真的了解nginx重定向URI?-rewrite和alias指令

我与影子孤独终老i 提交于 2019-11-28 06:57:06
未经允许不得转载!最近发现有博主转载我的文章,并没有跟我打招呼,也没有注明出处!!!! 熟悉Nginx的同学都知道Nginx可以用来做负载均衡和反向代理,非常好用。做前后端分离也是非常的方便。 今天我们就来说一下,用Nginx做前后端分离时如何做URI重定向? 什么是URI重定向? 就是说访问某一个或者某一规则URI时由Nginx的配置来决定重定向到另外一个或一类URI。 有啥用呢? 其中一个作用就是可以将请求映射到真实目录。具体啥意思呢? 比如我们的URL是 http://www.abc.com/ITwalking/page/index.html 而index.html在我们的系统目录 D:/resources/ITwalking/page/ 下 这时我们可以这样配置location: location /ITwalking {   root D:/resources/; } 用root这种方式配置的话,location后面的ITwalking是作为系统目录的, 即 D:/resources/下要有/ITwalking/page 这层目录。 这种配置是没问题的。 但假如我们的 D:/resources/ 下直接就是page, 然后下面直接就是文件呢,中间没有/ITwalking这层目录,怎么办呢?你可能会想,新建个ITwalking把page及其中的文件移动到里面

nginx重定向URI之rewrite和alias

↘锁芯ラ 提交于 2019-11-28 06:56:23
未经允许不得转载!最近发现有博主转载我的文章,并没有跟我打招呼,也没有注明出处!!!! 熟悉Nginx的同学都知道Nginx可以用来做负载均衡和反向代理,非常好用。做前后端分离也是非常的方便。今天我们就来说一下,用Nginx做前后端分离时如何做URI重定向? 什么是URI重定向? 就是说访问某一个或者某一规则URI时由Nginx的配置来决定重定向到另外一个或一类URI。 有啥用呢? 其中一个作用就是可以将请求映射到真实目录。具体啥意思呢? 比如我们的URL是 http://www.abc.com/ITwalking/page/index.html 而index.html在我们的系统目录 D:/resources/ITwalking/page/ 下 这时我们可以这样配置location: location /ITwalking { root D:/resources/; } 用root这种方式配置的话,location后面的ITwalking是作为系统目录的, 即D:/resources/下要有/ITwalking/page这层目录。 这种配置是没问题的。 但假如我们的D:/resources/下直接就是page, 然后下面直接就是文件呢,中间没 有/ITwalking这层目录,怎么办呢?你可能会想,新建个ITwalking把page及其中的文件移动到里面

shiro 配置参数的含义

試著忘記壹切 提交于 2019-11-28 05:57:11
anon 任何用户发送的请求都能够访问 authc 经过认证的请求可访问,否则将会将请求重定向到 ini 配置文件配置的 authc.loginUrl 资源,进行认证操作 authc.loginUrl=/login.jsp 用户认证资源地址是/login authc.successUrl=/ #认证成功后重定向到此资源 authc.usernameParam=username #从请求参数中获取key=username的value作为用户名 authc.passwordParam=password #从请求参数中获取key=password的value作为密码 authc.rememberMeParam=rememberMe #从请求参数中获取key=rememberMe的value作为是否记住密码的标识 logout 结束会话 logout.redirectUrl=/ #结束会话后重定向到此资源 port 指定请求端口 port=8080 #8080端口的请求可通过 上文中经过认证的意思:见链接: https://www.cnblogs.com/isme-zjh/p/11395917.html 原文链接:https://blog.csdn.net/tengdazhang770960436/article/details/53486160 来源: https://www

9、重定向和转发

泪湿孤枕 提交于 2019-11-28 05:37:55
重定向   1、什么是重定向?     在服务器为浏览器提供响应时,回传的数据包中的状态行里面是302状态码,同时在消息头内会增加一个键值对,名称为Location,值是一个新的URL地址。当这个响应到达浏览器的时候,这一次的请求响应过程并未结束,浏览器遇见302状态码之后,会立即按照Location头信息中指定的URL地址发送新的一个请求,这样一个 在接到响应后又立即发出请求的过程叫做重定向 。对于客户端用户来讲,中间的变化过程不会被察觉,因为这个过程是由浏览器自动完成的。   2、重定向的特点     重定向地址任意     重定向之后浏览器的地址会发生变化     重定向之前,容器会清空response对象上存放的所有数据。也就是说实体内容内是没有任何数据的。   3、如何实现 重定向?     response.sendRedirect(String url),resoponse调用是因为发回的响应信息是由response对象控制      转发   1、什么是转发?      在Web服务器端处理用户请求的时候,会有需要多个Web组件配合才能完成的情况。 一个Web组件(Servlet/JSP)将未完成的处理通过容器转交给另外一个Web组件继续完成,这个转交的过程叫做转发。     常见情况是Servlet负责获取数据,然后将数据转交给JSP进行展现。   2