首页 > 代码库 > 025.ASP.NET概念、请求处理与响应
025.ASP.NET概念、请求处理与响应
ASP.NET
1.
技术:
html js css 是用于做网页的技术
2.
网页:
可以用浏览器浏览的页面(通常HTML格式)
网站:
是网页的集合 WebSite
3.
使用IIS搭建web站点,放置网页的集合,供公共用户访问才可以.
右键->计算机->管理->服务器和应用程序->Internet(IIS)
http://localhost/动画练习.htm
4.
机器地址:
IP,每台电脑都有唯一的IP地址,使用ipconfig查看
端口号:
port,IP相当于公司总机,Port就是分机
一个IP可以包含65536个端口,从0到65535.
网站默认端口常用80.防火墙不会屏蔽80端口的数据.
DOS命令:
cmd->ipconfig
http://172.164.20.165:80/动画练习.htm
localhost本地主机
5.
客户端:
Client为客户提供本地服务的程序.
客户机:
客户端所在的机器
服务端:
server为客户端程序提供服务的程序
服务器:
服务端所在的机器
6.
域名 :
IP地址不易记忆,所以有了域名,使用字符描述
域名分类:
全球顶级域名:
com(商业),net(网络),org(组织),gov(政府)
按地域划分:
cn,hk,jp,mm,cc,.中国
域名解析:
从域名转换到IP的过程
DNS:
域名解析服务
7.
静态网页:
内容不会因人因时而异
动态网页:
显示内容因人因时而异
8.
(*****)
web应用程序(B/S)
分类:
网站,企业应用程序
企业应用程序:
企业内部使用的辅助办公的系统
例如:
OA:办公自动化
CRM:客户关系管理
ERP:企业资源计划
MIS:管理信息系统
......
9.
Web应用程序原理:
请求--处理--响应
10.HTTP:
超文本传输协议
规定了客户端如何与服务端进行交互
11.
浏览器开发者工具F12
可以捕获浏览器窗口发出去和接收到的数据包
请求数据包:
客户端发给服务端的数据,包含两部分(请求标头,请求正文)
响应数据包:
服务端反回给客户端的数据,包含两部分(响应标头,响应正文)
12.
*****
响应标头,请求标头中的键值信息都是http协议规定的内容.
客户端访问一个页面,并不是发送一次请求,而是每个资源(html,js,图片...)发一个请求
13.
http无状态性:
http服务端记不住客户端的状态,目的是为了腾出足够的资源应对更多客户端的请求,提高请求并发数.
http状态码:
用于描述服务端响应状态的数字
200 响应正常,404 未找到资源,500 服务器内部出错
14.
Form表单:
收集客户端信息发送给服务器
通过action提交 action="一般处理程序"
提交方式(name属性):user=tom&sex=男
15.表单提交方式:
get:表单数据放在url中提交,提交后刷新无警告,不安全,get请求会被浏览器缓存
string user = context.Request.QueryString["user"];
post:表单数据放在请求正文中提交,提交后刷新有警告,安全,post请求不会被缓存
string user = context.Request.Form["user"];
16.Hello例子详解
第一次请求:
录入http://.../hello.htm 访问,服务端IIS根据请求资源的后缀来进行不同的处理.
htm后缀:
在网站目录中找到这个文件,读取文件内容,返回给客户端
第二次请求:
用户点击提交按钮,请求地址是hello.ashx(一般处理程序),IIS根据后缀采取不同措施.
ashx后缀:
IIS会将请求转发给hello类,由该类的ProcessRequest()来处理请求.
txt/jpg后缀:同htm后缀
http://localhost:32298/hello.ashx
是一个网页,不仅仅局限于html,使用浏览器能够浏览的资源就是网页
总结:B/S程序的原理:请求 处理 响应
作业:
1.做因时而异的动态网页,改造hello,不同时间段返回不同的问候.早/中/晚
前端页面:
<body>
<form action="hello.ashx" method="post">
姓名:<input type="text" name="user" />
<input type="submit" value="http://www.mamicode.com/提交" />
</form>
</body>
后台一般处理程序:
string user = context.Request.Form["user"];
string time = DateTime.Now.ToString("yyyy-MM-dd HH:mm");
string ss = time.Substring(11, 2);
int house=Convert.ToInt32(ss);
if (house>1&&house<12)
{
string result="<h1>早上好! "+user+"</h1>";
context.Response.Write(result);
}
else if (house > 1 && house < 18)
{
string result = "<h1>下午好! " + user + "</h1>";
context.Response.Write(result);
}
else
{
string result = "<h1>晚上好! " + user + "</h1>";
context.Response.Write(result);
}
025.ASP.NET概念、请求处理与响应