重定向

HttpClient 教程 (五)

帅比萌擦擦* 提交于 2020-01-27 02:52:21
第五章 HTTP客户端服务 5.1 HttpClient门面 HttpClient接口代表了最重要的HTTP请求执行的契约。它没有在请求执行处理上强加限制或特殊细节,而在连接管理,状态管理,认证和处理重定向到具体实现上留下了细节。这应该使得很容易使用额外的功能,比如响应内容缓存来装饰接口。 DefaultHttpClient是HttpClient接口的默认实现。这个类扮演了很多特殊用户程序或策略接口实现负责处理特定HTTP协议方面,比如重定向到处理认证或做出关于连接持久化和保持活动的持续时间决定的门面。这使得用户可以选择使用定制,具体程序等来替换某些方面默认实现。 DefaultHttpClient httpclient = new DefaultHttpClient(); httpclient.setKeepAliveStrategy(new DefaultConnectionKeepAliveStrategy() { @Override public long getKeepAliveDuration(HttpResponse response, HttpContext context) { long keepAlive = super.getKeepAliveDuration(response, context); if (keepAlive == -1) { //

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

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

HTTP状态码@蓝神

前提是你 提交于 2020-01-26 06:10:33
HTTP状态码 一、格式如下: 1**:请求收到,继续处理 2**:操作成功收到,分析、接受 3**:完成此请求必须进一步处理 4**:请求包含一个错误语法或不能完成 5**:服务器执行一个完全有效请求失败 二、状态代码 状态信息 含义 100 Continue 初始的请求已经接受,客户应当继续发送请求的其余部分。(HTTP 1.1新) 101 Switching Protocols 服务器将遵从客户的请求转换到另外一种协议(HTTP 1.1新) 200 OK 一切正常,对GET和POST请求的应答文档跟在后面。 201 Created 服务器已经创建了文档,Location头给出了它的URL。 202 Accepted 已经接受请求,但处理尚未完成。 203 Non-Authoritative Information 文档已经正常地返回,但一些应答头可能不正确,因为使用的是文档的拷贝(HTTP 1.1新)。 204 No Content 没有新文档,浏览器应该继续显示原来的文档。如果用户定期地刷新页面,而Servlet可以确定用户文档足够新,这个状态代码是很有用的。 205 Reset Content 没有新的内容,但浏览器应该重置它所显示的内容。用来强制浏览器清除表单输入内容(HTTP 1.1新)。 206 Partial Content

进程间通信二:管道技术之输入输出重定向

。_饼干妹妹 提交于 2020-01-26 06:10:23
转载自: http://blog.csdn.net/morewindows/article/details/7390350 本篇将介绍 输入输出的重定向问题, 先来看一个小小的实例,设有一个程序,该程序的输入输出为标准输入输出即从键盘上输入,输出到屏幕。现在要重定向输入法输出,使程序从文件中读取数据,处理后输出到文件。程序代码如下(称此程序为示例程序): [cpp] view plain copy #include <stdio.h> int main() { int n; while (scanf( "%d" , &n) != EOF) //标准输入时,可按ctrl+z来输入EOF { n *= 2; printf( "%d\n" , n); } } 试给出几种不同的实现方法,另外如果没有程序代码,只有可执行文件,又应该如何做了? 实现方法一使用C语言的freopen()函数 函数功能:重定向控制台的输入输出 函数原型: FILE * freopen ( const char * path , const char * mode , FILE * stream ); 函数说明: 第一个参数为文件指针(也可以用来指向标准输入输出)。 第二个参数为打开方式, "w" 表示 写, "r" 表示 读, "a" 表示 追加。其它设置可以参考 MSDN 。 第三个参数为 FILE 类型的指针

linux netcat命令

心不动则不痛 提交于 2020-01-26 00:38:37
netcat是网络工具中的“ 瑞士军刀” ,它能通过TCP和UDP在网络中读写数据。通过与其他工具结合和重定向,你可以在脚本中以多种方式使用它。使用netcat命令所能完成的事情令人惊讶。 netcat所做的就是在两台电脑之间建立链接并返回两个数据流, 在这之后所能做的事就看你的想像力了。你能建立一个服务器,传输文件,与朋友聊天,传输流媒体或者用它作为其它协议的独立客户端。 -a 显示所有socket,包括正在监听的。 netstat –apn |grep 进程名 查看所有的进程和端口使用情况。发现下面的进程列表,其中最后一栏是PID/Program name 下面是一些使用netcat的例子. [A(172.31.100.7) B(172.31.100.23)] Linux netcat 命令实例: 1,端口扫描 端口扫描经常被系统管理员和黑客用来发现在一些机器上开放端口,帮助他们识别系统中的漏洞。 $nc -z -v -n 172.31.100.7 21-25 可以运行在TCP或者UDP模式,默认是TCP,-u参数调整为udp. z 参数告诉netcat使用0 IO,指的是一旦连接关闭,不进行数据交换(译者注:这里翻译不准,如有其它更好的,请指出) v 参数指使用冗余选项(译者注:即详细输出) n 参数告诉netcat 不要使用DNS反向查询IP地址的域名

森林病虫防治系统 (结束)

倖福魔咒の 提交于 2020-01-25 05:28:50
明天开始答辩。 今天老师给我们整理了一些知识点。 第一章 java Web 工作原理 重点: 什么是HTTP?(了解) HTTP是一种超文本传送协议,是一套计算机在网络通信的一种规则。 特记:HTML超文本标记语言,以.htm或.html为扩展名, HTTP 请求/响应包含哪些内容?(了解) HTTP请求包含了:请求行,请求头,空行与消息体。 HTTP响应包含了:状态行,响应头,空行与消息体。 第二章 Servlet基础 重点: Servlet 生命周期?(了解) Servle生命周期大体可以分为:初始化,服务,销毁3个阶段。 初始化: 第一个阶段主要工作,容器装载并实例化servlet,并触发init()方法装载资源。 服务阶段: 主要处理来源于客户端的各种请求与给出响应,请求到达时触发service()方法,处理请求产生响应。servlet是多线程的,容器只装载一个servlet实例,初始化只执行一次,但是请求达到时,每个请求被servlet的service()方法执行的线程并发处理。 销毁: servlet的销毁代表着该servlet实例被容器丢弃,一般是容器关闭或容器需要空闲内存时,容器通过调用destroy()来销毁。 需要说明的是:servlet调用service()方法之后提供了7个常见的辅助方法,其中doGet()与doPost()

组策略内容一览

喜欢而已 提交于 2020-01-25 04:02:36
内容一览 简介 xxv 第1章 组策略要点 1 第2章 使用GPMC和通过PowerShell管理组策略 67 第3章 组策略处理行为要点 169 第4章 高级组策略处理 223 第5章 组策略首选项 249 第6章 使用组策略管理应用程序和设置 335 第7章 对组策略进行故障排除 379 第8章 使用组策略实施安全性 465 第9章 配置文件:本地,漫游和强制性 579 第10章 托管桌面,第1部分:重定向文件夹, 脱机文件和同步管理器 643 第11章 托管桌面,第2部分:软件部署 通过组策略 723 第12章 完成组策略的操作:脚本,Internet Explorer,硬件控制,打印机部署,本地 管理员密码控制797 附录A 脚本编写组策略操作 Windows PowerShell 839 附录B 组策略和VDI 885 附录C 高级组策略管理 897 附录D 安全合规管理器 969 附录E Microsoft Intune和PolicyPak Cloud 991 索引 1005 内容 简介 xxv 第1章 组策略要点 1 准备使用本书 2 组策略入门 7 组策略实体和策略设置 7 Active Directory和本地组策略9 了解本地组策略 10 组策略和Active Directory 13 链接组策略对象 15 关于本地GPO的最终思考20 组策略应用示例 21

springMVC带参数请求重定向

陌路散爱 提交于 2020-01-24 20:50:38
SpirngMVC返回逻辑视图名 可以分下面几种情况: 1. servlet进行请求转发,返回到jsp页面,如 return "index.jsp" ; 2. servlet 返回结果,让请求 重定向到某个jsp页面 ,此时servlet 返回语句类似: return " redirect : index.jsp "; 3. servlet 的返回结果是 请求另外一个servlet 此时servlet 返回语句类似: return " redirect : goIndex.do "; 4. servlet 的返回结果是 请求另外一个servlet,并且还需要带上请求参数,也就是 Controller 间的带参数重定向 ,此时servlet 返回语句就不能直接写了,需要进行url拼接再返回: 类似: String url="redirect: goSeeComment.do?newsId="+newsid; return url; 举个例子 ,下面的代码片段实现这么一个功能,从一个新闻显示列表中,点击添加评论按钮(跳转到goAddComment.do,把新闻newsId 转发到addComment.jsp),为该条新闻添加评论,添加完评论进行表单的提交(提交到addComment.do),然后再返回到这条新闻对应的评论列表: 1 //添加评论步骤1:获取newsId

[书摘]图解HTTP 状态码

吃可爱长大的小学妹 提交于 2020-01-24 14:42:54
状态码类别: 1XX   informational 信息性状态码 2XX  Suess 成功状态码 3XX  Redirection 重定向状态码 4XX  Client error 客户端错误状态码 5XX  server error 服务器错误状态码 具体的状态码为: 200 OK 表示正常被处理 204 NO CONTENT 正常被处理 但是无返回值 一般用于客户端给服务器端发送信息, 服务器端不需要返回信息 206 PARTIAL CONTENT 响应报文包含有content-range范围中的信息. 301 Moved Permanently 永久性重定向 表示请求的资源已经被分配了新的URI 需要使用新的地址进行访问. 302 Found 临时性重定向 303 See Other 请求的资源存在另外一个URI 应该使用GET方法定向获取请求的资源 304 Not Modified 服务器端的资源未改变,可以直接使用客户端的缓存 307 Temporary Redirect 临时重定向 400 Bad Request 表示客户端请求的报文有语法错误,需要客户端修改 401 Unauthorized 表示发送的请求需要有HTTP认证, 如果是第一次打开应该弹出登录用户的提示 403 Forbidden 表示请求访问的资源被服务器拒绝,并且服务器没必要给出详细信息 404

转发和重定向的过程和区别

巧了我就是萌 提交于 2020-01-24 08:48:31
转发 req.getRequestDispatcher("/要跳转的地址").forward(req, resp); 转发的过程:(以servlet和jsp为例) 浏览器首先发送一个请求到服务器端,服务器端发现匹配的 servlet,并指定它去执行,当这个 servlet 执行完之后,它要调用getRequestDispacther()方法,把请求转发给指定的jsp页面,整个流程都是在服务器端完成的,而且是在同一个请求里面完成的,因此 servlet 和 jsp 共享的是同一个request,在 servlet 里面存放的所有东西,在jsp页面中都能取出来。整个过程是一个请求,一个响应。 易错点: a)地址栏不会改变 b)转发只能转发到当前web应用内的资源 c)在转发过程中,可以把数据保存到request域对象中(因为转发使用同一个request域) d)转发是在服务器端的跳转,浏览器并不知情 重定向 resp.sendRedirect("/要跳转的地址"); 重定向的过程:(以servlet和jsp为例) 浏览器发送一个请求到服务器端,服务器端匹配servlet,这都和请求转发一样,servlet 处理完之后调用了sendRedirect()这个方法,这个方法是response的方法,所以当这个servlet处理完之后,看到response.senRedirect()方法