重定向

标准输入输出重定向

£可爱£侵袭症+ 提交于 2020-01-30 00:47:16
程序会在运行中输出日志,并是通过java的日志类进行输出的。而如果关掉SSH运行程序,就会丢失这些信息。直观的解决办法是将输出到控制台的日志重定向到文件中,于是我将命令改为:sh auto.sh > console.txt &。不过事实并没像我想的那样,console.txt虽然被创建了,而日志并没有写在其中。后来请教Robert Chen,他让我用sh auto.sh >console.txt 2>&1 & 命令试一下,我输入了这个隐晦的命令之后,原本输出到控制台的日志内容终于被重定向到console.txt了。 下面来详细分析一下这条命令: sh auto.sh 运行shell脚本 >console.txt 将标准输出重定向到console.txt文件中 其实操作系统有三个常用的流: 0:标准输入流 stdin 1:标准输出流 stdout 2:标准错误流 stderr 一般当我们用 > console.txt,实际是 1>console.txt的省略用法;< console.txt ,实际是 0 < console.txt的省略用法。 java的日志类默认是输出到system.err中,所以要想将日志内容重定向到console.txt,需要将stderr重定向到console.txt. 将stderr重定向到console.txt的命令是 2 < console.txt。

http status 汇总

我的未来我决定 提交于 2020-01-29 07:51:29
常见HTTP状态码 200 OK 301 Moved Permanently 302 Found 304 Not Modified 307 Temporary Redirect 400 Bad Request 401 Unauthorized 403 Forbidden 404 Not Found 410 Gone 500 Internal Server Error 501 Not Implemented 100 Continue 初始的请求已经接受,客户应当继续发送请求的其余部分 101 Switching Protocols 服务器将遵从客户的请求转换到另外一种协议 200 OK 一切正常,对GET和POST请求的应答文档跟在后面 201 Created 服务器已经创建了文档,Location头给出了它的URL。 202 Accepted 已经接受请求,但处理尚未完成。 203 Non-Authoritative Information 文档已经正常地返回,但一些应答头可能不正确,因为使用的是文档的拷贝 204 No Content 没有新文档,浏览器应该继续显示原来的文档。如果用户定期地刷新页面,而Servlet可以确定用户文档足够新,这个状态代码是很有用的 205 Reset Content 没有新的内容,但浏览器应该重置它所显示的内容。用来强制浏览器清除表单输入内容

前端性能优化方法总结及响应状态码详解

倾然丶 夕夏残阳落幕 提交于 2020-01-28 14:12:52
前端优化的途径有很多,按粒度大致可以分为两类, 第一类是页面级别的优化,例如 HTTP请求数、脚本的无阻塞加载、内联脚本的位置优化等 ; 第二类则是代码级别的优化,例如 Javascript中的DOM 操作优化、CSS选择符优化、图片优化以及 HTML结构优化等等。另外,本着提高投入产出比的目的,后文提到的各种优化策略大致按照投入产出比从大到小的顺序排列。 一、页面级优化   1. 减少 HTTP请求数   这条策略基本上所有前端人都知道,而且也是最重要最有效的。都说要减少 HTTP请求,那请求多了到底会怎么样呢 ?首先,每个请求都是有成本的,既包含时间成本也包含资源成本。一个完整的请求都需要经过 DNS寻址、与服务器建立连接、发送数据、等待服务器响应、接收数据这样一个 “漫长” 而复杂的过程。时间成本就是用户需要看到或者 “感受” 到这个资源是必须要等待这个过程结束的,资源上由于每个请求都需要携带数据,因此每个请求都需要占用带宽。另外,由于浏览器进行并发请求的请求数是有上限的 (具体参见此处 ),因此请求数多了以后,浏览器需要分批进行请求,因此会增加用户的等待时间,会给用户造成站点速度慢这样一个印象,即使可能用户能看到的第一屏的资源都已经请求完了,但是浏览器的进度条会一直存在。   2.合理设置 HTTP缓存   缓存的力量是强大的,恰当的缓存设置可以大大的减少 HTTP请求

http status 汇总

