WEB开发快速入门(一)

1、HTTP状态码

对网站管理工作者来说有个词不陌生,HTTP状态码,它是用以表示网页服务器HTTP响应状态的3位数字代码。状态码的第一个数字代表了响应的五种状态之一。

  ==1XX系列==:指定客户端应相应的某些动作,代表请求已被接受,需要继续处理。由于 HTTP/1.0 协议中没有定义任何 1xx 状态码,所以除非在某些试验条件下,服务器禁止向此类客户端发送 1xx 响应。

  ==2XX系列==:代表请求已成功被服务器接收、理解、并接受。这系列中最常见的有200、201状态码。
  200状态码:表示请求已成功,请求所希望的响应头或数据体将随此响应返回
  201状态码:表示请求成功并且服务器创建了新的资源,且其 URI 已经随Location 头信息返回。假如需要的资源无法及时建立的话,应当返回 ‘202 Accepted’

  202状态码:服务器已接受请求,但尚未处理

  ==3XX系列==:代表需要客户端采取进一步的操作才能完成请求,这些状态码用来重定向,后续的请求地址(重定向目标)在本次响应的 Location 域中指明。这系列中最常见的有301、302状态码。
  301状态码:被请求的资源已永久移动到新位置。服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置。

  302状态码:请求的资源临时从不同的URI响应请求,但请求者应继续使用原有位置来进行以后的请求

304自从上次请求后,请求的网页未修改过。服务器返回此响应时,不会返回网页内容。 如果网页自请求者上次请求后再也没有更改过,您应将服务器配置为返回此响应(称为 If-Modified-Since HTTP 标头)。

  ==4XX系列==:表示请求错误。代表了客户端看起来可能发生了错误,妨碍了服务器的处理。常见有:401、404状态码。
  401状态码:请求要求身份验证。 对于需要登录的网页,服务器可能返回此响应。
  403状态码:服务器已经理解请求,但是拒绝执行它。与401响应不同的是,身份验证并不能提供任何帮助,而且这个请求也不应该被重复提交。

  404状态码:请求失败,请求所希望得到的资源未被在服务器上发现。没有信息能够告诉用户这个状况到底是暂时的还是永久的。假如服务器知道情况的话,应当使用410状态码来告知旧资源因为某些内部的配置机制问题,已经永久的不可用,而且没有任何可以跳转的地址。404这个状态码被广泛应用于当服务器不想揭示到底为何请求被拒绝或者没有其他适合的响应可用的情况下。

  ==5xx系列==:代表了服务器在处理请求的过程中有错误或者异常状态发生,也有可能是服务器意识到以当前的软硬件资源无法完成对请求的处理。常见有500、503状态码。
  500状态码:服务器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理。一般来说,这个问题都会在服务器的程序码出错时出现。
  503状态码:由于临时的服务器维护或者过载,服务器当前无法处理请求。通常,这个是暂时状态,一段时间会恢复
  了解基本SEO状态码,是SEO优化人员必备知识。HTTP状态码是服务器和客户端之间交流信息的语言。通过查看网站日志的HTTP码,我们可以清楚查看搜索引擎在网站的爬取情况。

2、前后端分离

==前端==:整个页面显示以及页面的交互逻辑。用ajax和node作为交互。其中node作为中间层。

==后端==:提供api接口,利用redis保存session,与数据库交互。

==流程==:

(1)客户端(浏览器)向node请求页面交互。

(2)node向后端(这里用java)转发请求,java在发送请求到数据库。

(3)java返回结果给node,node返回页面,提供数据。

==前后端分离前端==:

前端可以不依赖后端,前端自己起一个服务,如果前端页面处理好,后端的API还没有提供,那么,前端可以用mock模拟数据。

这里出现一个问题,如果没有服务,单页面是不可以ajax请求数据,会出现跨域的问题。要么浏览器做跨域。所以这里用到node。

我们利用node的express开启一个本地服务器,利用node的 http-proxy-middleware 插件将客户端发送给node的请求发给真正后服务器。

3、Node

Node主要是为了分层开发,前端不需要知道后端是怎么提供数据,怎么操作。后端也不需要知道node是怎么操作,前端是怎么部署。前端可以利用node自己作处理。

Node本身有着异步,非阻塞I/o。在处理并发量比较大的数据请求上有很大的优势。

4、基础环境配置

(1)==JDK==

JDK(Java Development Kit) 是 Java 语言的软件开发工具包(SDK)。
SE(JavaSE),standard edition,标准版,是我们通常用的一个版本,从JDK 5.0开始,改名为Java SE。
EE(JavaEE),enterprise edition,企业版,使用这种JDK开发J2EE应用程序,从JDK 5.0开始,改名为Java EE。从2018年2月26日开始,J2EE改名为Jakarta EE [1-2] 。
ME(J2ME),micro edition,主要用于移动设备、嵌入式设备上的java应用程序,从JDK 5.0开始,改名为Java ME。
没有JDK的话,无法编译Java程序(指java源码.java文件),如果想只运行Java程序(指class或jar或其它归档文件),要确保已安装相应的JRE。

(2)==Node==

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。

(3)==Yarn==

Yarn是快速、可靠、安全的依赖管理工具。
快速:Yarn 缓存了每个下载过的包,所以再次使用时无需重复下载。 同时利用并行下载以最大化资源利用率,因此安装速度更快。
可靠:使用详细、简洁的锁文件格式和明确的安装算法,Yarn 能够保证在不同系统上无差异的工作
安全:在执行代码之前,Yarn 会通过算法校验每个安装包的完整性。

可以在命令行输入下面的命令进行安装:

npm config set registry https://registry.npm.taobao.org
npm install -g yarn
yarn config set registry https://registry.npm.taobao.org

(4)==IDEA==

IDEA 全称IntelliJ IDEA,是用于java语言开发的集成环境(也可用于其他语言),IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、Ant、JUnit、CVS整合、代码审查、 创新的GUI设计等方面的功能可以说是超常的。IDEA是JetBrains公司的产品。

(5)==Postman==

Postman 是一个很强大的 API调试、Http请求的工具,允许用户发送任何类型的 HTTP 请求,例如 GET,POST,HEAD,PUT、DELETE等,并且可以允许任意的参数和 Headers。

(6)==Xampp==

XAMPP(Apache+MySQL+PHP+PERL)是一个功能强大的建站集成软件包。

XAMPP 的确非常容易安装和使用:只需下载,解压缩,启动即可。