服务架构介绍及http协议

服务架构介绍及http协议

一、网站或业务架构模型

1.名词解释

1.什么是项目?

IT行业内,一个项目就是一个业务。

2.什么是架构

服务器的业务架构:实现某种项目或业务的服务构成。

3.什么是集群

2台以上的服务器环境一模一样,共同完成同一件事情。

二、传统网站架构流程

1.用户访问项目的流程

  1. 将域名通过DNS解析获取到服务器IP地址
  2. 发起TCP连接
  3. 服务端防火墙根据请求包的流量进行规则过滤
  4. 负载均衡集群根据请求需求向后端转发流量到目标web服务器
  5. web服务器处理请求
    • 静态资源请求:直接和存储服务器通信,获取静态资源,获取到资源后封装响应报文
      • 静态资源:前端代码所写 的文件(html,css),图片,视频,
    • 动态资源请求:经过动态解析,获取到解析后的资源,封装响应报文,返回给用户
      • 动态资源:后端语言编写的文件(php,java,C,Python,go)

2.实现网站架构的服务集群

防火墙:主流硬件防火墙(IPS,IDS产品)
WAF防火墙
安全厂商:360,奇安信,长亭科技,安恒,天融信

负载均衡:Nginx,
阿里云:slb,clb

web服务中间件:
静态web:Nginx,Apache,IIS
动态web:
java:Tomcat,Weblogic,Jboss
Python:Uwsgi

数据库:MySQL,Oracle,SQL Server,Redis,PostgreSQL,Mongo DB

三、http协议

1.什么是URL

统一资源定位系统。通常我们在访问一个网站页面时,请求到的内容通常称为“资源”。而“资源”这一概念非常宽泛,它可以是一份文档,一张图片,或所有其他你能够想到的格式。每一个资源都由一个URL来标识的。

http://www.michael.com:80(隐藏)/img/test.jpg
协议域名端口URI
定义通信协商协议报文获取目标服务器的IP地址定义建立tcp连接的通信端口最终服务器中所请求的资源文件的存放路径

2.什么是html页面

html:超文本标记语言,用于规范页面内容的语言框架。
一个html页面是由多个URL资源构成

3.什么是http协议

超文本传输协议,是一种能获取到html资源的通信协议

http协议用于定义获取每一个url资源的数据报文的

4.http报文结构

curl -v www.baidu.com
请求报文:用户向服务端发起的访问请求
用户向服务端发起的访问请求 三部分构成

# 请求头
> GET / HTTP/1.1
	# 请求方式
	GET    获取数据的请求。URL中携带参数的,一般请求主体为空       
	POST   发送数据的请求。URL不携带参数,post参数携带到了请求主体中了
	URL中的参数指的是url中?以后的内容
	携带了参数,证明本次请求一定是个动态请求
	没有携带参数,有可能是静态请求
	
	# / 声明当前请求的uri路径
	
	# 声明本次请求的http协议的版本
	1.0  不支持TCP长连接,一次连接只可以发送一个http包
	1.1  支持tcp长连接,一次连接可以串行发送多个http包
	2.0  支持tcp长连接,一次连接可以并行发送多个http包 
	
		
> User-Agent: curl/7.29.0
  本次请求报文客户端的类型
  # 关注的点
    1.通过判断客户端类型,展示手机页面或pc页面
    2.流量安全审计行为
    判断不法分子,攻击工具的信息

> Host: www.baidu.com
> Accept: */*


# 空行
> 
# 请求主体


响应报文:服务端接收到请求后,回复报文
响应头+空行+响应主体

< HTTP/1.1 200 OK
状态码:标识本次请求状态,不同的标识码代表不同状态含义
 	400以前的都是正常请求的状态码,400及以后的都是非正常状态
  200 
  301  永久重定向
  302  临时重定向
  
  400  bad request  请求报文结构有问题
  401  basic认证失败
  403  服务端认证失败  首页索引文件丢失
  404  文件找不到
  500  服务器内部错误。服务端动态解析文件有故障
  502  服务器内部交互错误  http请求成功被服务端接收,服务端内部通信出故障
  504  服务器有效时间内没有响应http请求
  
< Accept-Ranges: bytes
< Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform
   Cache: HIT
   
< Connection: keep-alive  、closed
< Content-Length: 2381
# 本次请求的资源类型
< Content-Type: text/html  image/jpeg    image/png  application/php
# 请求访问的时间
< Date: Mon, 05 Aug 2024 02:46:58 GMT
< Etag: "588604c1-94d"
< Last-Modified: Mon, 23 Jan 2017 13:27:29 GMT
< Pragma: no-cache
# 本次请求服务端web应用的信息
< Server: bfe/1.0.8.18

# 会话保持的指纹
< Set-Cookie: BDORZ=27315; max-age=86400; domain=.baidu.com; path=/
	# cookie和session
	  # 应用场景:保持用户在该网站的登录状态,用户身份的识别功能
      session:由服务端生成后,存储在服务端中的
	  cookie:由服务端根据session生成,通过响应报文发送给客户端,客户端保存在缓存中,用于下一次发送请求,直接携带,和服务端session进行比对
	
# 空行
< 
# 响应主体
  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值