在前两篇文章当中,已经分别介绍了HTTP是什么,以及常见的请求头当中的属性。
【网络原理7】认识HTTP_革凡成圣211的博客-CSDN博客HTTP抓包,Fiddler的使用
https://blog.csdn.net/weixin_56738054/article/details/129148515?spm=1001.2014.3001.5502
下面,继续谈一下HTTP响应头当中有哪些比较常见的属性。
目录
⑦状态码:302:Move temporarily(临时重定向)
一、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版本 | 连接方式 | 安全性 | 传输层协议 | 头部是否压缩 | 传输格 式 | 是否支持多路复用 | |
| HTTP1.0 | 短连接:一个连接对应一个请求 | 明文传输 | TCP | 否 | 纯文本 | 否 | |
| HTTP1.1 | 长连接:一个连接可以被同一个客户端多次请求复用; 支持管道传输:客户端可以发起多个请求,只要第一个 请求发出去了,不必等其回来,就可以发送第二次请求。 | 明文传输 | TCP | 否 | 纯文本 | 否 | |
| HTTP2.0 | 密文传输(基于HTTPS) | TCP | 是 如果你同时发出多个请求,他们的头是一样的或是相似的 (在客户端和服务器同时维护一张头信息表,所有字段都会存入这个表,生成一个索引号,以后就不发送同样字段了,只发送索引号,这样就提高速度了。) | 二进制 | 是: 使用一个进程/线程同时管理多个socket。会根据request的id号来完成请求的分发 | ||
| HTTP3.0 | UDP |
1667

被折叠的 条评论
为什么被折叠?



