OpenEuler-Apache服务原理

HTTP概述

WWW服务实现将本地文档进行传输,传输协议使用http(超文本传输协议进行传输)------>URI、URL、URN进行资源和定位。

URI(统一资源标识符): 协议名 scheme ://

URL(统一资源定位符):uniform resource locator 指所访问的资源在互联网中对应的位置

URN(统一资源名):uniform resource naming 指所访问的资源在互联网中对应的米高程

HTML:Hyper Text Mackup Language 在浏览器中显示文档语言标准

URL(统一资源定位符)

基本格式:scheme :// host :port / path / ?query-string #anchor

HTTP协议:基于TCP/IP协议进行通信

HTTP报文结构

  • 起始行;
  • 首部字段;
  • 主题;

请求报文结构:

响应报文结构:

HTTP处理请求的方法

  • GET:向服务器请求资源
  • POST:向服务器输入数据
  • PUT:向服务器写入文档
  • DELETE:删除URL中所指定的资源
  • HEAD:向服务器请求资源后,服务器仅返回资源首部,不返回主题
  • TRACE:客户端发起请求时如果穿过防火墙、代理等应用时,原始的HTTP请求会被修改,使用TRACE后,客户端可以在最终请求发送给服务器时,看到其形态
  • OPTIONS:请求web服务器告知其支持的各种功能

Web服务器相应码

  • 100-199:信息性状态码
  • 200-299:成功状态码
  • 300-399:重定向状态码
  • 400-499:客户端错误状态码
  • 500-599:服务器错误状态码
  • 常见状态码:
    • 200:ok,表示连接正常
    • 403:Forbidden,表示访问被拒绝,大多数是由于客户端对被请求的文件没有访问权限,或者由于被访问资源对应的文件或目录损坏
    • 404:Not Found,表示无法找到资源
    • 503:Server Unavailable,表示服务器当前无法处理客户端的请求,可以尝试刷新重新发送新的请求
    • 504:Gateway Timeout,表示未接收到服务器的及时响应

HTTP请求访问的完整过程

1.建立连接:接受一个客户端请求,或者如果不希望与这个客户端建立连接,就将其关闭

2.接受请求:从网络中读取一条HTTP请求报文

3.处理请求:对请求报文进行解释,并采取行动

4.访问资源:从数据存储中读取报文中指定的资源

5.构建响应:创建带有正确头部的HTTP响应报文

6.发送响应:将响应回送给客户端

7.记录事务处理过程:将与已完成事务相关的内容记录到日志中

HTTP的特点

  • 单向连接:仅能从客户端向服务器端发起连接请求
  • 无状态协议:每一次请求都是独立的,响应完成后,本次连接即结束
    • HTTP的连接可分为:
      • 长连接
      • 短连接
    • 注:两者区别在于,长连接是仅建立一次TCP/IP连接后,不断开连接即可发起会话;短连接,每次会话的开启是建立连接,会话的结束是断开连接;一次会话一次建立与断开。
  • 明文传输

HTTPS简介

  • https=http+ssl/tls
  • HTTPS是用以解决HTTP明文传输带来的安全隐患
  • 需用到CA申请证书
  • 运行在基于TCP的SSL/TLS之上,所有内容都会被加密
  • 使用端口为443端口
  • 加密过程会降低用户的访问速度,但是经过优化,对其影响可控制在接受范围
  • 目前几乎所有网站都使用HTTPS实现

HTTPS:超文本安全传输协议

信息加密 ------> 采用加密算法对被传输的数据进行加密

校验机制 ------> 采用摘要算法为数据生成唯一的指纹信息(校验码),通过校验码校验数据的完整性

身份认证 ------> 将服务端的公钥放置到CA数字证书中,解决服务器被冒充风险

HTTPS会话机制

①客户端向服务器端发送加密请求,申请建立连接;

②服务端产生一对公钥私钥密钥对,将自己的公钥发送给CA机构,CA机构利用自己的私钥将服务端发送过来的公钥进行加密,生成一个CA数字证书;

③服务端响应客户端请求,将CA机构生成的数字证书发送给客户端

④客户端将服务端发送过来的数字证书进行解析,验证CA数字证书的合法性,如果不合法,发送告警信息,如果合法,从数字证书中取出服务端生成的公钥。

⑤客户端取出公钥并生成一个随机码key

⑥客户端将加密后的随机码key发送给服务器端,作为接下来对称加密的密钥

⑦服务端接收到随机码key后,使用私钥进行解密,获取随机码key

⑧服务器端使用随机码key对传输的数据进行加密,再输出加密后的数据给客户端

⑨客户端使用自己生成的随机码key解密服务端发送过来的数据,然后客户端和服务端通过对称加密传输数据,随机码key解密

Web资源简介

1.静态资源:存放在Web服务器中的文件,可以是文本文件、HTML文件、图片文件或视频文件。静态资源不需要经过应用的处理,直接就可以被用户访问。

2.动态资源:需要经过应用服务器处理后提供给用户的资源。动态资源可以是搜索出来的结果,或在线交易结果显示,都是经过应用计算后给到用户的。

Web服务器的Cookie和Session

  • Cookie和Session用以解决HTTP无状态所带来的问题

Session ID一般保存在服务器上,会话超时后自动删除;

相关推荐
liferecords1 天前
第 8 讲 · oeAware 与中断绑核:把手工调优自动化
openeuler·鲲鹏·oeaware·中断绑核·自动调优
网络豆6 天前
Apache Maven 鸿蒙 PC 适配全记录:把 JVM 构建工具交付到 HiShell
maven·apache·harmonyos
网络豆7 天前
Apache Hive 鸿蒙 PC 适配全记录:以 Qt 客户端打通 HiveQL、监控与元数据访问
hive·apache·harmonyos
网络豆7 天前
Apache HBase 鸿蒙 PC 适配全记录:用 Qt 原生客户端打通 REST 管理与数据读写
apache·hbase·harmonyos
无巧不成书02187 天前
Apache Tomcat 9 下载全指南(Windows,Linux,macOS):版本选型、国内镜像、SHA-512 与 PGP 完整性校验
windows·tomcat·apache
Dream-Y.ocean8 天前
鸿蒙平台 Apache Tomcat 管理控制台适配实战:基于 Electron 壳方案的真实 HTTP 服务器实现
tomcat·apache·harmonyos
betazhou8 天前
Apache seatunel常用配置参数解析说明
apache·seatunnel
凤山老林9 天前
Spring Boot 集成 Apache Kafka Streams 构建流处理应用:状态存储、窗口聚合与
spring boot·kafka·apache
DolphinScheduler社区9 天前
Apache DolphinScheduler 8 月报:权限安全加固,调度补火上线,性能与稳定性持续提升
大数据·安全·开源·apache·任务调度·海豚调度
sbjdhjd9 天前
从 7 字符文件名拼接到二维数组取值:PHP 无参函数限制下的受控靶场复盘 | (7字符绕过)
网络·nginx·安全·网络安全·云计算·php·apache