瘦欲@ 提交于 2020-01-28 14:12:25
http status 汇总 常见HTTP状态码 200 OK 301 Moved Permanently 302 Found 304 Not Modified 307 Temporary Redirect 400 Bad Request 401 Unauthorized 403 Forbidden 404 Not Found 410 Gone 500 Internal Server Error 501 Not Implemented 100 Continue 初始的请求已经接受,客户应当继续发送请求的其余部分 101 Switching Protocols 服务器将遵从客户的请求转换到另外一种协议 200 OK 一切正常,对GET和POST请求的应答文档跟在后面 201 Created 服务器已经创建了文档,Location头给出了它的URL。 202 Accepted 已经接受请求,但处理尚未完成。 203 Non-Authoritative Information 文档已经正常地返回,但一些应答头可能不正确,因为使用的是文档的拷贝 204 No Content 没有新文档,浏览器应该继续显示原来的文档。如果用户定期地刷新页面,而Servlet可以确定用户文档足够新,这个状态代码是很有用的 205 Reset Content 没有新的内容,但浏览器应该重置它所显示的内容

Java学习笔记-全栈-web开发-06-Request&Response

送分小仙女□ 提交于 2020-01-28 04:58:17
Request&Response 1. HttpServletResponse 1.1 响应正文(主体) 1.2 响应编码 1.3 响应状态码 1.4 文件下载 1.5 手写验证码(了解) 1.6 工具类实现验证码 1.7 请求重定向 1.8 其他常用功能 1.8.1 设置缓存禁用 1.8.2 自动刷新 1.9 Response实现细节 2. HttpServletRequest 2.1 常用方法 2.1.1 获取客户端信息 2.1.2 获取请求头 2.1.3 获取请求参数(核心) 2.2 应用 2.2.1 获取表单数据一 getParameter 2.2.2 获取表单数据二 getParameterMap 存入model 2.2.3 获取表单数据三 通过beanutils封装参数(开发推荐) 2.2.4 获取原始表单数据 request.getInputStream 2.2.5 实现请求转发 2.2.6 实现请求重定向 2.2.7 转发和重定向的区别 2.2.8 include()、forward()、sendRedirect()的区别(重要) 1. HttpServletResponse Web服务器收到客户端的http请求,会 针对每一次请求,分别创建 一个用于代表请求的request对象、和代表响应的response对象。 1.1 响应正文(主体) getWrite();

Linux命令:>和>>输出

房东的猫 提交于 2020-01-27 22:07:47
> 重定向输出,覆盖原有内容; >> 重定向输出,又追加功能;示例: cat /etc/passwd > a.txt 将输出定向到a.txt中 cat /etc/passwd >> a.txt 输出并且追加 ifconfig > ifconfig.txt 来源: CSDN 作者: 学亮编程手记 链接: https://blog.csdn.net/a772304419/article/details/104077787

浏览器重定向(302)次数限制问题

青春壹個敷衍的年華 提交于 2020-01-27 13:42:45
问题:今天收到反馈说退出在IE8下,出现问题,无法正常完成退出和跳转。 接着对造成该问题的原因进行了排查,发现退出的接口使用了跳转的方式遍历了一遍白名单域名,来进行退出所有的域。在网上搜索了一下这样做会有什么问题,了解到不同的浏览器对重定向的次数也不相同,当重定向次数超过浏览器的限制的时候,页面会出现404访问不到的现象。那我们的退出会不会也是这种问题呢? 进而了解到ie7 8的重定向次数限制为10次,经过抓包发现,刚好在第十一次跳转的时候页面变成了404,进一步印证了这个猜想。通过改变重定向次数发现,ie8下的退出的问题,正由于上周五服务端给域名列表里加了一个域名,导致302跳转次数增加超过ie8的限制,出现了这个问题。 解决方案:减少了一个域名配置,并提供了接口形式的退出方式,进而避免了这个问题。 扩展:既然每个浏览器对重定向次数限制不一样,那么什么是重定向限制?各主要浏览器版本的限制次数是多少?怎么查看?能不能设置呢?下面进行详细说明: 1.什么是重定向限制? 答:重定向限制是指浏览器设置,限制你的浏览器的次数。会接受“重定向”从一个主机到另一个。例如,一个网站可能已经从一个服务器或URL移动到另一个技术或其他原因,为了更方便用户,网站所有者可以实施了一项命令,告诉浏览器自动走到另一个位置(重定向)。重定向限制错误可能发生无意中当一个web页面或页面无意中创建一个循环。例如

