ASP.NET有个大佬,HttpContext(在.Net Core中依然是它)Http请求的上下文,任何一个环节都是需要HttpContext的,需要的参数信息,处理的中间结果,最终的结果,都是放在HttpContext,是一个贯穿全局的对象。

所谓的六大对象,其实就是HttpContext的属性

1、Request

  url参数,form参数,url地址,URLRefer,content-encoding,就是http请求提供的各种信息,后台里面都是可以拿到的context.Request.Headers["User-Agent"],包括自定义的BasicAyth,请求信息的解读是asp.net_isapi按照http协议解析出来的

2、Response

  响应,response.Write,各种Result扩展就是序列化+response,所谓response都是给客户端响应内容,出了body(json/html/file),其实还有很多东西,各种header,反正都是交给浏览器去用的

3、Application

  全局的东西,多个用户共享的,技术---统计下网站的请求书

4、Server 

  也就是个帮助类库

5、Cookie

  用户登录验证,登录时写入,验证时获取,保存用户数据(记住账号;购物车,现在不放cookie里面了;访问过哪几个页面),一个用户一个cookie,也是字典式的。

  存在客户端,不能有敏感信息,推荐加密,每次请求的时候,都会提交,不能太大,可以存浏览器,没有指定expiretime,关闭浏览器就丢失了,想存在硬盘就指定expiretime,想清空就修改有效期。同一个浏览器登录覆盖问题,一个浏览器cookie只有一个地方存储。可以使用谷歌浏览器的无痕模式,是不存cookie的。

6、Session

  用户登录验证时,登录时写入,验证时获取,验证码,跳转到当前页,一个用户一个session,k-v形式的,字典式的。  

  服务器内存(sessionstateserver/SQLserver),体积不要太大,可以存敏感信息,重启丢失。一个用户一条,经常做传值(tempdata),负载均衡下session怎么处理?会话粘滞/session共享。如果浏览器禁用了cookie,还能用session吗?不能的,但是可以通过url地址传递sessionid。

浏览器关闭,登录就失效了,这是为什么呢?

  cookie存在浏览器内存,关闭浏览器后,cookie就没了,再次打开分配了新的sessionid,所以没有登录,之前登录的那个session还是在内存里面的。

  如果希望重新打开用户还在登录状态,就是在硬盘上存储cookie(expiretime),后台要检测cookie,认可cookie的有效性(第一次检测cookie,然后还是写入session,每次还是checksession)

协议:

  就是一个约定,保证多方的信息传输(中文也是一种约定)

  Http协议:超文本传输协议,也就是个文本传输的规范,浏览器/客户端遵循;服务端也遵循,那么就可以发起交互了。

Http协议理解,请求/响应

Http的请求过程,就像发一个命令,实现约定好对个,浏览器按照格式组装命令

请求行:url长度有限制

Header:有很多默认都是浏览器写的,也可以自己来,WebApi的Authorize,浏览器实际上是一个实现了Http协议标准的应用程序

Body:表单参数/上传的文件/图片(字符串),没有长度限制

C/S,客户端/服务端

  客户端链接到服务器socket,发起请求,服务器完成响应,释放链接

B/S,浏览器/服务器

  简单快速,灵活,任何类型都可以返还,无状态(没有长时间的链接,没有连续的链接),无状态(两次请求都没有关联,所以无法识别)

  回发一个结果,实现约定好规格,服务器按照格式组装结果

  响应行:StatusCode

  Header:压缩格式,缓存,WebApi权限,跨域,你控制的得浏览器支持

  Body:返回的主体

