发表于: 2017-05-03 20:37:13
1 1301
今天完成的事情:完成任务二的任务小结,开始任务三,安装配置运行Nginx,将项目配置在服务器中,完成Nginx的反向代理。
任务二小结:
1.Rest接口格式
1.1 什么是restful?
REST即Representational State Transfer缩写,翻译为“表现层状态转移”。就是用URI定位资源,用HTTP描述操作。restful是REST风格的API设计规范。REST最大的几个特点:资源,统一接口,URI和无状态。
1.2 rest的请求方法有哪些?
GET方法:用来获取资源PUT方法:可用来新增/更新Store类型的资源PUT方法:可用来更新一个资源POST方法:可用来创建一个资源POST方法:可用来触发执行一个Controller类型资源DELETE方法:用于删除资源
1.3 spring对rest的封装有哪些?
1.控制器可以处理所有的HTTP方法, 包含四个主要的REST方法: GET、 PUT、 DELETE以及POST。 Spring 3.2及以上版本还支持PATCH方法;
2.借助@PathVariable注解, 控制器能够处理参数化的URL( 将变量输入作为URL的一部分) ;
3.借助Spring的视图和视图解析器, 资源能够以多种方式进行表述, 包括将模型数据渲染为XML、 JSON、 Atom以及RSS的View实现;
4.可以使用ContentNegotiatingViewResolver来选择最适合客户端的表述;
5.借助@ResponseBody注解和各种HttpMethodConverter实现, 能够替换基于视图的渲染方式;
6.借助@RequestBody注解以及HttpMethodConverter实现可以将传入的HTTP数据转化为传入控制器处理方法的Java对象;
7.借助RestTemplate, Spring应用能够方便地使用REST资源
2.Maven WEB 工程
2.1如何使用maven创建web项目?
Create New Project--->Maven--->Create from archetype--->org.apache.maven.archetypes:maven-archetype-webapp-->Next
3.SpringMVC定义rest接口,JsonTagLib定义Json接口
3.1如何定义接口,规范有哪些?
"/"分隔符一般用来对资源层级的划分
URI中尽量使用连字符"-"代替下划线"_"的使用
URI中统一使用小写字母
URI中不要包含文件(脚本)的扩展名
4.启动jetty
4.1 maven引入jetty插件,启动web工程需要如何配置?如何启动?
run-->Edit Configurations-->Jetty Server-->Local-->Deployment-->war exploded-->ok
5.PostMan/dhc测试接口
5.1 如何安装postman,如何使用postman测试接口?
从postman官网下载,可下载桌面版或chrome插件版,将测试网址粘贴到postman中点击即可显示结果。
6.HTTP协议
6.1 什么是http协议?
超文本传输协议。用于浏览器和服务器之间数据传输。
6.2 Get和post请求有什么区别?
GET:向指定的资源发出“显示”请求。使用GET方法应该只用在读取数据,而不应当被用于产生“副作用”的操作中。
POST:向指定资源提交数据,请求服务器进行处理(例如提交表单或者上传文件)。数据被包含在请求本文中。这个请求可能会创建新的资源或修改现有资源,或二者皆有。
6.3 http请求content-Type有几种,有什么区别?
Content-Type,内容类型,一般是指网页中存在的Content-Type,用于定义网络文件的类型和网页的编码,决定浏览器将以什么形式、什么编码读取这个文件。
下面是几个常见的Content-Type:
1.text/html
2.text/plain
3.text/css
4.text/javascript
5.application/x-www-form-urlencoded
6.multipart/form-data
7.application/json
8.application/xml
...
前面几个都很好理解,都是html,css,javascript的文件类型,后面四个是POST的发包方式。
6.4 http请求的三次握手具体指什么?
第一次握手:主机A发送位码为syn=1,随机产生seq number=1234567的数据包到服务器,主机B由SYN=1知道,A要求建立联机;
第二次握手:主机B收到请求后要确认联机信息,向A发送ack number=(主机A的seq+1),syn=1,ack=1,随机产生seq=7654321的包
第三次握手:主机A收到后检查ack number是否正确,即第一次发送的seq number+1,以及位码ack是否为1,若正确,主机A会再发送ack number=(主机B的seq+1),ack=1,主机B收到后确认seq值与ack=1则连接建立成功。
完成三次握手,主机A与主机B开始传送数据。
6.5 http适合什么场景?什么是tcp/ip协议?http状态码有哪些?
HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。。HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。
TCP/IP 是因特网的通信协议。TCP/IP 通信协议是对计算机必须遵守的规则的描述。
HTTP常见状态码有:
200 - 请求成功
301 - 资源(网页等)被永久转移到其它URL
404 - 请求的资源(网页等)不存在
500 - 内部服务器错误
明天打算做的事情:继续任务三
Nginx反向代理的配置问题,有多种代理方式
tomcat直接访问有的页面资源加载不完全,但是通过Nginx反向代理之后,页面可以完全加载出来。
收获:Nginx服务器的安装配置与运行
评论