【无标题】

下面,继续谈一下HTTP响应头当中有哪些比较常见的属性。

目录

一、HTTP状态码(HTTP响应行当中的内容)

①状态码:200 

②状态码:404

③状态码:403

④状态码:405

⑤状态码:500

⑥状态码:504:Gateway Timeout

⑦状态码:302:Move temporarily(临时重定向)

Location和Refer的区别就在于:

⑧状态码:301(永久重定向)

二、HTTP响应"报头"(header)

三、HTTP的1.1/2.0/3.0三个版本的对比

一、HTTP状态码(HTTP响应行当中的内容)


这一个状态码的含义,也在前两篇文章当中提到了。下面,介绍几个常见的状态码

①状态码:200 
 状态码显示200,说明浏览器很顺利地获取到想要的内容了,没有出什么bug。

②状态码:404
请求的资源不存在,这个时候就会提示404不存在。

③状态码:403
       403提示当前资源存在,但是由于用户的权限不够,因此不可以访问。关于怎样校验权限,目前大部分是使用spring-security来校验权限。

④状态码:405
这个状态码的含义是:Method Not Allowed,这种状态比较少遇到。

例如:当用户使用get访问服务器,但是服务器的接口只支持post。

⑤状态码:500
      这个状态码的含义是服务器内部出现错误。

      例如在运行的时候出现了异常(Exception),那么就会显示500,也是不那么常见的情况。

       在Tomcat启动之后,如果运行过程当中出现了异常,会经历以下4个步骤:

        步骤1:如果异常位于try-catch代码块当中,就会按照catch代码块的逻辑来处理;

        步骤2:如果在没有catch进行处理,那么这个异常就会沿着调用栈不断向上传递。

        步骤3:如果在最顶层的Servlet当中依然没有处理的了,那么这个异常就会交给Tomcat来进行处理。

         步骤4:如果Tomcat也没有办法处理,这个时候就会抛出500错误代码,然后把异常交给jvm进行处理,也就引发了程序的崩溃

⑥状态码:504:Gateway Timeout
指的是服务器当前太繁忙了,来不及响应。

⑦状态码:302:Move temporarily(临时重定向)
关于请求转发和重定向的区别,会在后续的文章当中讲到。‘

其中,登录跳转就是一个常见的重定向场景。

 里面有一个字段,叫做Location:

 其中,这一个字段的含义就是:需要跳转的资源在哪里

Location和Refer的区别就在于:
  ①Refer是HTTP请求头当中的内容,Location是HTTP响应头当中的内容。

  ②Refer描述的是当前页面是从哪里跳转过来的,而Location描述的是这个请求需要重定向到哪个页面。

⑧状态码:301(永久重定向)
301的状态码代表的含义是永久重定向

服务器的状态码有很多,总结一下:它们大致都有一下特点:

状态码    含义
2开头    表示响应成功
3开头    重定向
4开头    客户端出错(请求出错)
5开头    服务器内部出错
 其中,1和6开头的状态码,都比较少见。

二、HTTP响应"报头"(header)
       HTTP响应是由HTTP响应行,HTTP响应头,还有响应的正文一共3部分组成的。

       前面我们也提到了:HTTP的响应头是由多组键值对组成的。下面,将来聊一下一个常见的键值对:Content-Type,它描述的是响应的body的格式,有以下几种常见的格式:

    1) text/html:返回的是一个html页面

    2) text/css:返回的是一个css页面

    3) application/javascript:返回的是一个javascript页面

    4)application/json:返回的是一串json格式的字符串

三、HTTP的1.1/2.0/3.0三个版本的对比

三、HTTP的1.1/2.0/3.0三个版本的对比
HTTP版本    连接方式    安全性    传输层协议    头部是否压缩       传输格     式    是否支持多路复用    
HTTP1.0    短连接:一个连接对应一个请求    明文传输    TCP    否    纯文本    否    
HTTP1.1    
长连接:一个连接可以被同一个客户端多次请求复用;

支持管道传输:客户端可以发起多个请求,只要第一个

请求发出去了,不必等其回来,就可以发送第二次请求。

明文传输    TCP    否    纯文本    否    
HTTP2.0        密文传输(基于HTTPS)    TCP    

如果你同时发出多个请求,他们的头是一样的或是相似的

(在客户端和服务器同时维护一张头信息表,所有字段都会存入这个表,生成一个索引号,以后就不发送同样字段了,只发送索引号,这样就提高速度了。)

二进制    
是:

使用一个进程/线程同时管理多个socket。会根据request的id号来完成请求的分发

HTTP3.0            UDP            
————————————————

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值