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一般保存在服务器上,会话超时后自动删除;

相关推荐
涤生大数据10 小时前
Kafka Streams 和 Apache Flink 的无状态流处理与有状态流处理
flink·kafka·apache·实时
Leo Han13 小时前
apache http client连接池实现原理
网络协议·http·apache
广西千灵通网络科技有限公司1 天前
基于Java的话剧购票小程序【附源码】
java·小程序·apache
夜影风2 天前
Apache ZooKeeper原理与应用
分布式·zookeeper·apache
mpr0xy4 天前
在离线 OpenEuler-22.03 服务器上升级 OpenSSH 的完整指南
运维·服务器·网络·openeuler·openssh
Swn_4 天前
win10使用nginx做简单负载均衡测试
nginx·tomcat·apache·负载均衡
小程序照片合成5 天前
window xampp apache使用腾讯云ssl证书配置https
apache·腾讯云·ssl
Hadoop_Liang6 天前
openEuler24.03 LTS下安装MySQL8.0.42
数据库·mysql·openeuler
API小爬虫6 天前
Jsoup库和Apache HttpClient库有什么区别?
apache