【B/S学习总结】我的第100篇CSDN博客

    在学习B/S之前,写过一篇博客《走过C/S,走进B/S》。从那时开始,就认识到了B/S的与众不同。现在,B/S项目结束了,学习了很长时间,是应该整理整理B/S项目下的知识了。例如:它的工作原理,它的页面布局......那一个个绚丽的网页,都是如何实现的?

    想了很久,不知道该给这篇博客写个什么标题,总觉得标题写成“B/S学习总结”很是单调。不经意间,发现这篇博客正好是自己CSDN上的第100篇博客,那么,就以此作为博客的标题啦~~顿时变得很有味道的感觉啦~~

    首先,我们先来回顾一下,B/S是什么。

    What is B/S?】 

    毫无疑义,B/S中的B:Browser,S:Server,即我们的B/S程序的客户端就是浏览器(各种各样的浏览器,不管你是IE还是Firefox、Chrome等等),而服务端又是什么呢?服务端是指我们利用.Net平台(当然也可以是PHP、Java、Ruby、Python等)开发出来的应用程序,这些程序运行在各种Web Server上(例如:IIS、Apache、Tomcat等)。

    在整个项目下来,一个牛腩新闻发布系统就让我们见识到了B/S模式的强大,一开始的时候,真的没有想到,自己可以做出一个新闻网站。

    我们在学习完一个完整的牛腩新闻发布系统后,便开始了各个部分的学习。下面我们接着从客户端(Broswer)说。

    【Broswer】

HTML

    超文本标记语言。HTML包含HTML标签和纯文本,用于描述网页。Web浏览器的作用读取HTML文档,并且以网页的形式显示它们。

XML

    可扩展标记语言,被设计用来传输和存储数据。

    和HTML的关系是:使用了XML,可以使得数据和显示分离。利用XML专门负责对数据的操作,而利用HTML专门负责对页面上的显示操作。这样,在修改数据的情况下不会导致HTML文件的改动,方便维护页面。

JavaScript

    一种脚本语言,通常直接嵌入HTML页面,被设计用来向HTML页面添加交互行为。没有JavaScript的话,我们只能添加各种超链接的操作,而这是远远不够的。有了JavaScript的情况下,我们可以对事件作出响应,可以被用来验证验证数据,可以被用来创建cookies......

CSS 

    层叠样式表,它是用于控制网页样式并允许将样式信息与网页内容分离的一种标记性语言。CSS的学习盒子模型是重点,我们调整页面布局,都需要利用其中的各种属性,如:内边距、外边距等。CSS+DIV则可以让实现结构与表示分离,通过DIV结点的ID,Class等,使得我们更容易对页面布局进行设计。 

JQuery

    它实际上是JavaScript的一个框架,它将经常用到的JavaScript方法进行封装,宗旨是write less,do more.

AJAX

    异步JavaScript和XML。传统的Web应用程序,在接到用户的请求后,服务器直接接收处理传过来的表单,然后返回一个新的网页。如果用户前后两次请求,页面内容相差很少,页面整体刷新没有必要,就会造成很差的用户体验度。然而,通过AJAX,可以实现网页的局部刷新,使得我们可以创建更好、更快以及更友好的WEB应用程序。 

    客户端,所用的技术不多,但对于主要的开发框架我们还是必须了解的呀。

    【Client】

    在学习过程中,我们的开发都是基于.NET Framework。ASP.NET是我们Web开发框架的基础,而学习中接触的ASP.NET Web Forms是目前微软提供的主流的Web开发框架之一。除此之外,ASP.NET MVC也是主流开发框架之一。

ASP.NET

    因为在B/S学习阶段,只是在牛腩新闻发布系统中与服务器端的学习有过接触,现在也觉得比较生疏了。而通过看自己之前总结的博客,也算是很快就拾起了。在《【ASP.NET】初次见面》一文中,就介绍了ASP.NET的由来和优点。

ASP.NET之Web Forms

    在我们从C/S到B/S的过渡阶段来说,首先接触Web Forms开发框架也是给我们提供了很大的接受空间,因为在这里我们也都是从拖拽控件做起,添加一系列的方法。

