WEB 服务介绍
Web Service 是一个平台独立的 , 低耦合的 , 自包含的、基于可编程的 web 的应用程序 , 可使用开放的 XML 标准来描述、发布、发现、协调和配置这些应用程序 , 用于开发分布式的交互操作的应用程序。
Web Service 技术 , 能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件 , 就可相互交换数据或集成。依据 Web Service 规范实施的应用之间 , 无论它们所使用的语言、平台或内部协议是什么 , 都可以相互交换数据。Web Service 是自描述、自包含的可用网络模块 , 可以执行具体的业务功能。Web Service 也很容易部署 , 因为它们基于一些常规的产业标准以及已有的一些技术 , 诸如标准通用标记语言下的子集 XML、HTTP。
实现 web 功能的服务 :apache、nginx
HTTP 概念
超文本传输协议 (Hyper Text Transfer Protocol,HTTP) 是一个简单的请求 - 响应协议 , 它通常运行在 TCP 之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以 ASCII 形式给出。
HTTP 是基于 B / S 架构进行通信的 , 其客户端的实现程序主要是 Web 浏览器 , 例如 Firefox、InternetExplorer、Google chrome、Safari、Opera 等 , 此外 , 客户端的命令行工具还有 elink、curl 等。Web 服务是基于 TCP 的 , 因此为了能够随时响应客户端的请求 ,Web 服务器需要监听在 80/TCP 端口。这样客户端浏览器和 Web 服务器之间就可以通过 HTTP 进行通信了
HTTP 发展阶段
0.9 阶段
适用于各种数据信息的简洁快速传输 , 是一个交换信息的无序协议 , 仅仅限于文本传输。
1.X 阶段
支持音频和视频的传输。
2.0 阶段
支持动态页面
HTTP 工作原理
HTTP 是基于客户 / 服务器模式 , 且面向连接的。典型的 HTTP 事务处理有如下的过程 :
(1) 客户与服务器建立连接 ;
(2) 客户向服务器提出请求 ;
(3) 服务器接受请求 , 并根据请求返回相应的文件作为应答 ;
(4) 客户与服务器关闭连接。
WEB 服务部署
1. 安装软件 yum install -y httpd 2. 查看安装文件 rpm -ql httpd /etc/httpd/conf/httpd.conf ......http 的主配制文件 /etc/httpd/logs ......http 的日志文件 /etc/httpd/modules ...... 存储模块的目录 /etc/httpd/run ...... 存储 http 运行时的进程和套接字文件 /etc/httpd/state ...... 存储 http 状态的目录 /etc/logrotate.d/httpd ......http 日志滚动文件 rpm -ql httpd-filesystem /var/www/html ....... 网页的主站点目录 3. 编辑配置文件 vim /etc/httpd/conf/httpd.conf ServerRoot "/etc/httpd" ...... 定义服务的根目录 Listen 80 ...... 监听的端口 Include conf.modules.d/*.conf ...... 辅助配置文件 User apache ...... 服务的拥有者 Group apache ...... 服务的所属组 ServerAdmin root@localhost ...... 发送邮件 ServerName www.example.com:80 ...... 访问站点的域名 <Directory /> 目录的访问控制 ...... </Directory> DocumentRoot "/var/www/html" ..... 网页的根目录 <Directory "/var/www/html"> Options Indexes FollowSymLinks ...... 访问控制选项 AllowOverride None ...... 是否认证 (none: 不认证。all: 需要认证。authconfig: 配置文件认证 ) Require all granted </Directory> DirectoryIndex index.html ....... 定义网页的文件名 ErrorLog "logs/error_log" ...... 错误日志 LogLevel warn ...... 记录日志的级别 CustomLog "logs/access_log" combined...... 记录正确访问网页的日志
WEB 实例
一、用户认证限制
1)vim /etc/httpd/conf.d/1.conf
<directory /var/www/html/test>
Options Indexes FollowSymLinks …目录访问控制选项
AllowOverride AuthConfig …访问认证
order allow,deny …访问控制
allow from all
authname“kylin”…访问的名称
authtype basic …认证方式
authuserfile /var/www/html/test/.htpasswd …认证文件
require valid-user …认证通过的用户可以访问
2) 创建认证用户文件
3) 客户端访问
二、用户个人主页
1) 修改配置文件 vim /etc/httpd/conf.d/userdir.conf <IfModule mod_userdir.c> UserDir public_html </IfModule>
2) 更改家目录权限
3) 创建目录
4) 创建网页文件
三、虚拟目录
1) 创建目录
2) 编辑配置文件
alias /virtual /mnt/data
<directory“/mnt/data”>
allowoverride none
options indexes
Require all granted
注意 : 在 apache2.4 版本中 , 使用 require 进行访问控制 , 不再使用 order allow,deny 进行访问控制。(require all granted | denied 允许 | 拒绝 )
3) 客户端访问
virtual 目录为虚拟目录
四、网页的重定向
2XX: 访问成功返回值
3XX: 重定向返回值
4XX: 客户端错误返回值
5XX: 服务端错误返回值
1) 准备 2 台主机
192.168.0.2 主 web 服务器
192.168.0.3 重定向服务器
2) 编辑主服务器配置文件
redirect 301 /foo http://192.168.0.3
3) 编辑重定向服务器 ( 创建网页文件 )
echo“192.168.0.3”>> /var/www/html/index.html
4) 重启服务
systemctl restart httpd
5) 客户端访问
使用客户端访问主服务器根目录下的 foo 目录
返回的页面由重定向服务器提供
五、虚拟主机
1) 编辑配置文件
<virtualhost *:80>
DocumentRoot“/testpath”
ServerName www.example.com
<Directory /testpath>
allowoverride none
options indexes
Require all granted
2) 创建目录
mkdir /testpath
3) 创建网页文件
echo“test web”>> /testpath/index.html
4) 重启服务器
systemctl restart httpd
5) 客户端访问
原文链接:https://blog.csdn.net/qq_17576885/article/details/122402813