发表于: 2017-08-10 17:35:50
1 1020
【任务总结】
1.什么是restful?
答:
2. Server提供的RESTful API中,URL中只使用名词来指定资源,原则上不使用动词。“资源”是REST架构或者说整个网络处理的核心。比如:
http://api.qc.com/v1/newsfeed: 获取某人的新鲜;
http://api.qc.com/v1/friends: 获取某人的好友列表;
http://api.qc.com/v1/profile: 获取某人的详细信息;3. 用HTTP协议里的动词来实现资源的添加,修改,删除等操作。即通过HTTP动词来实现资源的状态扭转:
GET 用来获取资源,
POST 用来新建资源(也可以用于更新资源),
PUT 用来更新资源,
2.了解maven的module。
答:从字面意思来说,module就是模块,而pom.xml中的modules也正是这个意思,用来管理同个项目中的各个模块;如果maven用的比较简单,或者说项目的模块在pom.xml没进行划分,那么此元素是用不到的;不过一般大一点的项目是要用到的。
3.rest的请求方法有哪些,有什么区别?
答:
4.什么是http协议?Get和post请求有什么区别?http请求content-Type有几种,有什么区别?http请求的三次握手具体指什么?http适合什么场景?什么是tcp/ip协议?http状态码有哪些?
答:
①什么是http协议?
HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。
HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。
HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。
HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。
②Get和Post请求有什么区别?
首先Get是默认的提交方式,输入URI直接回车就是Get请求。而Post请求必须在表单中把method属性设置为post才行。
其次是安全性问题,get会把信息附在后面,而post不会。所以一般提交密码或用户信息都是用post
最后是大小问题,据我所知post可以传输的大小是比get大的。
③http请求content-Type有几种,有什么区别?
Content-Type,内容类型,一般是指网页中存在的Content-Type,用于定义网络文件的类型和网页的编码,决定浏览器将以什么形式、什么编码读取这个文件,这就是经常看到一些Asp网页点击的结果却是下载到的一个文件或一张图片的原因。
④http的三次请求具体指什么?
在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。
第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
完成三次握手,客户端与服务器开始传送数据.
⑤http适合什么场景?
http的特点:
介于安全性比较差,http适用场景:公司OA服务,互联网服务。
⑥http状态码有哪些?
- 100(Continue继续)
请求者应当继续提出请求。服务器返回此代码则意味着,服务器已收到了请求的第一部分,现正在等待接收其余部分。(HTTP 1.1新) - 101(Switching
Protocols切换协议) 请求者已要求服务器切换协议,服务器已确认并准备进行切换。(HTTP 1.1新)
- 200(成功)
服务器已成功处理了请求。通常,这表示服务器提供了请求的网页。 - 201(已创建)
请求成功且服务器已创建了新的资源。 - 202(已接受)
服务器已接受了请求,但尚未对其进行处理。 - 203(非授权信息)
服务器已成功处理了请求,但返回了可能来自另一来源的信息。 - 204(无内容)
服务器成功处理了请求,但未返回任何内容。 - 205(重置内容)
服务器成功处理了请求,但未返回任何内容。与 204 响应不同,此响应要求请求者重置文档视图(例如清除表单内容以输入新内容)。 - 206(部分内容)
服务器成功处理了部分 GET 请求。
要完成请求,您需要进一步进行操作。通常,这些状态代码是永远重定向的。Google 建议每次请求时使用的重定向要少于 5 个。
- 300(多种选择)
服务器根据请求可执行多种操作。服务器可根据请求者 (User agent) 来选择一项操作,或提供操作列表供请求者选择。 - 301(永久移动)
请求的网页已被永久移动到新位置。服务器返回此响应(作为对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置。您应使用此代码通知 Googlebot 某个网页或网站已被永久移动到新位置。 - 302(临时移动)
服务器目前正从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。此代码与响应 GET 和 HEAD 请求的 301 代码类似,会自动将请求者转到不同的位置。但由于 Googlebot 会继续抓取原有位置并将其编入索引,因此您不应使用此代码来通知 Googlebot 某个页面或网站已被移动。 - 303(查看其他位置)
当请求者应对不同的位置进行单独的 GET 请求以检索响应时,服务器会返回此代码。对于除 HEAD 请求之外的所有请求,服务器会自动转到其他位置。 - 304(未修改)
自从上次请求后,请求的网页未被修改过。服务器返回此响应时,不会返回网页内容。 - 305(使用代理)
请求者只能使用代理访问请求的网页。如果服务器返回此响应,那么,服务器还会指明请求者应当使用的代理。 - 307(临时重定向)
服务器目前正从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。此代码与响应 GET 和 HEAD 请求的 301 代码类似,会自动将请求者转到不同的位置。但由于 Googlebot 会继续抓取原有位置并将其编入索引,因此您不应使用此代码来通知 Googlebot 某个页面或网站已被移动。
这些状态代码表示,请求可能出错,已妨碍了服务器对请求的处理。
- 400(错误请求)
服务器不理解请求的语法。 - 401(未授权)
请求要求进行身份验证。登录后,服务器可能会返回对页面的此响应。 - 403(已禁止)
服务器拒绝请求。 - 404(未找到)
服务器找不到请求的网页。例如,如果请求是针对服务器上不存在的网页进行的,那么,服务器通常会返回此代码。 - 405(方法禁用)
禁用请求中所指定的方法。 - 406(不接受)
无法使用请求的内容特性来响应请求的网页。 - 407(需要代理授权)
此状态代码与 401(未授权)类似,但却指定了请求者应当使用代理进行授权。如果服务器返回此响应,那么,服务器还会指明请求者应当使用的代理。 - 408(请求超时)
服务器等候请求时超时。 - 409(冲突)
服务器在完成请求时发生冲突。服务器必须包含有关响应中所发生的冲突的信息。服务器在响应与前一个请求相冲突的 PUT 请求时可能会返回此代码,同时会提供两个请求的差异列表。 - 410(已删除)
如果请求的资源已被永久删除,那么,服务器会返回此响应。该代码与 404(未找到)代码类似,但在资源以前有但现在已经不复存在的情况下,有时会替代 404 代码出现。如果资源已被永久删除,那么,您应当使用 301 代码指定该资源的新位置。 - 411(需要有效长度)
服务器不会接受包含无效内容长度标头字段的请求。 - 412(未满足前提条件)
服务器未满足请求者在请求中设置的其中一个前提条件。 - 413(请求实体过大)
服务器无法处理请求,因为请求实体过大,已超出服务器的处理能力。 - 414(请求的
URI 过长) 请求的 URI(通常为网址)过长,服务器无法进行处理。 - 415(不支持的媒体类型)
请求的格式不受请求页面的支持。 - 416(请求范围不符合要求)
如果请求是针对网页的无效范围进行的,那么,服务器会返回此状态代码。 - 417(未满足期望值)
服务器未满足”期望”请求标头字段的要求。
这些状态代码表示,服务器在尝试处理请求时发生内部错误。这些错误可能是服务器本身的错误,而不是请求出错。
- 500(服务器内部错误)
服务器遇到错误,无法完成请求。 - 501(尚未实施)
服务器不具备完成请求的功能。例如,当服务器无法识别请求方法时,服务器可能会返回此代码。 - 502(错误网关)
服务器作为网关或代理,从上游服务器收到了无效的响应。 - 503(服务不可用)
目前无法使用服务器(由于超载或进行停机维护)。通常,这只是一种暂时的状态。 - 504(网关超时)
服务器作为网关或代理,未及时从上游服务器接收请求。 - 505(HTTP
版本不受支持) 服务器不支持请求中所使用的 HTTP 协议版本
【明日计划】
完成Linux的Tomcat部署
【今日收获】
完成了任务二,学会了使用postman
【任务进度】
预计下周一,完成任务三,暂无延期风险
评论