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

本文介绍了HTTP协议的基础知识,包括协议简介、工作原理,详细阐述了请求报文、HTTP请求和响应方法,以及用户访问网站时的集群架构流程。此外,还提及了相关术语如状态码、SOA架构、PV、UV和IP的定义。
摘要由CSDN通过智能技术生成

本篇文章给大家介绍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.客户端发起http请求,请求会先抵达前端的防火墙
2.防火墙识别用户身份,正常的请求通过内部交换机通过tcp连接后端的负载均衡,传递用户的http请求
3.负载接收到请求,会根据请求的内容进行下发任务,通过tcp连接后端的web,转发用户的http请求
4.web接收到用户的http请求后,会根据用户请求的内容进行解析,解析分为如下:
静态请求:web直接返回给负载均衡->防火墙->用户
动态请求:web向后端的动态程序建立TCP连接,将用户的动态http请求传递至动态程序->由动态程序进行解析
5.动态程序在解析的过程中,如果碰到查询数据库请求,则优先与缓存建立tcp连接,并发起数据查询操作。
6.如果缓存没有对应的数据,动态程序再次向数据库建立tcp连接,并发起查询操作。
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年运维经验,持续分享运维干货,感谢大家的阅读和关注!

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是koten

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值