整理自: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的数据包一到,浏览器就肯定刷新页面?的更多相关文章

  1. 遇到问题之“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 ...

  2. {"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 ...

  3. sessionStorage记录返回前端的数据,用于解决登录拦截器刷新页面的问题

    1.问题出现的场景与解决 实现一个登录拦截器,重写doFilter方法,判断用户的登录状态,在用户长时间未操作或者异地登录时前端进行提示,完整代码如下 public class LoginValida ...

  4. AFNetworking request failed unacceptable content type text/html

    今天体验AFNetwork 3.1.0 进行数据解析,但是解析数据控制台一直都输出这样的 error 结果: 于是,照着以前AFN2.+版本的进行设置: 结果发现在新版本的 AFN 上不能设置了.既然 ...

  5. LayUi前端框架删除数据缓存问题(解决删除后刷新页面内容又会显示问题)

    form.on('submit(mySearch)', function(data){ table.reload('userTable', {//就会读取后台数据,重新加载: page: { curr ...

  6. No handler for type [text] declared on field [content]

    Install 1.compile checkout ik version respective to your elasticsearch version git checkout tags/{ve ...

  7. 多CPU下基于e1000e驱动的数据包以及网卡中断流程分析.doc

    http://wenku.baidu.com/link?url=mMKDH_fKmUXN7L6rANIFHjoHdKCYBLlDrqoYB1daDTEkNFk9Bt9xlJtS_4BKBj6w22WD ...

  8. 可否控制<link type=text/css rel=stylesheet href=style.css>

    本篇文章主要介绍了"可否控制<link type=text/css rel=stylesheet href=style.css> ", 主要涉及到可否控制<lin ...

  9. input type =text,按回车键自动提交

    1.当form表单中只有一个<input type="text" name='name' />时按回车键将会自动将表单提交 <form id='form1' ac ...

随机推荐

  1. uploadify 火狐不兼容问题解决方案

    uploadify可能在某些浏览器不工作,uploadify兼容方法: 在swf后面加个参数就可以了 uploadify/uploadify.swf?var='+(new Date()).getTim ...

  2. sql注入基于错误-单引号-字符型

    查找注入点 在url中: 1. ' 2. and 1=1/and 1=2 3. 随即输入(整形) 4. -1/+1回显上下页面(整形) 5. and sleep(5) (判断页面返回时间)   判断有 ...

  3. DeviceIoControl

    DeviceIoControl是kernel32中的函数,包含的头文件为winbase.h. BOOL DeviceIoControl( HANDLE hDevice,                 ...

  4. wifidog 配置中文说明

    #网关IDGatewayID default#外部网卡ExternalInterface eth0#无线网卡GatewayInterface eth0#无线IPGatewayAddress 192.1 ...

  5. 树(二)——二叉树

    目录 本章主要讲解内容为: 树的非递归遍历算法,两种版本 树的扩展前缀以及前缀中缀构建方法 源码 btree.cpp btree.h 基础知识 一.定义 二叉树的递归定义:二叉树是每个结点最多含有两棵 ...

  6. easyui-menu 宽度自适应

    easyui-menu里的菜单项是从后端获取的,而这个组件提供的API配置只能设置一个固定宽度,当获取的菜单项字数较多时有可能显示不全.解决方法如下: <style> .myClass{f ...

  7. Leetcode 171 Excel Sheet Column Number 难度:0

    https://leetcode.com/problems/excel-sheet-column-number/ class Solution { public: int titleToNumber( ...

  8. 手机抓包-fiddler

    如果app走的是http协议,不用root,只需要通过fiddler做代理,就可以抓到所有请求. 1. fiddler+手机wifi设置 安装fiddler,勾中 Fiddler Options -& ...

  9. Rhel6-mysql_cluster配置文档

    MySQL Cluster 是一种技术,其主要功能是在无共享的相关系统中部署内存中数据库 的 Cluster .在通过无共享体系结构,系统能够使用廉价的硬件,而且对软硬件无特殊要求. 此外,由于每个组 ...

  10. jQueryMobile控件之按钮

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...