.net 面试题(每日三题)

2022112

目录

一、post、get的区别?

二、.Net、ASP.Net、C#、VisualStudio之间的关系是什么?

三、Application 、Cookie和 Session 两种会话有什么不同?


一、post、get的区别?

1、url可见性:

get,参数url可见;

post,url参数不可见

2、数据传输上:

get,通过拼接url进行传递参数;

post,通过body体传输参

3、缓存性:

get请求是可以缓存的

post请求不可以缓存

4、后退页面的反应

get请求页面后退时,不产生影响

post请求页面后退时,会重新提交请求

5、传输数据的大小

get一般传输数据大小不超过2k-4k(根据浏览器不同,限制不一样,但相差不大)

post请求传输数据的大小根据php.ini 配置文件设定,也可以无限大。

6、安全性

这个也是最不好分析的,原则上post肯定要比get安全,毕竟传输参数时url不可见,但也挡不住部分人闲的没事在那抓包玩。安全性个人觉得是没多大区别的,防君子不防小人就是这个道理。对传递的参数进行加密,其实都一样。

7、数据包

GET产生一个TCP数据包;POST产生两个TCP数据包。对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);而对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)。在网络环境好的情况下,发一次包的时间和发两次包的时间差别基本可以无视。而在网络环境差的情况下,两次包的TCP在验证数据包完整性上,有非常大的优点。并不是所有浏览器都会在POST中发送两次包,Firefox就只发送一次。

二、.Net、ASP.Net、C#、VisualStudio之间的关系是什么?

visual studio与 .NET Framework和C#的关系:

1. Visual Studio 是一个开发工具,即IDE,集成了很多开发 .net 程序的便捷功能,如果不使用它也是可以开发 .net 程序的,使用 记事本即可。

2. .Net Framework 官方叫法是 .net 应用程序框架,其中包含了 .net 平台的基础类库及运行时环境(即编译你代码的组件以及程序运行起来后将代码翻译成机器码的组件等),这个东西大,做为开发人员只需要知道其中的基础类库即可,在编写程序时可以直接调用微软封装好的类。

3. C# 是.net 平台中的一种开发语言,在.net平台中使用最为广泛,但其和 VB、F#等都运行在 .net 环境下,而且都是基于 CIL 规范,所以它们之间是可以相互调用的(即C#编写的程序或是类库在 VB、F#或是任何一种基于 .net 及 CIL 规范的编程语言中都可以调用、继承 )。

.NET平台简介:

.NET是一个微软的技术平台,致力于敏捷、快速开发和跨平台,可以用于开发C/S结构的软件(WinForm技术),如QQ、财务管理系统等;也可以用于开发B/S结构的网站,如门户网站、OA系统等。一个.NET应用是使用.NET Framework类库编写,运行于公共语言运行时Common Language Runtime上的应用程序。.NET Framework组件是.NET应用开发环境的核心,负责程序的执行。

开发工具与语言

开发工具:Microsoft Visual Studio .NET 集成开发环境

开发语言:可以使用C#、F#、Visual Basic等

区分ASP.NET和.NET

ASP.NET和.NET,两者有啥关联呢?

.NET是平台,也可以说是框架。ASP.NET是.NET框架的一部分,针对网站开发;WinForm针对桌面应用程序开发。

三、Application 、Cookie和 Session 两种会话有什么不同?

Session和Cookie对比

实现方式:Session的实现一般依赖于Cookie机制,通过Cookie机制传回SessionID。

大小限制:Cookie有大小限制,一般与浏览器在每个站点允许的Cookie个数有关;Session没有这种限制。

安全方面:Cookie存在安全隐患,可以查找本地浏览器中的Cookie来对服务器进行操作,Session保存在服务器端,相对更安全。

资源消耗:Session保存在服务器端(一段时间之后会消失),每次进行查找都会给服务器带来压力。

Application

Application:与一个Web应用程序对应,为应用程序提供一个全局的状态,所有的客户端都可以使用该状态。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值