发表于: 2017-08-02 22:57:02

1 1004


【今日完成的事情】

今天终于步入了任务2,开启了Web的学习。

首先是WEB的一些基础知识:


①GET和POST请求的区别:
   1):GET的请求数据在地址栏,而POST不会.
      POST比GET更安全.
   2):POST请求的参数存放于请求实体中,而GET存放于请求行中.
   3):GET方式请求的数据不能超过2K,而POST没有上限.
      比如文件上传时,必须使用POST方式.
   4):GET可以缓存,而POST没有缓存.
------------------------------------------
查询的时候使用使用GET.其他时候使用POST.
表单全部使用POST提交.
-------------------------------------------
GET方式:
1:直接在浏览器地址栏敲回车.
2:表单中,method=get.
3:超链接.
只有表单中使用method=post,才是POST方式.


②什么是Http无状态?

无状态

  无状态是指协议对于事务处理没有记忆能力,服务器不知道客户端是什么状态。即我们给服务器发送 HTTP 请求之后,服务器根据请求,会给我们发送数据过来,但是,发送完,不会记录任何信息

  HTTP 是一个无状态协议,这意味着每个请求都是独立的,Keep-Alive 没能改变这个结果。

  缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

  HTTP 协议这种特性有优点也有缺点,优点在于解放了服务器,每一次请求“点到为止”不会造成不必要连接占用,缺点在于每次请求会传输大量重复的内容信息。


③springMVC流程

Spring工作流程描述

      1. 用户向服务器发送请求,请求被Spring 前端控制Servelt DispatcherServlet捕获;

      2. DispatcherServlet对请求URL进行解析,得到请求资源标识符(URI)。然后根据该URI,调用HandlerMapping获得该Handler配置的所有相关的对象(包括Handler对象以及Handler对象对应的拦截器),最后以HandlerExecutionChain对象的形式返回;

      3. DispatcherServlet 根据获得的Handler,选择一个合适的HandlerAdapter。(附注:如果成功获得HandlerAdapter后,此时将开始执行拦截器的preHandler(...)方法)

       4.  提取Request中的模型数据,填充Handler入参,开始执行HandlerController)。 在填充Handler的入参过程中,根据你的配置,Spring将帮你做一些额外的工作:

      HttpMessageConveter: 将请求消息(如Jsonxml等数据)转换成一个对象,将对象转换为指定的响应信息

      数据转换:对请求消息进行数据转换。如String转换成IntegerDouble

      数据根式化:对请求消息进行数据格式化。 如将字符串转换成格式化数字或格式化日期等

      数据验证: 验证数据的有效性(长度、格式等),验证结果存储到BindingResultError

      5.  Handler执行完成后,向DispatcherServlet 返回一个ModelAndView对象;

      6.  根据返回的ModelAndView,选择一个适合的ViewResolver(必须是已经注册到Spring容器中的ViewResolver)返回给DispatcherServlet 

      7. ViewResolver 结合ModelView,来渲染视图

      8. 将渲染结果返回给客户端。


④什么是RESTful接口?

1. REST描述的是在网络中client和server的一种交互形式;REST本身不实用,实用的是如何设计 RESTful API(REST风格的网络接口);
2. Server提供的RESTful API中,URL中只使用名词来指定资源,原则上不使用动词。“资源”是REST架构或者说整个网络处理的核心。比如:
api.qc.com/v1/newsfeed: 获取某人的新鲜;
api.qc.com/v1/friends: 获取某人的好友列表;
api.qc.com/v1/profile: 获取某人的详细信息;
3. 用HTTP协议里的动词来实现资源的添加,修改,删除等操作。即通过HTTP动词来实现资源的状态扭转:
GET 用来获取资源,
POST 用来新建资源(也可以用于更新资源),
PUT 用来更新资源,
DELETE 用来删除资源。

【明日计划】:开始着手编写REST接口


【今日收获】:学习了WEB的基础,阅读SpringMVC,阅读REST的文章,对WEB有了基本概念



返回列表 返回列表
评论

    分享到