RESTFfu l规范 以及理解

本秂侑毒 提交于 2020-01-27 07:52:50
RESTFful规范介绍 ​ RESTful规范 ​ 熟悉RESTful API(接口)开发 ​ RESTful是个啥? ​ 规范 ​ 表现层状态转化 ​ 将传统的软件开发架构与通信协议做融合 用HTTP协议中的 请求方法 来表示增删改查四个动作 GET: 获取资源 POST: 创建资源 PUT:更新资源 DELETE:删除资源 RESTful优势: ​ 以图书的增删改查为例 ​ /books/ GET:获取图书信息 ​ /books/add/ POST:新增图书 ​ /books/1/edit/ POST: 编辑图书 ​ /books/1/del/ POST: 删除图书 ​ /books/ GET:查看所有的图书 ​ /books/ POST: 创建一本书 ​ /books/1/ PUT:编辑图书 ​ /books/1/ DELETE:删除图书 ​ /books/1 ​ id: 1 ​ title: 《跟MJJ学前端》 ​ publisher: '/publisher/1/' RESTful设计的误区: 1. URI不要包含动词! RESTful设计指南 状态码: 进入网址查询 https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#1xx_Informational_response 1xx(信息):收到请求,继续处理

shell脚本-重定向

青春壹個敷衍的年華 提交于 2020-01-27 03:55:31
写脚本代码的时候重定向是一个很重要的功能,比如打印日志什么的都需要用到。 大体来说: 重定向分为两种,一种叫临时重定向,一种叫长久重定向。 临时重定向就是每次在输出的时候都必须指定重定向:   echo  good for u   > log 这里实际上省略了一个1(标准输入),代表将标准输入转向到log中。 linux每个进程都有0, 1, 2 三个文件描述符。 重定向就是将这些文件描述符关联到相应的文件(设备), 比如默认的是0关联到标准输入,1关联到标准输出, 2关联到标准错误 如果你觉得你需要将他们关联到不同的地方那么就 进行重定向----实际上就是改变0,1,2 关联到的文件, 比如上面的例子, 1 默认关联的是标准输出,也就是显示器, 经过上面 的更改, 那么1 现在关联到了log文件之中。 我们echo 输出 总是输出到 文件描述符1 中的。 如果1 关联的是显示器就输入到显示器上, 1 关联的是log文件,那么就显示到log文件上 举个栗子:     0  -----  键盘     1  -----  显示器          2  -----  显示器 重定向就是改变对应关系。经过上面的命令后,对应关系变成了这样。 注意程序中的输入输出都是操作的文件描述符(也就是0,1,2这些数字),这些数字关联什么设备就从对应的设备进行 操作,这点明白后就了解重定向了。   

HTTP、时间戳和重定向理解

≯℡__Kan透↙ 提交于 2020-01-27 03:02:18
时间戳 在很多互联网公司,都会在URL后加一个时间戳,这是为了防止缓存,正常来说,加上时间戳后,这个请求会往服务器上发送一次请求。 当http协议为304的时候,代表是从本地缓存中读取的数据。所以,在正常的互联网公司,发布版本的时候,js、css后都会加上一个时间戳。 重定向实现原理 在我们重定向的时候,当我们访问OtherServlet这个请求,请求到服务器,服务器返回,响应头状态码为302,客户端收到状态码为302时,就会跳转到服务器返回的Location,如上图所示。 HTTP协议: http协议: 对浏览器客户端 和 服务器端 之间数据传输的格式规范。 http协议内容: 请求(浏览器-》服务器) GET /day09/hello HTTP/1.1 Host: localhost:8080 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: zh-cn,en-us;q=0.8,zh;q=0.5,en;q=0.3 Accept-Encoding: gzip, deflate