ASP.NET之MVC

    想要对MVC做一个了解,可参见博客《MVC框架

    【BS工作原理】 

    在对浏览器和服务器各自梳理后,接下来的一个问题也就很明显了,即浏览器和服务器是如何建立联系的,从用户的操作开始,用户在浏览器页面提交表单操作,向服务器发送请求,服务器接收并处理请求,然后把用户请求的数据(网页文件、图片、声音等)返回给浏览器,至此一次请求完成。而浏览器的请求是如何形成发送的,服务器又是如何返回的。

    下面就一起来回顾BS模式下的程序的运行原理。

                          

    通过上面的图,我们很容易看到一次请求的整个过程。下面一次来看看其中的具体知识点:

HTTP协议

    超文本传输协议。HTTP是客户端浏览器或其他程序与Web服务器之间的应用层通信协议。

    我们在浏览器的地址栏里输入的网站地址叫做URL (Uniform Resource Locator,统一资源定位符)。当你在浏览器的地址框中输入一个URL或是单击一个超级链接时,URL就确定了要浏览的地址。浏览器通过超文本传输协议(HTTP),将Web服务器上站点的网页代码提取出来,并翻译成漂亮的网页。

HTTP协议之请求消息

    指的是浏览器端向服务器端发出的请求,也就是用户对所需要资源发出的消息。

    HTTP协议有很多方法可以使得客户端与服务端进行交互,常用的有几种:GET、HEAD和POST。GET方法取回由Request-URI标识的信息。HEAD方法也是取回由Request-URI标识的信息,只是可以在响应时,不返回消息体。POST方法可以请求服务器接收包含在请求中的实体信息,可以用于提交表单,向新闻组、BBS、邮件群组和数据库发送消息。

HTTP协议之响应消息

    指的是服务端对客户端的消息进行回复,也就是将所需要的资源返回给用户。

    HTTP协议中对响应消息也有固定的格式,在此我们对其原理机制不做研究,下面的图片是一个典型的响应消息:

                          

    【总结】

    对BS的学习也有了这么长的一段时间,通过最后的整理总结,通过写下自己的第100篇CSDN博客,对BS的理论知识有了进一步的认识,对BS模式下的开发有了进一步的了解,对自己后面的学习也充满了信心。

    最后给大家附上一张B/S总结导图吧:

                 

时间: 2024-11-29 09:56:29

【B/S学习总结】我的第100篇CSDN博客的相关文章

iOS中 HeathKit框架学习 步数统计等 韩俊强的博客

每日更新关注:http://weibo.com/hanjunqiang  新浪微博!iOS开发者交流QQ群: 446310206 HeathKit框架学习 本文结构 简介 用户数据安全及隐私 HeathKit框架 HeathKit使用 总结 简介 HeathKit是Apple公司在推出iOS 8 系统时一块推出的关于健康信息的框架.如果iPhone手机系统升级到iOS8之后就会发现多了一个健康-app,这就是Apple提供的一个记录用户健康信息的app,可以用它来分享健康和健身数据.还可以指定数

“2012年度IT博客大赛”获奖感言--梦想、学习、坚持、自信、淡定

今年有幸参加"2012年度IT博客大赛",并且进入了前十强,大赛组委会让前十强选手写一下获奖感言.自开博以来,已经有一年半的时间,刚好籍此机会回顾一下写博历程.首先要感谢<老罗的Android之旅>的读者.2012年度IT博客大赛组委会,以及各位专家评委的支持和肯定.        自2011年6月21日开博至今天2012年12月16日,一共发表了68篇原创博客,访问量993296次,评论3010条.期间还对博客文章进行了系统的整理,出版了<Android系统源代码情

求助:Java怎么样实现爬虫,抓取博客里面的所有文章,希望指点下该从哪里学习,推荐一些书籍之类的

