代码改变世界

【Asp.Net从零开始】:B/S模式的介绍

2012-05-12 17:11  ATP_  阅读(3235)  评论(1编辑  收藏  举报

  最近学校的项目各种鼓励建网站,遂最近开始温习一下Asp.Net知识,踏踏实实的过一遍,打算拿这2个项目初步掌握它,正好用的就是MCTP的考试教材(啃英文略费劲),不过希望最后再努力考个MSPD神马的也挺不错。在博客里记录下笔记,给自己留个念想,也给之后师弟师妹们的学习提供个资料库,希望博客园的诸多大神们能指导指导,晚辈万分感激!

   B/S交流的一般步骤                                                                                  

  1.用户在浏览器(Browser)端输入URL;

  2.Browser发送http并发送一个Get请求给Server;

  3.Server编译运行被请求的界面,通过html返回相应的数据包;

  4.根据相应的返回值Browser显示Html页面或弹出错误。

  ps: A. Http + SSL = Https (加密传输数据 443端口 Http为80端口)

   Server && Browser双方的职责                   

   Server's role   

  1.核实Borwser提供的请求是否合法(Authenticate browser);

  2.若为Https,则Browser验证Server是否相符,Server会返回加密的内容;

  3.Server判断Browser是否拥有合适的权限;

  4.Server决定如何回复(Respond);

  5.返回相应的页面或者Errors;

  6.或者选择输出Cache中的内容;

  7.压缩要输出的内容;

  8.记录访问数据。

   Browser's role   

  1.发送Request;  

  2.验证Server;

  3.执行Respond;

  4.显示HTML页面与嵌入式对象;

  5.运行客户端脚本(Client scripts)。

   Asp.Net框架下B/S交流比较重要的2个类              

   Request:将资源请求封装在可变成操作的Request对象中进行传递   

命令    URL      版本号

Get        /default.asps   HTTP/1.1

Host: www.northwindtraders.com

命令包含:

  1.GET: 获取页面(会将信息附加在闻讯串query str后);

  2.POST:向Server传输数据(需要身份验证,传输大量数据时使用);

  3.PUT  4.HEAD  5.OPTIONS  6.TRACE  7.CONNECT

  ps: A.GET传递数据加载在QueryString后,以?开始,&相连;

     B.POST传递数据会在信息主体(Message body)中以Hidden(经过Hash不显示)的形式传送。

     C.IsPostBack属性:判断是否为相应客户端回发而加载页面,也就是类似标识该页面是否为第一次申请。

   Reponse:设置Cookies,定义Caching,页面生存期等等   

  版本号    返回值  Reason

  HTTP/1.1  200      OK

  Server: Microsoft - IIS/6.0

  Content-Type: Type/SubType  

  Content-Length: 38

  <html><body> Hello World! </body></html>

内容类型主要包括:text/html  image/分类  audio/分类  video/分类  app/分类

          返回值Status Code            原因Reason
100 continue
200 OK
201 Created
302 Found
400 Bad Request
401 Unauthorized
403 Forbidden
404 Not Found
408 Request  Time out
413 Request Entity Too Large
500 Internal Server Error
501 Not Implemented

 

   其他注意点                            

   WebSite与Web Applications之间的区别   

  1.Web Application可以创建MVC application;

  2.生成项目文件,WebSite依赖与一个文件结构;

  3.Appliction不能混合C# && VB,而WebSite可以;

  4.WebSite调试的时候不能编辑代码,而Application可以;

  5.WebSiteProject适合单人的开发,而WebApplications适合公司企业的多人共同开发;

   Asp.Net项目中各文件夹的作用   

  1.APP_Browsers:判定用户浏览器

  2.APP_Code: 需要编译的一些.cs文件

  3.APP_Local_Resources:页面,空间,母版等需要使用的本地资源

  4.APP_Themes:子文件夹(.skin,.css,imageFiles)等确定主题的一些资源

  5.Bin: dll文件

AspPges采用2种代码处理格式,一是SinglePage,二是Code-Behind

   config文件:xml格式   

  等级制度(Hierarchy):

    1.Global machine(机器中全局的默认): Machine.config

    2.SystemRoot(系统文件根目录下):Web.config

    3.CurrentRoot(当前项目文件夹下):Web.config

    4.Web_app(应用程序中):Web.config

    5.Subfoldder(子文件夹中):Web.config

  下层config文件会重写上层设置,除非上层禁止改写;

编辑XML文件使用VS自带的WebSite Administration Tools(WSAT),修改内容包括:安全设置,程序设置,数据库连接字符串等等。

    因为自己比较菜,英文翻译可能不是很准确,希望大家多包涵,不过觉得在博客里总结次笔记能加深印象,感觉还是挺不错的。