详解如何实现最基本的AJAXjava三大框架要学多久

1:简述前后端通讯的过程(三次握手,四次挥手)?

1?TCP三次握手和四次挥手的过程图

tcp的6种标志位的分别代表:

各个状态的意义如下: 
SYN-SENT -在发送连接请求后等待匹配的连接请求; 
SYN-RECEIVED - 在收到和发送一个连接请求后等待对连接请求的确认; 
ESTABLISHED- 代表一个打开的连接,数据可以传送给用户; 
FIN-WAIT-1 - 等待远程TCP的连接中断请求,或先前的连接中断请求的确认;
TIME-WAIT -等待足够的时间以确保远程TCP接收到连接中断请求的确认; 

下面具体说说三次握手和四次挥手过程:



1、GET请求会向数据库发索取数据的请求,从而来获取信息,该请求就像数据库的select操作一样,只是用来查询一下数据,不会修改、增加数据,不会影响资源的内容,即该请求不会产生副作用。无论进行多少次操作,结果都是一样的。

2、与GET不同的是,PUT请求是向服务器端发送数据的,从而改变信息,该请求就像数据库的update操作一样,用来修改数据的内容,但是不会增加数据的种类等,也就是说无论进行多少次PUT操作,其结果并没有不同。

3、POST请求同PUT请求类似,都是向服务器端发送数据的,但是该请求会改变数据的种类等资源,就像数据库的insert操作一样,会创建新的内容。几乎目前所有的提交操作都是用POST请求的。

4、DELETE请求顾名思义,就是用来删除某一个资源的,该请求就像数据库的delete操作。

就像前面所讲的一样,既然PUT和POST操作都是向服务器端发送数据的,那么两者有什么区别呢。。。POST主要作用在一个集合资源之上的(url),而PUT主要作用在一个具体资源之上的(url/xxx),通俗一下讲就是,如URL可以在客户端确定,那么可使用PUT,否则用POST。

综上所述,我们可理解为以下:

 Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是统一资源定位符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个操作。到这里,大家应该有个大概的了解了,GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。

1.根据HTTP规范,GET用于信息获取,而且应该是安全的和幂等的。

(1).所谓安全的意味着该操作用于获取信息而非修改信息。换句话说,GET 请求一般不应产生副作用。就是说,它仅仅是获取资源信息,就像查询一样,不会修改,增加数据,不会影响资源的状态。

* 注意:这里安全的含义仅仅是指是非修改信息。

(2).幂等的意味着对同一URL的多个请求应该返回同样的结果。这里我再解释一下幂等这个概念:

幂等(idempotent、idempotence)是一个数学或计算机学概念,常见于抽象代数中。
  幂等有一下几种定义:
  对于单目运算,如果一个运算对于在范围内的所有的一个数多次进行该运算所得的结果和进行一次该运算所得的结果是一样的,那么我们就称该运算是幂等的。比如绝对值运算就是一个例子,在实数集中,有abs(a)=abs(abs(a))。
  对于双目运算,则要求当参与运算的两个值是等值的情况下,如果满足运算结果与参与运算的两个值相等,则称该运算幂等,如求两个数的最大值的函数,有在在实数集中幂等,即max(x,x) = x。

看完上述解释后,应该可以理解GET幂等的含义了。

  但在实际应用中,以上2条规定并没有这么严格。引用别人文章的例子:比如,新闻站点的头版不断更新。虽然第二次请求会返回不同的一批新闻,该操作仍然被认为是安全的和幂等的,因为它总是返回当前的新闻。从根本上说,如果目标是当用户打开一个链接时,他可以确信从自身的角度来看没有改变资源即可。

2.根据HTTP规范,POST表示可能修改变服务器上的资源的请求。继续引用上面的例子:还是新闻以网站为例,读者对新闻发表自己的评论应该通过POST实现,因为在评论提交后站点的资源已经不同了,或者说资源被修改了。

  上面大概说了一下HTTP规范中GET和POST的一些原理性的问题。但在实际的做的时候,很多人却没有按照HTTP规范去做,导致这个问题的原因有很多,比如说:

1.很多人贪方便,更新资源时用了GET,因为用POST必须要到FORM(表单),这样会麻烦一点。

2.对资源的增,删,改,查操作,其实都可以通过GET/POST完成,不需要用到PUT和DELETE。

3.另外一个是,早期的Web MVC框架设计者们并没有有意识地将URL当作抽象的资源来看待和设计,所以导致一个比较严重的问题是传统的Web MVC框架基本上都只支持GET和POST两种HTTP方法,而不支持PUT和DELETE方法。

   * 简单解释一下MVC:MVC本来是存在于Desktop程序中的,M是指数据模型,V是指用户界面,C则是控制器。使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。

  以上3点典型地描述了老一套的风格(没有严格遵守HTTP规范),随着的发展,现在出现REST(Representational State Transfer),一套支持HTTP规范的新风格,这里不多说了,可以参考《RESTful Web

  说完原理性的问题,我们再从表面现像上面看看GET和POST的区别:

1.GET请求的数据会附在URL之后(就是把数据放置在HTTP协议头中),以?分割URL和传输数据,参数之间以&相连,如:",

这里略微麻烦的是 POST 方法,jsonp 只能使用 get 方式插入 script 节点去请求数据,但是 POST,只能呵呵了。

这里的处理也有多重方式可以参考:

  • 修改 Hosts,让 mock 的域名指向开发域名

对于如何拿到跨域的接口信息,我也给出几个参考方案:

  • fiddler 替换包,好像是支持正则的,感兴趣的可以研究下(求分享研究结果,因为我没找到正则的设置位置)
  • 使用 HTTPX 或者其他代理工具,原理和 fiddler 类似,不过可视化效果(体验)要好很多,毕竟人家是专门做代理用的。
  • 自己写一段脚本代理,也就是本地开一个代理服务器,这里需要考虑端口的占用问题。其实我不推荐监听端口,一个比较不错的方案是本地请求全部指向一个脚本文件,然后脚本转发URL,如:
    原始请求: 的网页无法与不是 的服务器沟通,而 HTML 的<script> 元素是一个例外。
     
     
    13:五大浏览器和其对应的内核
    浏览器的内核是分为两个部分的,一是渲染引擎,另一个是JS引擎。现在JS引擎比较独立,内核更加倾向于说渲染引擎。
    1、Trident内核:代表作品是IE,因IE捆绑在Windows中,所以占有极高的份额,又称为IE内核或MSHTML,此内核只能用于Windows平台,且不是开源的。
    代表作品还有腾讯、Maxthon(遨游)、360浏览器等。但由于市场份额比较大,曾经出现脱离了W3C标准的时候,同时IE版本比较多,


    Mozilla是网景公司在第一次浏览器大战败给微软之后创建的。有兴趣的同学可以了解一下浏览器大战
    3、Webkit内核:代表作品是Safari、曾经的Chrome,是开源的项目。

    5、Blink内核:由Google和Opera Software开发的浏览器排版引擎,2013年4月发布。现在Chrome内核是Blink。谷歌还开发了自己的JS引擎,V8,使JS运行速度极大地提高了

学习Java能做什么?达内总结学习Java的好方法,免费分享java完全自学手册,你看了吗?

在如今这个互联网大放异彩的时代,参加Java培训是快速获得理性薪资的捷径,作为IT老兵,Java顽强的生命力,在这些新领域扎根壮大。因此,学习Java的人不仅没有减少,而是越来越多。先跟着达内来看下学习Java能够做些什么,学习Java的好方法有哪些::

学习Java,可以做一名简单的程序员,穿梭在各种软件开发之间;学习Java,可以做一名架构师,参加大型项目的实现;学Java,可以通过Hadoop平台对大数据进行梳理;学Java分布式计算,支持虚拟化技术,可以参与云计算;Java应用范围广,就业岗位多,学编程从Java入门是非常正确的选择。

在未来,Java将发挥越来越重要的作用,Java人才需求依然强劲,因此,现在跳上Java快车,抓住机遇,显得尤为重要。达内武汉Java表示现在开始就要好好学习,尤其是要巩固好基础,例如:JDK,语法,面向对象,封装,final,类,语句,异常处理等。

学完Java基础,算是基本入门了,接下来要学习前端知识。前端与后端不分你我,学好前端有利于Java技术的延伸。前端主要学习HTML5,CSS3,JS等三大基础,以及包括技术新特性。

想在Java一行长远发展,不得不学习的就是数据库了。编写Java程序,实现客户与数据的连接,离不开数据库的支持。达内举个例子,比如,你想要图书馆里面的所有的图书,查找某个资料,有了,就可以专门的做出一个查询系统,这个系统将所有的图书的内容都融汇到一个地方,然后通过你用Java编写的查询系统,调动数据库,即可找到想要资料。用途更广的两大数据库Oracle和MySQL,

此外,JavaEE在web服务中有非常大的用途,所以还需要学习Javaweb开发模型,JSP语法,servlet,MVC模式,分页技术,ajax,webservice,三大框架,mybatis,以及更新技术,参加web开发项目,三大框架实现项目,Android开发项目等等内容。Java需要学习的东西是如此之多,以至于只有通过系统的培训才能快速入行,自学Java半途而废者十之有九。

学习从来无捷径,循序渐进才能登高峰,学习Java能做的岗位有很多,掌握学习Java的好方法非常重要。达内根据每个学员不同的基础,进行全面的综合能力提升,不仅考虑每个学员个性的特点,个人的能力特长,也结合理论要求,让每个学员都可以在学习提升的过程中,建立起自己的信心,并且开发出自己优秀的作品。

(责任编辑:IT培训网)

版权声明:本文为博主原创文章,未经博主允许不得转载。 /qq_/article/details/

我要回帖

更多关于 java三大框架要学多久 的文章

 

随机推荐