1,ASP.NET运行原理: 客户端向服务器发出请求 → 服务器处理请求→ 处理好的数据以报文发给浏览器 → 浏览器显示请求结果

2,Chrome浏览器,查看请求过程:F12打开浏览器的调试窗口:

3,添加一般处理程序,查看 请求→处理→响应 的过程

 // ProcessRequest中,对请求做出处理后返回数据
public void ProcessRequest(HttpContext context)
{
//context.Response.ContentType = "text/plain"; //数据类型
//context.Response.Write("Hello World"); // 输出内容 context.Response.ContentType = "text/html"; //数据类型 string strName = context.Request.QueryString["Name"];//读取URL传递参数 Name
string strPrint = "hi," + strName + " So happy to see U again";
context.Response.Write("<font color='red'><b>"+strPrint+"</b></font>"); // 输出内容
}

---------------------------------------Gif图片演示---------------------------------------

4,Form表单提交以后,Form表单中的文本元素被提交到action指定的一般处理程序页面(.ashx)

浏览器向服务器提交数据,被提交的表单元素(input,select , textarea)放到form中,form中的action标签制定表单数据被提交到哪个页面。

为了服务器端取出表单的值,需要为表单元素设定Name属性。服务器端用 context.Request[""]获取提交的数据。

    <form action="Handler1.ashx">
姓名:
<input name="Name" type="text" /><br />
年龄:
<input name="Age" type="text" /><br />
<input type="submit" />
</form>

---------------------------------------Gif图片演示---------------------------------------

5,HTML中 表单元素的 id属性不能重复,id的定义主要是方便js操作Dom用的,name是提交给服务器用的。

6,只有带Name属性值的这 input,textarea,select 三种标签的Value值会提交给服务器。Raidobutton选中的值被提交给服务器,被点击的Submit才会被提交服务器。

7,提交Form表单的两种方法:

Get: 把表单元素值在地址栏以URL的方式进行提交,传递的数据量有限 (这样浏览器历史记录里面就可以看到)

Post:,隐藏到http报文中进行提交

 Get 方式提交来的数据在服务器端用Request.QueryString() 来获取,用Post 方式提交的数据用Request.Form() 来获取;

8,以下分别用Chrome和IE查看:  Get和Post提交数据的不同之处

 <form action="Handler1.ashx">
姓名:
<input name="Name" type="text" /><br />
年龄:
<input name="Age" type="text" /><br />
Vip<input type="checkbox" name="IsVIP" /><br />
城市:
<select name="pro">
<option value="bj">北京</option>
<option value="bj">天津</option>
</select><br />
性别:
<input type="radio" name="gender" value="Man" />
<input type="radio" name="gender" value="Women" /><br />
爱好:<input type="checkbox" name="Interstring" value="音乐" title="音乐" /><input type="checkbox" name="Interstring" value="运动" title="运动" />
<input type="submit" />
</form>
  Get方法提交 Post方法提交
IE
Chrome

9,HTTP协议: 浏览器和服务器之间数据交互的协议。

       A. 连接(Connection):浏览器和服务器之间传输数据的通道。请求完毕,连接关闭。不保持连接,这样服务器就可以处理更多的请求。

       B. 请求(Request):浏览器向服务器发出请求,包括请求的类型、请求的数据、浏览器信息(语言、浏览器版本等)

       C. 响应(Response):服务器把处理结果返回给浏览器,包括:返回数据、是否成功、错误代码

10,HTTP协议报文头:

   A. 请求标头:· 请求 GET/Hanlder.ashx HTTP/1.1  表示浏览器用Get方式向Hanlder.ashx页面发出请求,使用HTTP/1.1协议

        · User-Agent  表示浏览器版本,可以读取到浏览器是IE还是Fixfox、支持的插件、.NET版本、Windows版本等

        · Refer: 来源页

        · Accept image/jpeg.. :接收哪些类型文件

        · Accet-Language : 支持的语言版本

  B. 请求正文:提交的Form表单内容

C. 响应标头:

        · 响应码: "200" OK; "500"服务器错误;“302”网页从定向; “404” 页面不存在

        · Content-Type: 告诉浏览器服务器返回的数据类型,这样浏览器就知道怎么去处理显示

         · Server: 服务器版本

         ·Date: 服务器响应时间

  D.响应正文:服务器返回的HTTP内容

11, Redirect :浏览器向服务器请求 → 服务器告诉浏览器 302 Found, Location 到指定的访问地址 →  浏览器再次向服务器发出请求指定页面

