2017-11-22

一想到今天到了22号,心里还是挺急的。
还是说一下今天面试遇到的问题吧。今天面试中遇到的第一个印象比较深的问题是react router v4中browserRouter和hashRouter有什么区别?

browserRouter依赖于HTML5 history API来实现的路由机制,以实现无刷新的路由切换。好处就是不想hashRouter那样在url上会有/##,缺点是不支持HTML5 history API的浏览器会很尴尬。

hashRouter借助url上的哈希值来进行路由跳转。

在项目中有遇到如果是本地起一个服务器的情况下,hashRouter可以进行路由的跳转,而browserRouter则页面不会进行跳转。解决的办法还有待查找资料。

关于http中请求方式:
GET:GET请求会显示请求的资源,一般用于数据的读取。但是get请求是不安全的,一般会被网络蜘蛛任意访问。
POST:POST请求会向资源提交数据,请求资源进行处理。
PUT:PUT方法会向指定资源服务器上传其最新内容。通过该方法客户端将指定资源的最新内容上传到服务器取代指定资源的内容。
DELETE:DELETE方法用于请求服务器删除当前url所指定的资源。DELETE方法所请求的资源会被删除。
HEAD:HEAD请求和GET请求一样,都是向服务端发起请求,但是与GET请求不同的是,返回的信息不包括响应主体。通常利用HEAD在不全部传输内容的情况下获取响应的头信息。HEAD方法常用于客户端查看服务端的性能。
OPTIONS: OPTIONS请求和HEAD请求类似,一般也是通过客户端查看服务器端的性能。这个方法会请求服务器端返回该资源所有的http请求,该方法一般是通过‘*’来代替资源名称,向服务器端发起OPTIONS请求,来判断服务器端是否请求成功。javascript的XMLHttpRequest就是通过OPTIONS对服务器端进行嗅探请求,来判断是否对服务器端有访问权限。

http的状态码:
1: 信息,服务器接收到请求,需要请求者进一步执行操作;
2
: 成功,操作被成功接收并处理;
3: 重定向,需要进一步操作已完成请求;
4
: 客户端错误,请求包含语法错误或无法完成请求;
5**: 服务器错误,服务器在请求处理的过程中发生错误。

200: 请求成功,一般用于get或post请求;
201:以创建,成功请求并创建了新的资源;
204:无内容,服务器成功创建,但为返回成功内容。在未更新网页的情况下,可确保浏览器继续显示当前文档。在上一个项目中,前端发起请求经过ngix时,ngix会通过options方法向服务器端进行请求,如果请求成功,则ngix则会给客户端发送一个204的状态码说明对服务器端的访问权限是允许的;
301: 永久移动,请求的资源会被永久的移动到新的uri,返回的信息会包括uri,浏览器会直接定向到新的uri;
400: 客户端的请求有误,服务器端无法解析;
404: 服务器无法根据客户端的请求找到资源;
500: 服务器内部错误,无法找到资源。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,969评论 19 139
  • 一、概念(载录于:http://www.cnblogs.com/EricaMIN1987_IT/p/3837436...
    yuantao123434阅读 8,440评论 6 152
  • Http协议详解 标签(空格分隔): Linux 声明:本片文章非原创,内容来源于博客园作者MIN飞翔的HTTP协...
    Sivin阅读 5,252评论 3 82
  • 仅剩的一缕灯光, 再不能照亮未知的恐惧, 看到的只是时间流沙, 流动的只是血液, 浑身战栗,仰望天空, 渴求的只是...
    说一声感谢阅读 203评论 0 5
  • 如果说时间是个无底洞,那我们就是掉入深渊的奴隶。 花上自己为数不多的几个十年,每天给这个无底洞不断地填补食物,...
    霓裳闰阅读 208评论 0 0