当前位置: 移动技术网 > 网络运营>网络>协议 > Http协议

Http协议

2020年07月17日  | 移动技术网网络运营  | 我要评论

1、HTTP协议是超文本传输协议,用于万维服务器和浏览器之间传输数据。
2、HTTP协议基于TCP/IP通信协议来传递数据,TCP/IP协议共分为4层,应用层,传输层、网络层、数据链路层,Http协议位于应用层。在这里插入图片描述
TCP/IP:传输控制协议,三次握手,可靠,双向通信。
UDP:用户数据包协议,无连接,提供数据发送包。
HTTP:客户端/服务端(C/S)的架构、模型HTTP是无连接、无状态、媒体独立性。
在这里插入图片描述
3、Http采用明文传输,因此存在很大的安全隐患,即使使用对称加密和非对称加密也存在中间人攻击风险,对称加密第一次被发送密钥的时候可能被截取,非对称加密,可能会会伪造公钥和私钥对,为了解决此问题,采用https协议,https协议核心,采用非对称加密并引入第三方机构,对公钥进行认证,中间人就无法伪造密钥对。

4、客户端请求消息
客户端发送一个HTTP请求到服务器的请求消息包括以下格式:请求行(request line)、请求头部(header)、空行和请求数据四个部分组成,下图给出了请求报文的一般格式。
5、HTTP响应由四个部分组成:状态行、消息报头、空行和响应正文。
6、常见的HTTP状态码:
200 - 请求成功
301 - 资源(网页等)被永久转移到其它URL
404 - 请求的资源(网页等)不存在
500 - 内部服务器错误

7、Content-Type(内容类型),一般是指网页中存在的 Content-Type,用于定义网络文件的类型和网页的编码,决定浏览器将以什么形式、什么编码读取这个文件,这就是经常看到一些 PHP 网页点击的结果却是下载一个文件或一张图片的原因。

8、关于http协议长链接短接的问题:
http协议基于请求/响应模式,数据传输完成就断开,本质上是无链接的,只是一个应用层协议,只有传输层才需要建立链接。http所谓的长链接,本质上是TCP的长链接,因为链接是一种宝贵的资源,http 1.1协议,为了复用链接资源,所以让TCP的链接活的久一些。
http1.1是如何复用TCP链接的呢:
打开一个网页里肯定还包含了CSS、JS等等一系列资源,如果你是短连接(也就是每次都要重新建立TCP连接)的话,那你每打开一个网页,基本要建立几个甚至几十个TCP连接,浪费很多资源。
但如果是长连接的话,那么这么多次HTTP请求(这些请求包括请求网页内容,CSS文件,JS文件,图片等等),其实使用的都是一个TCP连接,很显然是可以节省很多消耗的。

数据传输完成了保持TCP连接不断开(不发RST包、不四次握手),等待在同域名下继续用这个通道传输数据;相反的就是短连接。

http keep-alive这个参数主要作用,用于判断TCP长链接是否断开。

在这里插入图片描述
参考链接:https://blog.csdn.net/maquealone/article/details/87345795

9、配置支持Http协议
可通过修改服务器配置文件的方法支持http1.1协议,例如:

nginx在反向代理HTTP协议的时候,默认使用的是HTTP1.0去向后端服务器获取响应的内容后在返回给客户端。
HTTP1.0和HTTP1.1的一个不同之处就是,HTTP1.0不支持HTTP keep-alive。
nginx在后端服务器请求时使用了HTTP1.0同时使用HTTP Header的Connection:Close通知后端服务器主动关闭连接。这样会导致任何一个客户端的请求都在后端服务器上产生了一个TIME-WAIT状态的连接。所以我们需要在Nginx上启用HTTP1.1的向后端发送请求,同时支持Keep-alive。

配置HTTP1.1

http{
''' 省去其他的配置
    upstream www{
        keepalive 50; # 必须配置,建议50-100之间
        '''
    }
    server {
    '''省去其他的配置
        location / {
        proxy_http_version 1.1; # 后端配置支持HTTP1.1,必须配
        proxy_set_header Connection "";   # 后端配置支持HTTP1.1 ,必须配置。
        }
    '''
    
    }
'''
}

我们增加三个参数keepalive 50,proxy_http_version 1.1 , proxy_set_header Connection 来配置。

本文地址:https://blog.csdn.net/u011582840/article/details/107329823

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网