HTTP响应消息和HTTP优缺点

HTTP响应报文详解

目录

HTTP响应报文详解

(1)HTTP的优点

(2)HTTP的缺点


响应标头是可以在HTTP响应中使用的HTTP标头,这听起来确实像是一句废话,不过确实事实就是这样解释的。并不是所有出现的在响应中的标头。还有一些特殊的我们上面说过,有通用标头和实体标头也会出现在响应标头中,比如Contenet-Length就是一个实体标头,但是,在这种标头,但是,在这种情况下,这些实体请求通常成为响应头,下面以一个例子我们来讨论下响应头。

 响应报文的结构与请求报文的结构类似,下面我来画张图给大家演示下响应报文的具体结构。

首先我们呢来看响应行的结构

扫描二维码关注公众号,回复: 14878494 查看本文章

首先HTTP/1.1是HTTP协议的版本号

接下来200 OK是HTTP的状态码,代表着HTTP请求时的状态,这个我们在文章的后面会有一些状态码的例子,在此我们只需要知道HTTP的状态码是回应HTTP请求时的请求状态。

接下来的话就是响应头部的解析:

与请求头部相同,都是以KEY-value的形式存在的, 向web服务器传达一些我们想要传达的信息。

这里可以去看我的HTTP请求报文的解析。

接下来是一个空行。

用于分开响应行和响应正文正文。

响应正文也就是我们真正需要向服务器发送的数据包。

HTTP的优点和缺点

(1)HTTP的优点

简单灵活易扩展

HTTP最重要也是最突出的优点是,“简单、灵活、易于拓展”。

HTTP的协议比较简单,它的主要组成就是header + body ,头部信息也是简单的文本格式,所以我们根据HTTP的请求信息就能得到大概的信息。这些特点就突出了HTTP的简单的特点,即我们看到对应的响应消息,就可以分析出当前的请求或者相应消息的意思。

在简单的基础上,HTTP协议又多了灵活和易拓展的优点。

HTTP协议里的请求方法,URL,状态码,原因短语,头字段等每一个核心组成要素都没有被指定死,允许我们开发者任意的定制,这样我们在开发服务器的时候,浏览器和服务器就能得到最大程度的自由。

应用广泛,环境成熟

因为本身过于简单,普及,因此应用很广泛。因为HTTP协议本身不属于一种语言,它不限定某种编程语言或者操作系统。所以天然具有跨语言,跨平台的优越性。而且因为语言本身的简单特性很容实现,几乎全部的编程语言都有HTTP调用库和外围的开发测试工具。

无状态

无状态对于HTTP来说即使优点也是缺点,它的意思就是协议对于事物的处理没有记忆的能力,服务器不知道客户端是什么状态。因为服务器没有记忆能力,就不需要额外的资源来记录状态信息,这样实现起来会简单很多,而且还能减轻服务器的负担,能把更多的CPU和内存用来对外部进行服务。

(2)HTTP的缺点

无状态

既然服务器没有记忆能力,那么也就是说,我们每次进行一个步骤,如果需要用到上一个步骤的信息,就需要再次发送信息来使用,服务器没有存储信息的能力,这样很多的信息需要重复的发送,这样不仅麻烦,而且还增加了不必要的数据传输。

明文传输

HTTP协议里面还有一把双刃剑,就是明文传输。明文传输的意思就是协议里面的报文不使用二进制数据,而是采用简单的可阅读文本的形式。

对比TCP,UDP等二进制协议,它优点很简单,就是不需要借助任何工具,用浏览器或者tcpdump抓包后,直接用肉眼就很容易查看或者修改,为我们开发测试提供了很大的便利

缺点也是显而易见的,就是不安全,可以被监听和被窥探,一旦信息遭到拦截,用户的信息就很容易被截获利用,这也就导致了HTTP的安全性是不足的。

性能

HTTP的性能不算差,但不是完全适应当前的互联网,还有很大的提升空间。

猜你喜欢

转载自blog.csdn.net/asdasd121312dasd/article/details/128179891