response

Volley源码解析(二)

北城以北 提交于 2020-02-29 01:47:44
上一篇博客介绍了Volley的请求流程,本篇会分别介绍请求过程,缓存过程,回调过程 请求过程 从NetworkDispatcher的run方法开始分析 while ( true ) { Request < ? > request ; try { // Take a request from the queue. request = mQueue . take ( ) ; } catch ( InterruptedException e ) { // We may have been interrupted because it was time to quit. if ( mQuit ) { return ; } continue ; } try { // Perform the network request. NetworkResponse networkResponse = mNetwork . performRequest ( request ) ; // If the server returned 304 AND we delivered a response already, // we're done -- don't deliver a second identical response. if ( networkResponse . notModified &&

JSP页面后台跳转

我们两清 提交于 2020-02-28 20:12:06
1、通过response传参 response.sendRedirect(path); 一方面sendRedirect的请求中,?后面的参数必须手动进行URLEncoding。如:   String message = URLEncoder.encode("输入成功", "UTF-8");   response.sendRedirect("A.jsp?message=" + message); 另一方面,A.jsp接收到的message需要进行一定的处理。如   <%    String tmp = request.getParameter("name");    tmp = new String(tmp.getBytes("ISO-8859-1"), "UTF-8");   %> jsp使用:   <%=tmp%> 2、通过request传参   request.getRequestDispatcher("/error.jsp?ErrorMsg="+msg).forward(request, response);访问绝对路径:站点根路径+“/error.jsp”   request.getRequestDispatcher("error.jsp?ErrorMsg="+msg).forward(request, response);访问相对路径:最后路径为当前访问的路径+“

Vue、PHP、Bootstrap联手打造简单数据管理表格

丶灬走出姿态 提交于 2020-02-28 20:07:48
这是一个用Vue、Bootstrap和PHP一起写的小实例,回顾总结了一下之前学习的知识,顺带添加点学习乐趣。 先上效果图: 用到的知识有:Vue数据绑定及组件、Bootstrap界面、PHP-AJAX交互、MySQL存储,其他细节的就不说了。 建立的文件有三个:一个HTML文件(Vue.html,js内嵌在HTML中)、两个PHP文件(getData.php、addData.php)。 首先构建前端界面:    1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title>测试HTML</title> 6 <link href="https://cdn.bootcss.com/bootstrap/4.0.0-alpha.6/css/bootstrap.min.css" rel="stylesheet"> 7 <link href="https://cdn.bootcss.com/tether/1.3.6/css/tether.min.css" rel="stylesheet"> 8 <style type="text/css"> 9 #app-1{ 10 width: 50%; 11 margin:auto; 12 margin-top: 6%; 13 } 14 .btn{ 15 cursor:

http协议

给你一囗甜甜゛ 提交于 2020-02-28 15:08:37
一、什么是HTTP协议   HTTP是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程。客户端连上web服务器后,若想获得web服务器中的某个web资源,需遵守一定的通讯格式,HTTP协议用于定义客户端与web服务器通迅的格式。 二、HTTP协议的版本   HTTP协议的版本:HTTP/1.0、HTTP/1.1 三、HTTP1.0和HTTP1.1的区别   在HTTP1.0协议中,客户端与web服务器建立连接后,只能获得一个web资源。   在HTTP1.1协议,允许客户端与web服务器建立连接后,在一个连接上获取多个web资源。 四、HTTP请求 4.1、HTTP请求包括的内容    客户端连上服务器后,向服务器请求某个web资源,称之为客户端向服务器发送了一个HTTP请求 。 一个完整的HTTP请求包括如下内容: 一个请求行、若干消息头、以及实体内容 范例: 4.2、HTTP请求的细节——请求行   请求行中的GET称之为请求方式,请求方式有:POST、GET、HEAD、OPTIONS、DELETE、TRACE、PUT,常用的有: GET、 POST   用户如果没有设置,默认情况下浏览器向服务器发送的都是get请求,例如在浏览器直接输地址访问

apache.commons.httpclient.HttpClient get/post请求

好久不见. 提交于 2020-02-28 14:15:44
一、httpclient 发送请求的步骤(流程) 1、创建httpclient 对象 2、创建某种连接方式的对象 --如 GetMethod PostMethod 等对象,构造函数中是请求地址即url,如果是get请求可以在url后面添加请求参数 如: http://127.0.0.1:8080/music?id=1&name=name 3、 调用第一步中创建好的实例的 execute 方法来执行第二步中创建好的 method 实例,也就是这时候发送了请求 4、获取服务器响应的值 5、关闭连接,这个和 连接数据库之后释放资源一样,执行之后要释放连接资源 6、处理获得的数据 二、核心代码:org.apache.commons.httpclient.HttpClient get请求来实现,响应返回的数据格式为jsonobject格式 1、发送请求,请求成功响应数据的处理 // 创建 httpclient 对象 HttpClient httpclient= new HttpClient(); //创建请求方式 GetMethod getMethod = new GetMethod("http://localhost:8080/music/user/delete.do?id=1"); // 响应状态的判断 try{ int status= httpclient.executeMethod

request的cache-control和response cache-control不同点

喜欢而已 提交于 2020-02-28 12:22:53
HTTP协议中,关于一些头域的解释很模糊,网上的解释有些甚至是打架的,例如cache-control:no-cache,为了搞清这个头,google了不少资料,但很多都是各有各说法,甚至相互矛盾。http header中cache-control无疑是非常重要的一个头,往往涉及到性能问题,缓存,缓存代理等等都无法避免跟cache-control打交道。当然还有其他一些头域如last-modified,但它们含义都非常明确,至少没有cache-control那么含糊。 就连浏览器之间,对cache-control也有不同的理解,导致了对这个头的不同的表现。 网上很多关于cache-control的资料写得很模糊,我觉得很多都没有,或者可能是忽略了几个地方,使得我们看着这些资料的时候,似懂非懂。或者作者觉得某些地方足够容易理解,所以根本不觉得需要强调,但正是这些被忽略掉的“前提条件”令我们即使看完资料,也很难弄懂问题。那些对cache-control进行解释的资料通常会忽略的一些"前提条件"有这几个: 1.cache-control是出现在response还是request中。很多资料在解释cache-control时候,都没有指明是response中的cache-control(也就是由服务器应答时发送的cache-control)还是request中的cache-control

Django中间件的5种自定义方法

别来无恙 提交于 2020-02-28 06:41:37
阅读目录(Content) Django中间件 自定义中间件 中间件(类)中5种方法 中间件应用场景 回到顶部(go to top) Django中间件 在http请求 到达视图函数之前 和视图函数return之后,django会根据自己的规则在合适的时机执行中间件中相应的方法。 中间件的执行流程 1、执行完所有的request方法 到达视图函数。 2、执行中间件的其他方法 3、经过所有response方法 返回客户端。 注意:如果在其中1个中间件里 request方法里 return了值,就会执行当前中间件的response方法,返回给用户 然后 报错。。不会再执行下一个中间件。 回到顶部(go to top) 自定义中间件 1.在project下随便创建一个py文件 from django.utils.deprecation import MiddlewareMixin class Middle1(MiddlewareMixin): def process_request(self,request): print("来了") def process_response(self, request,response): print('走了') View Code 2、在setings文件中 注册这个 py文件 django项目的settings模块中,有一个 MIDDLEWARE

设置Session的超时时间

大兔子大兔子 提交于 2020-02-28 03:04:53
设置Session的超时时间 IIS 里面有个设置 站点属性-》主目录-》应用程序配置-》选项-》启用会话状态-》会话超时,可以设置。 在web.config中,设置: <sessionState ... timeout="120" />单位是分钟,默认是20 webconfig中设置 <sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" cookieless="false" timeout="20" /> timeout可以设置你想要的时间 能否做一个统一的处理,点击任何页面,发现Session超时时进入到提示页面? 你可以把这个判断的过程,放在页面的OnInit事件中. 1.写一个类,继承System.Web.UI.Page,在里面添加如下语句 protected override void OnInit(EventArgs e) { if(this.Session["aa"] == null) { this.Response.Write("未登录"); this.Response.Redirect("/login.aspx"); } } 2.在页面中

编写自己的服务器

余生颓废 提交于 2020-02-28 00:48:52
由于学习接口测试,对服务器的原理产生浓厚兴趣,对最近的收获做个总结 由于浏览器本身就是客户端,对服务器进行发报并接受回报,进行解析显示,所以客户端就不进行编写 服务器代码: #encoding=utf-8 import socket sk=socket.socket() #sk.bind(("172.0.0.1",12345)) sk.bind(("172.20.106.235",12345)) sk.listen(3) while 1:   conn, _=sk.accept()   data=conn.recv(8096)   data_str=str(data)   l1=data.split("\r\n")   l2=l1[0].split()   url=l2[1]   conn.send(b'http/1.1 200 OK\r\ncontent-type:text/html; charset=utf-8\r\n\r\n')   if url=="/yimi/":     response=b'<h1>hello yimi!</h1>'   elif url == "/xiaohei/":     response = b'<h1>hello xiaohei!</h1>'   else:     response = b'<h1>404! not found!</h1>'

CROS跨域请求处理

一个人想着一个人 提交于 2020-02-27 22:03:01
1.什么是跨域?   跨域是指从一个域名的网页去请求另一个域名的资源。比如从www.baidu.com 页面去请求 www.google.com 的资源。跨域的严格一点的定义是:只要 协议,域名,端口有任何一个的不同,就被当作是跨域 2.为什么浏览器要限制跨域?   原因就是安全问题:如果一个网页可以随意地访问另外一个网站的资源,那么就有可能在客户完全不知情的情况下出现安全问题。比如下面的操作就有安全问题: 用户访问www.mybank.com ,登陆并进行网银操作,这时cookie啥的都生成并存放在浏览器 用户突然想起件事,并迷迷糊糊地访问了一个邪恶的网站 www.xiee.com 这时该网站就可以在它的页面中,拿到银行的cookie,比如用户名,登陆token等,然后发起对www.mybank.com 的操作。 如果这时浏览器不予限制,并且银行也没有做响应的安全处理的话,那么用户的信息有可能就这么泄露了。 3.为什么要跨域?   既然有安全问题,那为什么又要跨域呢? 有时公司内部有多个不同的子域,比如一个是location.company.com ,而应用是放在app.company.com , 这时想从 app.company.com去访问 location.company.com 的资源就属于跨域。 4.实现跨域需要的技术手段。   1.JSONP或者CORS 5