首页 > 代码库 > 访问ashx一般应用程序
访问ashx一般应用程序
浏览器中的地址栏键入要访问页面的地址:回车(是和服务器软件打交道)----向服务器发送请求(以http协议为基础,服务器按照此协议解释理解接收到的数据),服务器接收到发送的请求,根据请求信息知道当前所要访问的页面地址,然后服务器软件IIS通过地址在整个网站的程序集中找到被请求页面的页面类(整个网站被编译成一个程序集,程序集中包括所有页面的页面类)----------另一种简化,不注重细节说法----【找到服务器中被访问的网站页面所在的文件夹,通过反射的方式创建所访问页面类的对象】------为了统一调用处理方法,将页面类对象转化为接口--IHttpHandle接口,然后通过调用接口的ProcessRequest方法(被访问时被调用的处理方法,相当于winform中的load()方法)为入口方法,来实现处理所有代码------产生字符串输出到浏览器,浏览器接收到服务器返回的数据,并按照语法解释执行,以界面的方式展示给用户看到。
浏览器和服务器到底是什么东东?
如果我们自己来编写一个浏览器和服务器程序,该怎么做?
就好像打电话一般:
- 咱们用中文还是用英文?(约定通信的语法)
- 准备好要说的话 (按照语法准备要传输给对方的数据)
- 拨通电话(建立连接)
- 通过电话机/电话线说话(通过互联网传输数据)
- 注意:两个人都得拿对话筒(通信双方关注接收对方的数据)
总结:
- 浏览器:一个可以通过HTTP协议向服务器发送各种请求,并对从服务器发来的超文本信息和各种多媒体数据格式进行解释、显示和播放 。
- 服务器:一个管理资源并为用户提供服务的计算机软件。
- 交互时使用HTTP协议。
HTTP请求详解图
浏览器和服务器本质上就是两个使用Socket进行基于HTTP协议的通信的两个应用程序(我们使用WinForm)。
咱自己做个服务器程序要解决的问题:
- -1.怎么接收浏览器的请求?接收以后怎么理解?
- 0.怎么向浏览器发送响应?发送后浏览器怎么理解?
- 1.如何对静态页面(html/css/javascript)的请求做出响应?
- 2.如何对动态页面(ashx/aspx)的请求作出响应?动态文件可是有很多的,使用什么方式来调用呢?
- 3.如何对图片文件(jpg/gif)的请求作出响应?
- 4.如何保存状态?
解决思路:
- 1.使用套接字进行数据交换。
- 2.使用HTTP协议(到底什么是HTTP协议?)的数据,双方按照此协议解释理解接收到的数据。
- 3.直接读取静态文件的数据并通过套接字发送。
- 4.对于动态文件的请求,可以通过分析请求页面,并反射所对应的类,并通过接口调用类的方法。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。