zoukankan      html  css  js  c++  java
  • 网站应用程序概要

    阐述

    网站应用程序工作过程:

    1. 通过浏览器向服务器发送请求(HTTP协议)
    2. 服务器接受浏览器的请求,处理请求回发服务器响应
    3. 浏览器接受响应展示

    ASP.Net

    Asp.Net 是用于开发网站的,本身并不是一个完整的程序,需要部署到服务器。

    • 服务器(如IIS)用于监听浏览器的请求,服务器可以直接响应静态资源(如.html和.css)
    • 动态资源由Asp.net通过程序动态生成Http响应(如动态生成html页面),再由服务器发回到流程器
      所以Asp.Net 应用程序是用于处理Http 请求的程序,其中WebForm和MVC是在asp.net基础上的两种解决方式

    HTTP服务

    这里简单写个http服务,方便大家理解。浏览器输入http://localhost:8085/回车得到响应

    if (!HttpListener.IsSupported)
    			{
    				Console.WriteLine("Not Support");
    			}
    
    			string[] prefixes = new string[] { "http://localhost:8085/" };
    
    			HttpListener listener = new HttpListener();
    			foreach (string s in prefixes)
    			{
    				listener.Prefixes.Add(s);
    			}
    			//开启Http服务监听
    			listener.Start();
    			Console.WriteLine("Listening...");
    			while (true)
    			{
    				//接受客户端请求数据
    				HttpListenerContext context = listener.GetContext();
    				// 提取客户端请求对象
    				HttpListenerRequest request = context.Request;
    
    				// 服务端响应
    				HttpListenerResponse response = context.Response;
    				string html = @"<!DOCTYPE html>
    							<html>
    							<head>
    								<title>From HttpListener Server</title>
    							</head>
    							<body>
    								<h1>Hello,World.</h1>
    							</body>
    							</html>";
    
    				response.ContentLength64 = Encoding.UTF8.GetByteCount(html);
    				response.ContentType = "text/html;charset=UTF-8";
    				//out stream
    				Stream output = response.OutputStream;
    				StreamWriter writer = new StreamWriter(output);
    				writer.Write(html);
    				writer.Close();
    				if (Console.KeyAvailable)
    				{
    					break;
    				}
    			}
    			listener.Stop();
    

    程序注意点:

    • 这里直接用的HttpListener类监听的,其之前有两个基础本:第一个版本:通过Socket完成网络通信;第二个版本在第一个基础上,TcpListener对象,通过TCP协议。版本从网络协底层到高层;Socket网络层编程(可以设置TCP协议或UDP协议通信),Http协议是在TCP协议上的应用层协议
    • Stream概念的理解,Stream的概念太抽象。
    1. 用途:从一种硬件向另外硬件传输数据建立的通道。如文件流(主要将硬盘数据读取到内存,或内存数据写入硬盘)
    2. 流:应考虑输入源和输出地。如控制台应用程序 键盘 默认为输入源, 屏幕 为流输出
    3. 流是一种通道概念,可以通过读取流和写入流完成信息交流,Asp.net 通过读取流获取客户端请求,写入流响应请求
    4. StreamWriter 这里用的装饰者模式向流写入数据,在WebForm中通过这种方式生成html标签
  • 相关阅读:
    简单的多重背包
    完美子图
    活动投票
    人品问题
    售票系统
    最短路径
    优美值
    前端-常用函数记录-持续更新
    前端-单点登录中cookie中domain的思考
    大白话说GIT常用操作,常用指令git操作大全
  • 原文地址:https://www.cnblogs.com/LoveTomato/p/9106934.html
Copyright © 2011-2022 走看看