问题描述 经常逛博客,看到很多文章想保存起来,到Kindle里面看,于是就有了抓取博客里面所有文章的需求,但是不知道该怎么实现,自己也查了一下,但大部分都是讲的原理或者直接贴代码,希望大婶们推荐点相关的书籍供研究学习哈 解决方案 解决方案二:不知道你是不是专门做爬虫的,爬虫很广的.简单的就是页面数据提取.解决方案三:自己做demo爬些文本数据很简单,就像你说的网上很多demo都可以.不过建议你用Jsoup,当你拿到网页Html内容以后,Jsoup帮你构建出一个Dom树,你可以像在浏览器中使用jq

[Python学习] 简单网络爬虫抓取博客文章及思想介绍

        前面一直强调Python运用到网络爬虫方面非常有效,这篇文章也是结合学习的Python视频知识及我研究生数据挖掘方向的知识.从而简单介绍下Python是如何爬去网络数据的,文章知识非常简单,但是也分享给大家,就当简单入门吧!同时只分享知识,希望大家不要去做破坏网络的知识或侵犯别人的原创型文章.主要包括:         1.介绍爬取CSDN自己博客文章的简单思想及过程         2.实现Python源码爬取新浪韩寒博客的316篇文章 一.爬虫的简单思想      最近看刘兵

最好的PHP入门教程推荐:100篇PHP教程精华推荐

我的PHP博客开博也快接近两年了,在广大PHP爱好者的支持下,我写了接近100篇经过实践验证的原创PHP教程,每一篇PHP教程都渗透着我的心血,作为下一个100篇PHP技术文章的起点,我针对这100篇PHP入门教程进行总结,首先从一个PHP网站建设者的角度推荐这些PHP教程中的精华,以后还会有PHP实例教程推荐,力争为PHP入门学习的朋友打造最好的PHP入门教程,希望我推荐的这些PHP教程对你有用,也欢迎和我交流PHP技术. 了解网站建设流程 浅谈建站经验之网站建设的流程与步骤 推荐理由:对于一

学习制作wp博客模版的过程感想

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 在WP学习模版制作已经有段时间了,在刚开始学习模版制作的时候确时遇到家过很多问题,在这里我想讲一下我制作模版过程中遇到的问题词.在制作模版的过程中,光照着视频里面的步骤操作跟视频里面一样的模版,我想这是每一个新学员的第一步吧,我也不例外. 刚开始时我也是跟着视频里面的步骤一步步跟着操作,WP的模版制作视频讲的还是蛮详细的我认为,最起码我是能够

学习动态性能表 第六篇-(1)-V$SESSION_WAIT

  学习动态性能表 第六篇-(1)-V$SESSION_WAIT  这是一个寻找性能瓶颈的关键视图.它提供了任何情况下session在数据库中当前正在等待什么(如果session当前什么也没在做,则显示它最后的等待事件).当系统存在性能问题时,本视图可以做为一个起点指明探寻问题的方向. V$SESSION_WAIT中,每一个连接到实例的session都对应一条记录. V$SESSION_WAIT中的常用列   l         SID: session标识 l         EVENT: s

学习动态性能表 第五篇--V$SESSION

  学习动态性能表 第五篇--V$SESSION  在本视图中,每一个连接到数据库实例中的session都拥有一条记录.包括用户session及后台进程如DBWR,LGWR,arcchiver等等. V$SESSION中的常用列   V$SESSION是基础信息视图,用于找寻用户SID或SADDR.不过,它也有一些列会动态的变化,可用于检查用户.如例: SQL_HASH_VALUE,SQL_ADDRESS:这两列用于鉴别默认被session执行的SQL语句.如果为null或0,那就说明这个ses

学习动态性能表 第十一篇-(1)-V$LATCH

  学习动态性能表 第十一篇-(1)-V$LATCH  Oracle Rdbms应用了各种不同类型的锁定机制,latch即是其中的一种.Latch是用于保护SGA区中共享数据结构的一种串行化锁定机制.Latch的实现是与操作系统相关的,尤其和一个进程是否需要等待一个latch.需要等待多长时间有关.Latch是一种能够极快地被获取和释放的锁,它通常用于保护描述buffer cache中block的数据结构.与每个latch相联系的还有一个清除过程,当持有latch的进程成为死进程时,该清除过程就