必赢亚洲手机app下载


Android笔记——明白SDK,数据库sqlite的选拔

大面积字符集及编码

运行机制详解

766net必赢亚洲手机版,1.浏览器和服务器的交互原理

  1. 长远浅出描述:大家一直因而浏览器来走访网站,其实就一定于你通过浏览器去访问一台计算机上访问文件一律,只可是浏览器的拜访请求是由被访问的微机上的一个
    WEB服务器软件来接过处理,它会分析接收到的呼吁音讯,从而按照请求信息来找到服务器电脑上的文本,经过处理,最后将转移的内容发回去浏览器。
  2. 简不难单的说就是:由浏览器生成一条“命令”,通过互连网发给另一台微机的某部软件(服务器软件);服务器软件接收到“命令”,就分析精通这么些“命令”,然后根据“命令”找到服务器电脑上的文本,将文件内容发送回浏览器。

766net必赢亚洲手机版 1

  1. 透过上图,大家来看了浏览器和服务器交互的大致进程。现在,大家要考虑,浏览器和服务器软件到底是神马东东,他们之间又是如何互相音讯的吧?
  2. 骨子里,浏览器和服务器软件,就是七个单身的应用程序(似乎qq、office、画图工具一样)。那么七个应用程序之间要相互音讯,就拉扯到了应用程序通讯的标题。那他们是行使神马方式通讯的啊?
  • 答案是套接字:Socket。至于Socket的切实用法和法则,篇幅难题不在此文中写了,先预留地方在那,下次补上《基于八线程和套接字的简短WebServer软件-没有控件的ASP.NET》。
  • 浏览器和服务器软件通过套接字来发送和收取对方的信息,但昨日的关键难点是,他们发送和接受的到底是何等?—
    基于Http协议的报文数据(详见《Http协议介绍—没有控件的ASP.NET》)。
  • 也就是说:浏览器和服务器软件其实就是七个使用Socket举办通讯的的八个应用程序:双方都发送按照Http协议语法规范集体的数码,接收到多少后都根据Http商事语法规范来解释。

    #### 2.浏览器和IIS(or other webserver)交互机制

    766net必赢亚洲手机版 2

上图就是IIS (服务器软件)

1.浏览器和IIS交互进程:
俺们都领悟,在网络上确定一台微机的职责是使用IP寻址,但为啥当我们常常访问网站时一贯输入一个域名也可以访问到某个服务器电脑进而由对方的服务器软件发送响应页面数据给本人啊?上边我把不难步骤列出:

(1)在浏览器输入网址:www.oumind.com/index.html,浏览器根据Http协议语法
生成请求报文数据。

(2).浏览器检查本机是还是不是保存了www.oumind.com/index.html.域名对应的服务器IP地址。假若没有,则发送请求到所在城市网中近期的DNS服务器(域名解析服务器),它会依照大家发送来的域名查询到该域名对应的服务器IP地址,并发送回浏览器。

(3)浏览器从DNS服务器得到了
www.oumind.com/index.html域名对应的服务器电脑IP,则将 请求报文
通过Socket发送到服务器电脑。(注意:Http协议
规定服务器软件使用的默许端口是80,通俗的说,就是一旦浏览器访问一个网站页面,浏览器默许就是将
请求报文
发送到服务器80端口,而服务器负责监听那么些端口的软件一般就是服务器软件—比如asp.net用的IIS,java用的汤姆cat。)

(4)IIS接收到 请求报文,分析请求报文,从中得到请求的页面路径
/index.html。判断页面的后缀名,借使是静态页面(.html/.jpg/.css/.js等),则一贯由IIS软件的零件读取该文件内容,并将内容通过Socket发送回浏览器。

(5)但如果那时呼吁的是一个动态页面(.aspx/.ashx),IIS自己就处理不了
(因为IIS软件开发出来的时候,ASP.NET程序还不存在呢) 。所以,IIS就去它的
增加程序映射表 中根据被呼吁文件后缀名
查看是或不是有可以处理那种文件的扩张程序。

766net必赢亚洲手机版 3

而大家ASPNET中常用的文件.aspx/.ashx等
对应的处理程序是aspnet_isapi.dll。如下图:

766net必赢亚洲手机版 4

(6)若是IIS按照后缀名找到呼应的处理程序,则透过调用此程序来处理浏览器发送来的乞求报文。

IIS自身是不可以处理像ASPX扩大名那样的页面,只好直接呼吁像HTML这样的静态文件,之所以能处理ASPX这样扩充名的页面,是因为IIS有一个ISAPI过滤器,它是一个COM组件。

ASP.NET服务在注册到IIS的时候,就会添加一个Win32的恢宏动态库aspnet_isapi.dll。并将增加可以拍卖的页面扩张名(如
ASPX)注册到IIS里面。伸张启动后,就依据定义好的主意来拍卖IIS所无法处理的页面。

当客户端请求一个服务器资源时,那几个HTTP请求会被inetinfo.exe进度截获(www服务),然后Check请求资源的花色,并根据资源映射音讯(存储在IIS元库中,一种IIS专用的安顿数据库)将请求的资源分配给一定的处理程序模块。若请求的是静态资源(img,text,html等)则由IIS处理(IIS在该地Web
Server上访问请求的公文),将内容输出到控制台,发出请求的浏览器就能接到到它了。

若必要在劳务器端处理的哀求,则会被传到已注册的增加模块
中,aspx请求会被分配给aspnet_isapi.dll,让这一个顺序发轫拍卖代码,生成标准的HTML代码,然后将这么些HTML加入到原来的
HTML中,最终把全体的HTML重回给IIS,IIS再把内容发送到客户浏览器。

ASP.NET FrameWork对请求的处理

上边说到IIS将像ASPX这样的页面分配给aspnet_isapi.dll,接着处理如下:

1、aspnet_isapi.dll则会 通过一个Http
PipeLine的管道将那一个Http请求发给w3wp.exe(iis 工小编经过,IIS6.0中称之为
w3wq.exe,IIS5.0中称之为 aspnet_wp.exe),之后asp.net
framework就会由此HttpRuntime来处理这么些Http请求。

2、HttpRuntime首先会规定处理该请求的类名,HttpRuntime通过国有接口IHttpHandler来调用该类获取被呼吁资源的类的实例。

3、调用HttpRuntime.ProcessRequest起头拍卖要发送到浏览器的页面,具体说就是创立一个HttpContext实例,它包裹了独具与请求有关的http特有的信息,并开头化一个Write对象用于缓存标记代码。

4、HttpRuntime使用上下文音讯寻找或新建能处理该请求的WEB应用程序的靶子。由HttpApplication
Factory负责再次来到HttpApplication实例。

5、HttpApplication实例会读取web.config中所有HttpModule的安排。

6、HttpApplication对象使用IHttpHandlerFactory类型的实例再次来到HttpHandler(http处理程序)给HttpRuntime对象。一个页面只是个http处理程序对象。
7、最终由HttpRuntime对象调用IHttpHandler的页面对象的ProcessRequest方法。

相关文章

No Comments, Be The First!
近期评论
    功能
    网站地图xml地图