一、HTTP响应状态码代表的含义
100-199 | 表示成功接受请求,要求客户端继续提交下一次请求才能完成完整的处理过程 |
200-299 | 表示正常接收了请求并已经完成整个处理过程。最常见200 |
300-399 | 为完成请求,客户需要进一步细化需求。例如:请求的资源已经换到了一个新地址,302重定向 |
400-499 | 客户端请求有错误,包含语法错误或者不能正确执行,常用404(资源未找到),403(服务器拒绝访问,权限不够) (出现在前端) |
500-599 | 服务器端出现错误 (出现在后端) |
二、最常见的状态码
- 200 正常,表示一切正常,前后端都没有错误,结果正常返回
- 302/307临时重定向,指出请求的文档已被临时移动到别处, 此文档的新的 url 在 location 响应头中给出
- 304未修改,表示客户机缓存的版本是最新的,客户机应该继续使用它
- 403 禁止,服务器理解客户端请求, 但拒绝处理它, 通常用于服务器上文件或目录的权限设置所致
- 404 找不到,所请求的资源在客户机上没有找到(在前端中可能是没有该资源或者资源路径写错了)
- 500 服务器内部错误,服务器端 程序发生错误
三、HTTP与HTTPS的区别
- Http 协议运行在 TCP 之上,明文传输,客户端与服务器端都无法验证对方的身份;Https 是身披 SSL(Secure Socket Layer)外壳的 Http,运行于 SSL 上,SSL 运行于 TCP 之上,是添加了加密和认证机制的 HTTP
- 端口号不同:Http与Https使用不同的链接方式,用的端口也不一样,前者80,后者443
- 资源消耗:https通信会由于加减密处理消耗更多的CPU和内存资源
- 开销:https通信需要证书,一般需要向认证机构购买
- https的加密机制是一种共享密钥加密和公开密钥加密并用的混合加密机制
四、http几种请求
- GET:发送一个请求来获取服务器上资源
- POST:向URL指定的的资源提交数据或者附加新的数据
- PUT:跟POST很像,同样向服务器提交数据,但是PUT指定的资源的地址,而POST没有
- HEAD:只请求页面的首部
- DELETE:删除服务器上的资源
- OPTIONS:用于获取 URL所支持的方法。如果请求请求成功,会有一个Allow的头包含类似“GET/POST”这样的信息
- TRACE:用于激发一个远程,应用层请求消息回路
- CONNECT:把请求连接转换到透明的TCP/IP同道
实话,在工作(前端)中用的最多的就前两个,其他的基本没看见过。了解下就可以了
GET和POST本质区别(面试经常问)
- GET方法用于信息获取,它是安全的(安全:指非修改信息,如数据库方面的信息),而POST方法是用于修改服务器上资源的请求;
- GET请求的数据会附在URL之后,而POST方法提交的数据则放置在HTTP报文实体的主体里,所以POST方法的安全性比GET方法要高;
- GET方法传输的数据量一般限制在2KB,其原因在于:GET是通过URL提交数据,而URL本身对于数据没有限制,但是不同的浏览器对于URL是有限制的,比如IE浏览器对于URL的限制为2KB,而Chrome,FireFox浏览器理论上对于URL是没有限制的,它真正的限制取决于操作系统本身;POST方法对于数据大小是无限制的,真正影响到数据大小的是服务器处理程序的能力。
牛批!
what?