【运维知识进阶篇】集群架构-HTTP协议详解

简介: 【运维知识进阶篇】集群架构-HTTP协议详解

本篇文章给大家介绍HTTP协议相关内容,包括HTTP协议简介,HTTP协议工作原理,请求报文,HTTP请求方法,HTTP响应方法,用户访问集群架构流程,HTTP相关术语。

HTTP协议简介

HTTP是hyper text transfer protocol 的缩写

1、超文本

hyper text是超文本的意思,是包含超链接和各种多媒体元素标记的文本,这些超文本文件彼此链接,形成网状,因此又被称为网页,这些链接使用URL表示,最常见的超文本格式是超文本标记语言HTML。

2、URL

URL是统一资源定位符,用来唯一地标识万维网中的某一个文档。URL由协议、主机和端口(默认80)以及文件名三部分构成。

URL:协议+主机:端口+文件名及其路径

3、HTTP

HTTP协议是超文本传输协议,是将超文本文档从一台主机(Web服务器)传输到另一台主机(浏览器)的应用层协议,以实现超链接的功能。

HTTP工作原理

HTTP工作原理:请求/响应交互模型

用户在点击URL后,浏览器和Web服务器执行以下的动作:

1、浏览器分析超链接的URL

2、浏览器向DNS请求解析URL的IP地址

3、DNS将解析出来的IP地址返回给浏览器

4、浏览器与服务器建立TCP链接(80端口)

5、浏览器请求文档(请求方法、请求路径)

6、服务器给出响应,将请求路径的文档返回给浏览器

7、释放TCP链接

8、浏览器显示请求文档的内容

请求报文

请求报文由请求行、请求头部、空行、请求数据,四个部分组成。

HTTP请求方法

常见的请求报文中的方法

方法 含义 方法 含义
GET 请求读取一个Web页面 HTAD 请求读取一个Web页面的首部
POST 提交要被处理的数据 PUT 请求存储一个Web页面
DELETE 删除Web页面 TRACE 用于测试,要求服务器送回收到的请求
CONNECT 用于代理服务器 OPTION 查询特定选项

HTTP响应

状态码是响应报文状态行中包含的一个3位数字,指明特定的请求是否被满足,如果没有满足,原因是什么,状态码分为以下五类

状态码 含义 例子
1xx 通知信息 100=服务器正在处理客户请求
2xx 成功 200=请求成功
3xx 重定向 301=永久重定向,302=临时重定向,304=缓存
4xx 客户错误 403=没有权限,404=没有目录
5xx 服务器错误 500=服务器内部错误,503=以后再试

HTTP头部

类型 说明
User-Agent 请求 关于浏览器和它平台的信息
Accept 请求 客户能处理的页面的类型,如text/html
Accept-Charset 请求 客户可以接受的字符集,如Unicode-1-1
Accept-Encoding 请求 客户能处理的页面编码方法,如gzip
Accept-Language 请求 客户能处理的自然语言,如en英语,zh-cn简体中文
Host 请求 服务器的DNS名称,从URL中提取出来,必需
Referer 请求 用户从该URL代表的页面触发访问当前请求的页面
Cookie 请求 将以前设置的Cookie送回服务器,可用来作为会话信息
Date 双向 消息被发送(接收)的日期和时间
Server 响应 关于服务器的信息,如Microsoft-IIS/6.0
Content-Encoding 响应 内容是如何被编码(gzip)
Content-Language 响应 页面所使用的自然语言
Content-Length 响应 以字节计算的页面长度
Content-Type 响应 页面的MIME类型
Last-Modified 响应 页面最后被修改的时间和日期,在页面缓存机制中意义重大
Location 响应 指示客户将请求发送给别处,即重定向到另一URL
Set-Cookie 响应 服务器希望客户保存一个Cookie

用户访问网站集群架构流程

1. 1.客户端发起http请求,请求会先抵达前端的防火墙
2. 2.防火墙识别用户身份,正常的请求通过内部交换机通过tcp连接后端的负载均衡,传递用户的http请求
3. 3.负载接收到请求,会根据请求的内容进行下发任务,通过tcp连接后端的web,转发用户的http请求
4. 4.web接收到用户的http请求后,会根据用户请求的内容进行解析,解析分为如下:
5. 静态请求:web直接返回给负载均衡->防火墙->用户
6. 动态请求:web向后端的动态程序建立TCP连接,将用户的动态http请求传递至动态程序->由动态程序进行解析
7. 5.动态程序在解析的过程中,如果碰到查询数据库请求,则优先与缓存建立tcp连接,并发起数据查询操作。
8. 6.如果缓存没有对应的数据,动态程序再次向数据库建立tcp连接,并发起查询操作。
9. 7.最后数据由, 数据库->动态程序->缓存->web服务->负载均衡->防火墙->用户。

