ASP.NET基础入门(杂)

ASP.NET用于开发Web应用程序,其部署简单,只需浏览器。IIS是互联网信息服务,VS2012使用IIS Express进行开发。浏览器通过HTTP协议与服务器通信,请求包括GET和POST,其中POST更安全。动态网页能实现数据库交互,而静态网页不含数据库。托管代码在.NET Framework上运行。
摘要由CSDN通过智能技术生成

作用:开发Web应用程序
与Winform开发的区别:
部署简单,只需要浏览器.用户受欢迎程度较高

服务器的概念:IIS,互联网信息服务,Internet Internation Server,本质上也是一个软件.当然这个软件也是安装在电脑上的,所有有时候也指定是装有该软件的电脑.
既:服务器是IIS软件,或者是装有IIS软件的电脑.

VS2012版本开发的时候回启动一个IIS Express–>精简版的IIS服务器软件.

浏览器到服务器具体步骤

  1. 浏览器向服务器发送请求.
  2. .服务器接受浏览器发送的请求数据,并且进行处理.出来完成后将处理结果返回给浏览器.
  3. 浏览器显示结果.–返回的就是html源代码

    详细如图解:模型

    测试网址址:http://localhost:2143/WebSite/Default.htm
    分解开来:其中Localhost为本机,本机IP也可以写成127.0.0.1,可以形象的对比成地址.2143为端口号,可以形象的对比成具体的房间号.

协议:约定,规定.IIS软件和客户端间通信的规范.
Http:默认,可以省略.
端口号:默认为80.省略既表明端口号为80

应用程序池:隔离各个进程,确保单个坏掉后对其他网站不造成影响.
应用程序池:托管管道模式
模式:经典:IIS7以下的处理模式
继承:IIS7的处理模式

在当前的浏览器中,只认识htm,JavaScript,css

Web开发协议版本:http/0.9 http/1.0 http/1.1,现在主流的是http/1.1版本.

Http协议的几个概念:
1.:连接:浏览器和服务器之间传输数据的通道,一般请求完毕就关闭.Http不保持连接.当然不保持连接会降低处理速度,因为建立连接速度回很慢.保持连接的话就会降低服务器处理能力及客户端请求数.
2.请求:浏览器向服务器发送的”我要…”信息,包含请求的类型,请求的数据,浏览器的信息.在之前建立的通道上进行传输.
3.响应:服务器对浏览器请求的返回的数据,包含是否成功,状态

Http请求:
请求头:get庆丘头时无请求体 Get/Http1.1
{方法} 空格/文件名.文件后缀(不写代表首页)

浏览器和服务器这边通讯的底层就是socket

常见的Http协议-响应码
200 OK
302 Found重定向
400错误请求,发出错误的不符合Http协议的请求
403 禁止
404 未找到该界面
500 代码错误
503 访问人数过多
总结:300段表示要对请求做进一步的处理
400段表示对客户端请求错误
500段表示服务器的错误

最终在浏览器中呈现的是响应体

如果页面中含有图片,那么浏览器渲染(一行一行执行),从服务器返回的代码时(html),如果遇到img标签,那么浏览器会重新发送一个请求,从服务器下载该图片.css代码段也是,js也是

**Tcp协议-Http之间的关系
Http协议是应用层,直接和用户打交道的.
Tcp协议是网线中走得协议–数据传输层.**

静态网站:指的是不含数据库,不含程序,不可交互的网页,后缀是Html,htm,在网站的制作和维护方面工作量较大
动态网页:可以实现数据库交互,进行注册登录,后缀不已Html,Htm结尾.
两者的关系:一般动态网站包含静态网站,服务端.利于维护和更新.适合企业建站

托管代码:运行在.NetFrameWork上.
非托管代码:不运行在.NetFrameWork上

系统安装建议:先安装IIS,安装数据库,最后安装VS

读取代码,替换占位符
其中占位符也就是随便写个符号开头,推荐$,后面写上具体的内容.该内容是在Html文件中写入.最后写ashx使用占位符替换.

实例:
模板:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>
    <table>
        <tr><td>用户名</td><td>$userName</td></tr>
        <tr><td>密码</td><td>$pwd</td></tr>
    </table>
</body>
</html>

一般处理程序:

 public void ProcessRequest (HttpContext context) {
        context.Response.ContentType = "text/html";
        string filePath = context.Request.MapPath("UserList.html");//获取该文件的物理路径.(在Web开发中对文件或文件夹进行操作时,必须先获取物理路径)
      string strHtml=File.ReadAllText(filePath);//读取文件内容
      strHtml = strHtml.Replace("$userName", "张三").Replace("$pwd","123");
      context.Response.Write(strHtml);
    }

调用的时候直接调用该界面即可.

注意Post与Get的区别
1.如果是Post方式进行请求,那么表单中的数据会放在请求包文体重.发送到服务器端.
2.在服务器端接受方式不同.如果是Post请求使用Request.Form[“name”].如果是Get则使用则使用Request.QueryString[“name”].
3.Post请求相对Get请求安全,登录注册等请使用Post.安全性较低的可以使用Get.使用Get的好处,地址直接显示在地址栏中,发送发送给别人,有利于推广.
4.Post请求发送的数据要比Get请求大
5.只能讲表单元素的Value值发送至服务器(Span,Div等不属于表单元素,所以无法提交),并且表单元素必须加name属性

实例:
Html页面:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>
    <form method="get" action="Accept.ashx">
        用户名:<input type="text" name="txtName" /><br />
        密码:<input type="password" name="txtPwd" /><br />
        <input type="submit" value="提交" />
        <span name="span1">sss</span>
    </form>
    <a href="index.html">首页</a>
</body>
</html>

创建一个输入用户密码的框,提交按钮.

一般处理程序:

public void ProcessRequest(HttpContext context)
    {
        context.Response.ContentType = "text/plain";
        // string userName= context.Request.Form["txtName"];//如果表单是以Post方式提交过来的,接收时必须用Request.Form来接收,必须表单元素必须有name属性,而Form指定的键的名称就是name属性的值.
        // string userPwd = context.Request.Form["txtPwd"];


        string userName = context.Request.QueryString["txtName"];//如果是get请求那么,接收的时候必须使用QueryString
        string userPwd = context.Request.QueryString["txtPwd"];
        context.Response.Write("用户名是:" + userName + "密码是:" + userPwd);
    }

context.Response.Write() 方法在页面上直接输出.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值