Object(Asp.NET核心机制内置对象汇总)的更多相关文章

  1. 秒懂ASP.NET中的内置对象

    上篇博客,小编主要简单的介绍了一下ASP.NET中的控件,这篇博客,小编主要简单总结一下ASP.NET中的内置对象,七个内置对象分别是:Request.Response.Application.Coo ...

  2. 【Asp.net】 七大内置对象

    本文主要分析Asp.net的7大内置对象. 利用提供的内置对象可以实现页面之间的数据传递和一些特定的功能,如数据输出,页面重定向等.5个核心常用内置对象分别是Application,Session, ...

  3. ASP.NET的六大内置对象

    ASP.NET 六大内置对象(System.Web.UI.Page类): 1.Response 2.Request 3.Server 4.Application 5.Session 6.Cooki R ...

  4. ASP.NET六大巨头——内置对象(1)

    ASP.NET提供了六个内置对象:Request.Response.Application.Session.Server和Cookie.这些对象收集当前应用程序请求.用户信息.响应浏览器信息,来完毕页 ...

  5. ASP.NET六大巨头——内置对象(2)

    前面讲了三个内置对象,后面来探究一下另外三个内置对象Session.Server和Cookie,Session对象就是服务器给客户端的一个编号:Server对象提供对服务器上的方法和属性的访问:coo ...

  6. 【ASP.NET 基础】ASP.NET内置对象

    准确地说,asp.net 并没有内置对象这一说,jsp 里确实把 request.response 这些当作 jsp 的内置对象,这里只不过是借用了一下 jsp 的说法而已.在 Web 中处于中心的是 ...

  7. 实验四 使用ASP.NET内置对象 总结

    这次实验内容是ASP.NET的一些内置对象的熟悉,感觉看到了上学期JSP的影子,很多地方都很像.像Response对象,Request对象,Context对象等等.以前我老是搞混Response对象和 ...

  8. JSP九个内置对象及指令、动作标签

    一.JSP九大内置对象 (一)JSP中无需创建就可以使用的9个对象 输入输出对象 1.response(HttpServletResponse):处理JSP生成的响应,然后将响应结果发送给客户端.是s ...

  9. js的内置对象

    转载: https://www.cnblogs.com/liuluteresa/p/6413988.html   在js里,一切皆为或者皆可以被用作对象.可通过new一个对象或者直接以字面量形式创建变 ...

随机推荐

  1. IT兄弟连 HTML5教程 HTML5表单 新增的表单属性1

    HTML5 Input表单为<form>和<input>标签添加了几个新属性,属性如表1. 1  autocomplete属性 autocomplete属性规定form或inp ...

  2. python 读取ini 配置文件

    安装 pip install configparser 1 配置文件 config.ini: [MysqlDB]user=rootpasswd=123456sport=3306db_name=my_d ...

  3. 【问题记录】 Linux分区磁盘占满,导致ssh登陆闪退

    问题描述 今天要去后台看日志查个问题,通过ssh登陆到服务器后准备用平时非常熟悉的less命令打开日志查看,突然xshell客户端就闪退了.一时感觉很蒙,怎么回事??由于之前有同事遇到类似的问题,提醒 ...

  4. Django多数据库

    每个app使用不同的数据库 1. 配置数据库连接 # settings.py # DATABASES中必须要有default字段 DATABASES = { 'default': { 'ENGINE' ...

  5. css知识笔记:水平居中(别只看,请实操!!!)

    css实现元素的水平居中. (尝试采用5W2H方法说明): 别只看,请实操!!! What: 1.这篇文档主要描述元素水平方向居中的几种最常见和最实用的几种方式,并说明优缺点. 2.写这篇文章的目的, ...

  6. 甲方安全之安卓App第三方加固对比

    前段时间公司要给 Android 应用进行加固,由笔者来选一家加固产品.然后发现,加固产品何其之多,且鱼龙混杂.各种问题也是层出不穷,比如,有些加固时间非常久.有些加固会失败.有些运行会崩溃等等问题. ...

  7. 简单的jquery表单验证+添加+删除+全选/反选

    //布局 <body> <h4><a href="#">首页</a>><a href="#"> ...

  8. android 对于asset和raw下文件的操作

    Android 中资源分为两种,一种是res下可编译的资源文件, 这种资源文件系统会在R.Java里面自动生成该资源文件的ID,访问也很简单,只需要调用R.XXX.id即可;第二种就是放在assets ...

  9. SQL注入:HEAD注入

    HEAD注入原理 HEAD注入顾名思义就是在传参的时候,将我们的数据构建在http头部. HEAD注入的使用场景 为什么网站要记录你的ip或者请求头,是为了方便你的二次登陆,区分你的登陆地址和设备,可 ...

  10. linux 性能调优工具参考 (linux performance tools)

    之前发现几张图对于linux使用者有着较强的参考意义,下面对其进行简单备忘: # linux 静态信息查看工具 # linux 性能测试工具 benchmark # linux 性能观测工具 # li ...