是不是content-type: text/html的数据包一到,浏览器就肯定刷新页面?
整理自:http://q.cnblogs.com/q/54726/
是不是content-type: text/html的数据包一到,浏览器就肯定刷新页面? 或者说,浏览器收到的状态正常的content-type:text/html这种数据。。。除了把它解析成网页显示出来,还有什么可能? 其实还是想关心到底什么时候浏览器会刷新页面。听到一种说法是url不改变的时候,或者不发生重定向的时候,页面是不会刷新的。
以前client-server模式下没有“不刷新”的说法,只要客户端发请求,服务器答复了,铁定刷新,没跑。 后来不是大家觉得这样慢,才发明了javascript。(编注:比如响应按钮换个页面背景颜色什么的,突然想起这个功能好像在世纪之交那几年的站点好流行的。)紧接着发现javascript只能处理本地内容,他们想让服务器响应然后本地又“不想刷新”,这时候才有“XMLHttpRequest”,才有刷新与不刷新两种情况出现。 哪怕是load了一个iframe,那也是刷新了,只是刷新的是iframe的页面,没有刷新主页面而已。 所以答案很明显了:只要没有特意用Ajax做“不刷新”,那么无论在服务器接收到什么,都要刷新的。 (编注:关于这个大小写,看到过的一种说法是Ajax都指那种使用xmlhttp..的技术,AJAX指MS在ASP.NET中提供的跟Ajax相关的那套。)
那么特意用Ajax做的“不刷新”它得到的response和普通的response之间的决定性的差异在哪里?
答案是没有差异。他们是一样的。你看博客园很多地方就直接在ajax里面render一段html回来。而实际上,render一段html是一种浪费,因为html本身不是一个很“精炼”的描述方式。所以大家会用xml(这个就是最初ajax里面的那个x)或者json来返回数据。因为这样只返回数据,所以服务器能少做很多事情,压力会小很多。仅此而已。比如,如果你用aspx页面直接做service,来返回数据,可以,毫无问题,但是微软在aspx上做的那些操作都是在凭空消耗服务器资源。各种事件啊生命周期啊全都没用了(照跑,只是跑了白跑,没人在乎它)。所以大家当时会用ashx来做。ashx本身功能单一,但是越单一的东西性能不就越好么。 然后大家慢慢抽出了page和service的区别,给大家一个错觉:像page和service有什么本质不同似的。你看你用nodejs写东西的时候,哪有page和service的区别,一律是write, write, write。。。。。。
所以现在大家都不在aspx上做事了么?什么新东西又出现了?
MVC啊,MVC让一切变得极为简单,只要返回不同的view就行了。如果是返回JSON那么就返回JSON view,如果是页面就返回view,等等。有一句话很精巧的概括了这一切(好像是RESTFUL里面提到的, 不是很确定): web本来就应该是简单的
可是创建mvc的时候也有问是用aspx还是cshtml呢?
这个看controller了。用aspx和cshtml的还算页面,但是也可以选择不返回页面,直接返回数据。这个便利在于,以前,相同的url,如果从page变成service,要做一些hack,现在只要controller觉得他应该是service,就可以直接是service了。(其他略)
是不是content-type: text/html的数据包一到,浏览器就肯定刷新页面?的更多相关文章
- 遇到问题之“postman报Unsupported Media Type: Content type 'text/plain;charset=UTF-8' not supported”
postman报Unsupported Media Type: Content type 'text/plain;charset=UTF-8' not supported postman之所以报Uns ...
- {"timestamp":"2019-11-12T02:39:28.949+0000","status":415,"error":"Unsupported Media Type","message":"Content type 'text/plain;charset=UTF-8' not supported","path":&quo
在Jmeter运行http请求时报错: {"timestamp":"2019-11-12T02:39:28.949+0000","status&quo ...
- sessionStorage记录返回前端的数据,用于解决登录拦截器刷新页面的问题
1.问题出现的场景与解决 实现一个登录拦截器,重写doFilter方法,判断用户的登录状态,在用户长时间未操作或者异地登录时前端进行提示,完整代码如下 public class LoginValida ...
- AFNetworking request failed unacceptable content type text/html
今天体验AFNetwork 3.1.0 进行数据解析,但是解析数据控制台一直都输出这样的 error 结果: 于是,照着以前AFN2.+版本的进行设置: 结果发现在新版本的 AFN 上不能设置了.既然 ...
- LayUi前端框架删除数据缓存问题(解决删除后刷新页面内容又会显示问题)
form.on('submit(mySearch)', function(data){ table.reload('userTable', {//就会读取后台数据,重新加载: page: { curr ...
- No handler for type [text] declared on field [content]
Install 1.compile checkout ik version respective to your elasticsearch version git checkout tags/{ve ...
- 多CPU下基于e1000e驱动的数据包以及网卡中断流程分析.doc
http://wenku.baidu.com/link?url=mMKDH_fKmUXN7L6rANIFHjoHdKCYBLlDrqoYB1daDTEkNFk9Bt9xlJtS_4BKBj6w22WD ...
- 可否控制<link type=text/css rel=stylesheet href=style.css>
本篇文章主要介绍了"可否控制<link type=text/css rel=stylesheet href=style.css> ", 主要涉及到可否控制<lin ...
- input type =text,按回车键自动提交
1.当form表单中只有一个<input type="text" name='name' />时按回车键将会自动将表单提交 <form id='form1' ac ...
随机推荐
- spark1.5 scala.collection.mutable.WrappedArray$ofRef cannot be cast to ...解决办法
下面是我在spark user list的求助贴,很快就得到了正确回答,有遇到问题的同学解决不了也可以去上面提问. I can use it under spark1.4.1,but error on ...
- js实现input输入框只能输入数字的功能(完美测试通过)
<input type="text" style="ime-mode:disabled;" onpaste="return false;&quo ...
- C# 字符串转义和反转义
System.Text.RegularExpressions.Regex.Unescape(s) System.Text.RegularExpressions.Regex.Escape(s)
- Windows Store App 旋转中心
旋转中心的位置可以通过设置CenterOfRotationX.CenterOfRotationY和CenterOfRotationZ属性来指定.CenterOfRotationX和CenterOfRo ...
- DataTable 导到Excel
/// <summary> /// 将DataTalbe导出到Excel中 /// </summary> /// <param name="dt"&g ...
- git add 命令添加所有改动内容
git add xx命令可以将xx文件添加到暂存区,如果有很多改动可以通过 git add -A .来一次添加所有改变的文件. 注意 -A 选项后面还有一个句点. git add -A表示添加所有内容 ...
- 生成XML文件
import java.io.FileOutputStream;import java.io.IOException; import org.jdom.Document;import org.jdom ...
- Liquid基础语法
Output输出 简单输出示例: Hello {{name}} Hello {{user.name}} Hello {{ 'tobi' }} Advanced output: Filters 高级输出 ...
- Codeforces Round #382 (Div. 2) 解题报告
CF一如既往在深夜举行,我也一如既往在周三上午的C++课上进行了virtual participation.这次div2的题目除了E题都水的一塌糊涂,参赛时的E题最后也没有几个参赛者AC,排名又成为了 ...
- 设计模式六大原则(5)—迪米特法则
定义: 一个对象应该对其它的对象保持最少的了解.迪米特法则又称为最少知识法则,英文全称为Least Knowledge Principle ,简称为LKP. 个人理解: 迪米特法则主要目的是类间解耦, ...