HTTP相关术语

PV UV IP

PV:打开一个页面,访问一次页面称为一次PV,产生了一次浏览,由于缓存问题,没法明确统计点击次数,有缓存服务器显示次数会少。(也有人说一次请求是一次PV,概念比较模糊)

UV:独立的设备(一个设备表示一个UV)

IP:表示独立的IP地址,是指公网IP

SOA

SOA(Service-Oriented Architecture 服务导向架构)是一种面向服务的松耦合架构,它将应用程序中的功能划分成一组可重用且独立的服务单元。每个服务单元都具有明确定义的接口和对外暴露的操作,这些操作可以通过互联网或企业内部网络进行访问和调用。

SOA的最大优势在于其松散耦合的设计,使得服务能够相对独立地进行开发、部署、更新和维护,从而提高了整个系统的可扩展性、灵活性和可维护性。

SOA架构还可以帮助组织实现更好的业务流程管理和IT资源分配,因为该架构可以通过标准化的接口和协议(例如SOAP、WSDL、UDDI等)进行交互,而不需要依赖特定的平台、语言或技术。另外,SOA还可以帮助企业实现基于服务的架构和组件化的开发模式,从而提高软件复用度和开发效率。

HTTP1.1,不支持并发,但是通过多次握手方式实现并发,最多6-8次同时握手。HTTP2.0就支持并发了。


我是koten,10年运维经验,持续分享运维干货,感谢大家的阅读和关注!

目录
相关文章
|
29天前
|
网络协议 Linux iOS开发
推荐:实现RTSP/RTMP/HLS/HTTP协议的轻量级流媒体框架,支持大并发连接请求
推荐:实现RTSP/RTMP/HLS/HTTP协议的轻量级流媒体框架,支持大并发连接请求
57 1
|
2月前
|
Dubbo Cloud Native 网络协议
【Dubbo3技术专题】「服务架构体系」第一章之Dubbo3新特性要点之RPC协议分析介绍
【Dubbo3技术专题】「服务架构体系」第一章之Dubbo3新特性要点之RPC协议分析介绍
38 1
|
23小时前
|
前端开发 API 网络架构
RESTful接口与http协议状态表述
该文介绍了RESTful风格API的好处和设计原则。RESTful API以资源为中心,通过HTTP方法(GET, POST, PUT, DELETE)表示操作,利用状态码反馈操作结果。它简化了客户端与服务端的交互,提供了一种通用规范,减少沟通成本。设计要点包括:URI描述资源,HTTP方法体现操作,使用标准HTTP状态码,GET不改变数据,使用复数名词,支持复杂资源关系,可选实现HATEOAS,以及接口版本管理。
|
1天前
|
安全 网络协议 算法
【计算机网络】http协议的原理与应用,https是如何保证安全传输的
【计算机网络】http协议的原理与应用,https是如何保证安全传输的
|
2天前
|
网络协议 安全 算法
HTTP协议与HTTPS协议
HTTP协议与HTTPS协议
|
5天前
|
网络安全
socks5代理连接成功无法访问http协议的站点
无法通过SOCKS5代理访问HTTP网站可能由多个原因引起,如代理服务器不支持HTTP、配置错误、防火墙阻拦、连接问题、身份验证失败、浏览器设置不当或服务器被封锁。检查并解决这些因素,若问题持续,需深入排查或联系服务提供商。
|
6天前
|
Kubernetes 应用服务中间件 nginx
Kubernetes v1.12/v1.13 二进制部署集群(HTTPS+RBAC)
Kubernetes v1.12/v1.13 二进制部署集群(HTTPS+RBAC)
|
7天前
|
缓存 网络协议
HTTP 协议初探
HTTP 协议初探
26 1
|
12天前
|
网络协议 安全 网络安全
Socks VS HTTP 谁才是最快的代理协议
Socks VS HTTP 谁才是最快的代理协议
|
13天前
|
安全 网络安全 数据安全/隐私保护
HTTP代理SSL连接:保障网络安全的重要协议
HTTP代理SSL连接:保障网络安全的重要协议