HTTP服务
http协议
http:应用层协议(Hyper Text Transfer Protocol)超文本传输协议
作用:在客户端与网站服务器间传输网站代码,浏览器解析代码,展示网站数据
网站类型
静态网站
所有客户端访问看到的数据是一致的,由html语言开发
动态网站
一段程序代码, 根据用户传递参数不同,显示不同的结果
cookie / session会话
作用:使网站服务器可识别用户的身份
cookie
当客户端首次访问网站时,需要进行用户名、密码的认证;认证通过后,由服务器产生一串随机数发送给客户端,客户端会在 浏览器本地保存这串随机数,下次客户端再访问同样的网站时,会带着这串随机数,以让网站服务器识别客户端的身份, 这串随 机数称为cookie
session会话
将用户登录信息保存在服务器端
URL地址
统一资源定位符
格式:协议://主机名/IP地址/文件
ftp://192.168.32.75/software
https://www.baidu.com/
https://www.baidu.com/scl=3&tn=baidutop10&fr=top1000&wd=%E4%B8%AD%E5%9B%BD%E7%94%B7%E7%AF%AE%E9%81%AD%E9%80%86%E8%BD%AC&rsv_id
URI地址
统一资源标识符
/uc/login?ReturnUrl=http%3A%2F%2Fvip.jd.com%2Fhome.html
http协议版本、区别
http/0.9
只支持传输文本数据
http/1.0
引入MIME机制
MIME: 多用途互联网邮件扩展
作用:传输非文本数据(图片、视频、音频、动画)
缓存机制、加速网站的访问速度、服务端缓存、客户端缓存
http/1.1
长连接机制(keepalive)
:http协议,无状态的协议
长连接,连接复用
:客户端与服务器建立一条连接,在一条连接可以发送多个请求
管道机制
:在一条连接上,可以同时发送多送请求;客户端请求可同时发送,服务器响应数据还是按顺序发送的
增强缓存机制的管理:缓存超时时间、静态数据
http/2.0
在一条连接上,可以同时发送多个请求,也可以同时发送多个响应
http常见状态码
状态码 | 状态 |
---|---|
200 | 成功响应 |
301 | 永久重定向 |
302 | 临时重定向 |
403 | 权限拒绝 |
404 | 文件未找到 |
502、503 | 服务器端错误 |
http常见请求资源的方法
GET 获取资源 POST 上传数据 HEAD 获取http的首部信息
[root@localhost ~]# curl -I www.baidu.com
HTTP的基本使用
软件安装及环境准备
1.关闭防火墙和selinux
root@localhost ~]#systemctl stop firewalld
root@localhost ~]#setenforce 0
2.安装HTTP软件
[root@localhost ~]# yum install httpd -y
3.启动HTTP服务
[root@localhost ~]# systemctl start httpd
[root@localhost ~]# systemctl enable httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
4.使用浏览器测试HTTP界面
httpd相关文件目录
主配置文件
/etc/httpd/conf/httpd.conf
子配置文件
/etc/httpd/conf.d/*.conf
存放模块的路径
/etc/httpd/modules
加载模块的配置文件
/etc/httpd/conf.modules.d/*.conf
日志文件
/var/log/httpd
error_log 错误日志
access_log 访问日志
默认网页目录
[root@localhost ~]# ls /var/www/html/
index.html
HTTP网站的默认网页配置
1.在HTTP的默认网页目录增加访问首页
[root@localhost ~]# cd /var/www/html/
[root@localhost html]# ls
[root@localhost html]# vim index.html
1 <h1>
2 My Main Page!!!
3 <h1>
4
2.再次利用浏览器测试
设置HTTP网站域名
1.打开Windows下的域名解析文件
C:\Windows\System32\drivers\etc
2.对文件host进行修改
192.168.122.10 www.lll.com
3.测试
配置文件解析 — httpd.conf
指定httpd文件根目录
ServerRoot “/etc/httpd”
指定监听端口
Listen 192.168.183.10:80
加载子配置文件
Include conf.modules.d/*.conf
指定httpd子进程启动的用户
User www 2 Group www
指定管理员邮箱地址
ServerAdmin root@localhost
指定网站的名称
ServerName web.linux.com
指定默认的网页目录
DocumentRoot “/var/www/html”
指定网站的首页名称
DirectoryIndex index.html
指定错误日志文件、级别
ErrorLog “logs/error_log”
include: debug, info, notice, warn, error, crit, alert, emerg.
LogLevel error
指定访问日志的存放位置、格式
CustomLog “logs/access_log” combined
定义访问日志的格式
LogFormat “%h %l %u %t “%r” %>s %b “%{Referer}i” “%{User‐Agent}i”” combined
%h:客户端地址
%l: 客户端登录名称
%u: 客户端认证名称
%t: 客户端的访问时间
%r: 客户端请求信息(请求方法、资源名称、HTTP协议版本)
%s: 状态码
%b: 响应数据大小,单位字节
%{Referer}i: 记录超链接地址
%{User‐Agent}i:客户端的浏览器类型
衡量网站访问量的指标:
UV User View 用户访问量
PV Page View 页面访问量
启动内存映射机制,加速网站效率
EnableMMAP on
EnableSendfile on
长连接相关配置
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5
针对目录授权
<Directory “/var/www/html”>
Options None
Indexes 无首页时,列出所有文件
FollowSymLinks 允许客户端访问软链接文件
SymLinksifOwnerMatch 允许客户端访问属主、属组与httpd进程相同的软链接文件
ExecCGI
CGI机制 Common Gateway Interface 通用网关接口
作用: 让web进程通过CGI机制调用其他的应用程序,解析动态网页的
MultiViews: 多视图
Require all granted //允许所有客户端访问 12