发表于: 2019-11-09 23:17:56

1 1012


今天完成的事情:


如何使用postman
在web开发中,前端和后端最紧密的联系就是在接口,发送请求的过程中。但是我们在开发项目的时候,不知道这个接口到底有没有问题,接口里面的信息是什么。所以就需要使用postman。
使用postman发送请求,来确定这个接口到底有没有问题。
相信这种图片可以解决百分之80的问题了。
REST风格是什么?
首先REST规范
    1:强调http应当以资源为中心,并且规范了资源url的风格。
    2:规范了http请求和动作,(比如put和post的使用),具有对应语义。
遵循REST规范的网络应用将会获得下面好处
    1:url具有很强的可读性,具有自描述性。
    2:资源描述与视图的松耦合。
    3:可提供OpenAPI便于第三方系统集成,提供互操作性。
    4:如何提供无状态的服务接口,可提高应用的水平扩展性。
基本概念,
REST是一种软件架构模式,核心包括:
资源(resource)在rest中资源可以简单的理解为url。既然资源是url,他就会对应以下特征,名词代表一个资源对应它的唯一的一个资源,是资源的地址。
表现(Respresntation):是资源呈现具有以下特征,比如上述url返回的html或json,包括http Header等。
REST操作
一般资源操作只有新增,删除,查询,更新,对应HTTP协议中四类请求:POST,DELETE,GET,PUT其中,后三个操作是。幂等的(什么是幂等。? )
查询资源时,更多的参数,比如分页,排序,过滤条件,一般都会放在网址的查询部分(查询字符串),
新增,更新资源,关于资源实体的内容,一般放在请求体(请求体)中。
get与post的区别。
在web开发中,get请求与post请求是最常用的请求。2个请求之间最直观的区别就在于,get请求的参数是放到了url后面,而post请求,展示出来的是写进了request body里面。
get请求在浏览器中回退是没有任何影响的。而post会再次提交请求。
get请求产生的url可以被保存成书签,而post不可以。
get请求会被浏览器主动缓存,而post不会,除非我们手动设置。
get请求只能进行url编码,posy支持多种编码方式。
get请求参数,会被完成保留在浏览器历史记录里,而post参数则不会被保留。
get请求在url中,传输的参数是有长度西安至的。而post没有。
对于参数的数据类型,get只接受,ASCLL字符。而post没有限制。
get比post更不安全,post放在Request body中。
以上好像都可以算做是,get与post的区别了。但是如果我说get与post没区别你们信吗?
get请求与post请求都是http协议中,的两种请求方法,http是什么?http是基于TCP/P的关于数据如何在万维网通信的协议。
所以http请求的底层就是,TCP/P,get与post也是TCP/P。也就是说。get请求与post请求都是TCP链接。get与post能做的事情是一样的。我们如何在post带上url参数,技术上是完全行得通的。
在万维网中,TCP就像汽车一样,我们使用TCP来运输数据。TCP可靠,从不会发生丢件少件的现象,但是如果路上都是跑的一样的车,而且速度都是一样的。
这样的话,这个世界看起来乱糟糟的,送加急快递的汽车会被满载数据的大货车堵在路上。整个交通规则都乱糟糟的。
为了避免这样的现象发生,我们制定了交通规则——http。http给汽车运输行业设定了好几个服务级别,比如get,post,put,delete等等,在http规定中,你如果想执行get请求的话,你就要method,挂上get车牌。
而且你请求的货物,比如要放在车顶上,(url),以方便区分。
如果你是post请求,就要挂上method post的车牌。把货物放入车厢里,当然我们也可以偷偷摸摸的给get请求的车厢里赛点东西,post的url放点货物。
http只是规则,TCP才是请求实现的基本,
但是,我们发送请求的参数的限制,又是从哪里来的呢?
刚才提到了,http就是交通规则。TCP就是我们的车子。这个时候,浏览器和服务器会扮演,运输公司的角色。不同的浏览器(发送http请求,),和接受的服务器(接受http请求)就是,不同的公司。
虽然理论上。我们可以无线放入数据,但是如果太多了,对于运输公司(服务器)(浏览器)来说是一种极大的负担,所以对url长度做了限制在2k个字节。大多数服务器最多能处理,64k的url,超过的部分。孰不处理。
post与get还要一个更大的区别在于,get只产生一个TCP数据包,post产生2个TCP数据包。
对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);
而对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)。
也就是说,get请求,只需要跑一趟就能把数据发送过去,POST需要跑2趟。第一次告诉,服务器看门,我要送的东西是什么什么。你们准备好。
所以get请求的速度比post快一点,因此yahoo团队有推荐,使用get代替,post优化网站性能的。但是这是坑。
因为:
1,get与post都有自己的语义,不能随便乱用。不然又回到了原来。
2,网络好的情况下,2次与1次可以无视。
3,firefox只发送一次包。
application json 与form表单的区别?
协议规定post请求的时候,数据必须放在消息主体(enity-body)中,但协议并没有规范必须使用什么编码方式,实际上我们完全可以自己觉得消息主题的格式,只要后面发送的http请求满足上面的格式就可以。
application/x-www-form-urlencoded发送数据前对数据进行编码。。
application/json 这个 Content-Type 作为响应头大家肯定不陌生。
实际上,现在越来越多的人把它作为请求头,用来告诉服务端消息主体是序列化后的 JSON 字符串。 由于 JSON 规范的流行,除了低版本 IE 之外的各大浏览器都原生支持 JSON.stringify, 服务端语言也都有处理 JSON 的函数,使用 JSON 不会遇上什么麻烦。 JSON 格式支持比键值对复杂得多的结构化数据,这一点也很有用。 Google 的 AngularJS 中的 Ajax 功能,默认就是提交 JSON 字符串。


明天计划的事情:


转换时间戳,调试页面。


遇到的问题:


收获:


水的一批,感觉什么都进不到脑子里去。



返回列表 返回列表
评论

    分享到