目录
一、设置状态码的意义
HTTP协议是在web浏览器和服务器之间进行传递信息的协议,HTTP协议中设置状态码的意义在于,服务器端通过状态码来高速浏览器端,当前的网页请求发生了什么以及当前WEB服务器的相应状态,HTTP状态码可以用来判断当前服务器端的的运行状况以及浏览器端网页的请求情况。
二、常用的HTTP状态码分类
状态码 | 类别 | 描述 |
1xx | Informational(信息状态码) | 接受请求正在处理 |
2xx | Success(成功状态码) | 请求正常处理完毕 |
3xx | Redirection(重定向状态码) | 需要附加操作已完成请求 |
4xx | Client Error(客户端错误状态码) | 服务器无法处理请求 |
5xx | Server Error(服务器错误状态码) | 服务器处理请求出错 |
1XX (服务器端接收请求,正在处理)
场景介绍:假如浏览器端想给服务器发送一个较大的文件,如果服务器端给浏览器端返回的是1XX的状态码,则表示服务器端已经接收到了请求,正在处理。
2XX(请求成功)
场景介绍:服务器端接收到了请求,并进行了处理。
3XX(重定向状态码)
场景介绍:这个状态码表示服务器端认为浏览器端需要采取进一步的操作才能完成请求,重定向的目标在本次响应的Location域中。
4XX(浏览器端/客户端错误)
场景介绍:这类状态码代表着浏览器端可能发生了错误,妨碍了服务器的处理。
5XX(服务器端错误)
场景介绍:这类状态码表示服务器在处理请求的时候出现了错误,或者异常。
三、常见状态码含义
100:这是一个临时响应,表示服务器端已经接受部分请求,客户端应该继续发送请求的剩余部分。
200:服务器端已经成功收到并处理了请求。
204:服务器端成功处理,但是并未返回内容
301:永久重定向,请求的资源已经被永久的移动到了新的URL,返回的信息会包括新的URL,浏览器会自动定向到新的URL。
302:临时重定向,请求的资源临时的被移动到了新的URL,客户端应继续使用原有的URL。
304:这是客户端有缓存情况下服务端的一种响应,客户端在请求一个文件的时候发现有缓存,那么请求中就会包含这个缓存文件的时间,服务器端收到请求之后会和本地文件进行对比,没有更新的话就返回状态码304,客户端收到响应后就会从本地缓存中加载这个资源。
400:客户端的错误,服务器不理解请求的语法。
403:服务器端拒绝执行客户端的请求。
404:客户端请求的资源不存在。
500:服务器内部的错误,使得服务器无法完成请求。
502:服务器作为网关或代理,从上游服务器收到无效响应。
四、HTTP与HTTPS有什么区别?
HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全,为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。简单来说,HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全。
HTTPS和HTTP的区别主要如下:
1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。
2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。