ASP.NET运行原理的更多相关文章

  1. ASP.NT运行原理和页面生命周期详解及其应用

    ASP.NT运行原理和页面生命周期详解及其应用 1. 下面是我画的一张关于asp.net运行原理和页面生命周期的一张详解图.如果你对具体不太了解,请参照博客园其他帖子.在这里我主要讲解它的实际应用.  ...

  2. IIS Web 服务器/ASP.NET 运行原理基本知识概念整理 转

    转http://www.cnblogs.com/loongsoft/p/7272830.html IIS Web 服务器/ASP.NET 运行原理基本知识概念整理  前言:      记录 IIS 相 ...

  3. IIS Web 服务器/ASP.NET 运行原理基本知识概念整理

     前言:      记录 IIS 相关的笔记还是从公司笔试考核题开始的,问 Application Pool 与 AppDomain 的区别?      促使我对进程池进了知识的学习,所以记录一下学习 ...

  4. ASP.NET运行原理_2

    当一个HTTP请求到服务器并被IIS接收到之后,IIS首先通过客户端请求的页面类型为其加载相应的.dll文件,然后在处理过程中将这条请求发送给能够处理这个请求的模块.在ASP.NET 3.5中,这个模 ...

  5. asp.net运行原理及机制

    当一个HTTP请求到服务器并被IIS接收到之后,IIS首先通过客户端请求的页面类型为其加载相应的.dll文件,然后在处理过程中将这条请求发送给能够处理这个请求的模块.在ASP.NET 3.5中,这个模 ...

  6. Asp.Net运行原理(=)

    浏览器与服务器之间的通信. 一般浏览器与服务器之间的底层是通过socket建立连接的. 当浏览器与服务器之间建立了socket连接之后,服务器就开始监听. 当浏览器与服务器之间建立了相互兼容的协议之后 ...

  7. asp.net运行原理(一)总体概要

     1.浏览器发送请求报文到服务器,服务器接收到请求之后,根据请求报文头(url地址)的后缀名解析. 2.以iis服务器为例.他分为两种模式,经典模式和集成模式.主要是经典模式会将请求报文通过aspne ...

  8. iis6.0与asp.net的运行原理

    这几天上网翻阅了不少前辈们的关于iis和asp.net运行原理的博客,学的有点零零散散,花了好长时间做了一个小结(虽然文字不多,但也花了不少时间呢),鄙人不才,难免有理解不道的地方,还望前辈们不吝赐教 ...

  9. ASP.NET Core 运行原理剖析2:Startup 和 Middleware(中间件)

    ASP.NET Core 运行原理剖析2:Startup 和 Middleware(中间件) Startup Class 1.Startup Constructor(构造函数) 2.Configure ...

随机推荐

  1. UVa 10817 Headmaster's Headache (状压DP+记忆化搜索)

    题意:一共有s(s ≤ 8)门课程,有m个在职教师,n个求职教师.每个教师有各自的工资要求,还有他能教授的课程,可以是一门或者多门. 要求在职教师不能辞退,问如何录用应聘者,才能使得每门课只少有两个老 ...

  2. 转:使用memc-nginx和srcache-nginx模块构建高效透明的缓存机制

    原文地址:http://blog.codinglabs.org/articles/nginx-memc-and-srcache.html 为了提高性能,几乎所有互联网应用都有缓存机制,其中Memcac ...

  3. Castle IOC容器快速入门

    主要内容 1.为什么要IOC 2.什么是Castle IOC容器 3.快速入门示例 4.几个重要的概念 一,为什么要IOC IOC(控制反转或者叫依赖注入)Martin Fowler大师在他的文章中已 ...

  4. HTML5结构化标签

    一 结构化标签 在之前的HTML页面中,大家基本上都是用了Div+CSS的布局方式.而搜索引擎去抓取页面的内容的时候,它只能猜测你的某个Div内的内容是文章内容容器,或者是导航模块的容器,或者是作者介 ...

  5. mysql数据库表间内外链接详解

    1. 内连接(自然连接) 2. 外连接 (1)左外连接 (左边的表不加限制)(2)右外连接(右边的表不加限制)(3)全外连接(左右两表都不加限制) 3. 自连接(同一张表内的连接) SQL的标准语法: ...

  6. js奇葩错误

    局部刷新中显示图片: 错误写法:var innerDiv = "<p class='town_con' id='city1'>";              var d ...

  7. CKeditor3.6.2 配置与精简

    一.使用方法: 1.在页面<head>中引入ckeditor核心文件ckeditor.js <script type="text/javascript" src= ...

  8. hadoop 关闭进程时报错no 进程 to stop

    前两天和朋友李天王吃饭的时候,聊到了一个hadoop的运维的很简单问题,感觉很有意思,以前也没有注意过,现在加以重现和整理.   感谢李天王的分享....   翻看了yarn-deamon.sh st ...

  9. php error file_get_contents()

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...

  10. TChromeTabs 优化改进

    已知未解决问题 全屏时当窗体失去焦点,则会显示出未绘制完成的原标题栏(Fixed): 处于非 Areo 效果下时,窗体标题栏需要定制. 新增按钮上的 Hint 提示后再移至其它标签,将无法重新提示. ...