Apache面试题

1、HTTP的四个版本

  • 0.9版本:仅支持HTML文本页面;
  • 1.0版本:引入了MIME机制、keep-alive机制、支持页面缓存功能;
  • 1.1版本:1.0的版本升级,支持更多的请求链接方式、优化了持久链接、优化了页面缓存;
  • 2.0版本:提供了http语义优化,增长了spdy技术;
    目前比较经常使用的1.0版本和1.1版本。

2、常见的网页类型

  • 静态页面:由开发人员事先编写完成,存放在本地文件系统中、响应速度快、页面维护比较麻烦、数据交互性差、容易被搜索引擎收录;
  • 动态页面:WEB服务器自己并不处理请求,而是把请求转交给后端的解释器。页面数据多变、维护简单、响应速度慢,不能被搜索引擎收录;
  • 伪静态页面:将动态页面转换为静态页面,能够被搜索引擎收录;

3、有关HTTP协议的报文

  • 请求报文:请求行+请求首部+空白行+请求实体
    客户端→服务端
  • 响应报文:起始行+响应首部+空白行+响应实体
    服务端→客户端

常见的状态码:
正常的状况:200访问成功、201上传成功、301永久重定向、302临时重定向、304资源在转发过程当中没有被修改;
不正常的状况:401网页认证失败、403权限被拒绝、404资源未找到、503服务不可用apache

4、Apache是什么

apache http服务器是一个模块化的服务器,能够运行在几乎全部普遍使用的计算机平台上,其属于应用服务器,apache支持模块多,性能稳定,apache自己是静态解析,适合静态HTML、图片等,能够经过扩展脚本、模块等支持动态页面等后端

5、Apache的特性

1.支持最新的HTTP/1.1通讯协议;
2.拥有简单而强有力的基于文件的配置过程;
3.支持通用网关接口;
4.支持基于基于IP和域名的虚拟主机;
5.支持多种方式的HTTP认证;
6.集成Perl处理模块;
7.集成代理服务器模块;
8.支持实时监视服务器状态和定制服务器日志;
9.支持服务器端指令(SSI);
10.支持安全Socket层(SSL);
11.提供用户会话过程的跟踪;
12.支持FastCGI;
13.经过第三方模块能够支持JavaServlets;浏览器

6、Apache、Nginx、Tomcat的区别:

Apache:支持模块较多、采用servlet处理模型、同步阻塞模型、工做模式多变、运行稳定;
Nginx:轻量级服务器、支持的模块少,须要第三方模块支持、采用epoll处理模型、异步非阻塞型、适合高并发的场景;
Tomcat:主要用于解析JAVA缘由所编写的网页、程序;缓存

查看Apache的工做模式:httpd -V 或 apachectl -V
查看Apache所加载的模块:httpd -M 或 apachectl -M安全

7、Apache的工做模式:

  • prefork(预派生子进程):一个子进程对应一个线程,默认开启5个子进程,消耗系统资源比较多,并发量低,工做效率高;
  • worker(多进程+多线程):支持并发链接大,可以充分利用系统资源,对持久链接释放速度比较慢,默认开启3个子进程;
  • event(多进程+多线程+epoll处理模型):结合prefork和work工做模型,优化了持久链接释放速度慢的配置,对https支持不太友好;

8、进程和线程的区别:

进程是指进程内的一个执行单元,也是进程内的可调度实体;
每一个线程都有对应的进程,每一个进程下能够有多个线程,可是最少有一个线程,每一个线程共享其父进程地址空间,不能共享其余进程的地址空间服务器

线程是处理调度器的基本单元,可是进程不是,两者都可并发执行多线程

一个程序至少有一个进程,一个进程至少有一个线程并发

9、能够从那些方面对Apache进行优化

  • 根据实际状况选择Apache的工做模式;
  • 开启Apache的Gzip(deflate)功能;
  • 对Apache进行缓存设置;
  • 禁止对Apache目录遍历;
  • 隐藏Apache版本信息;
  • 对Apache日志进行分割;
  • 配置Apache防盗链;

10、Apache经常使用的模块

1.SSO Module - LemonLDAP
LemonLdap 是 Apache 的一个实现了 Web SSO(单点登陆) 的模块,可处理超过 20 万的用户;
2.并发限制模块 - limitipconn
limitipconn 是一个 Apache 的模块,用来限制每一个 IP 的并发链接数;
3.日志监控模块
Apache Live Log 是一个 Perl 编写的模块,能够在浏览器上直接实时的经过 Ajax 技术浏览和监控 Apache 的 日志文件;
4.负载均衡模块
定义了每一个请求的HTTP重定向在一个异构的Apache服务器群集;
5.图像处理模块
mod_gfx 是一个对图像进行即时处理的 Apache 模块,提供不少灵活的接口;
6.压缩模块
mod-gzip-disk 是一个使用磁盘进行存储预压缩页面的 Apache 模块,与 mod-gzip 不一样的是不须要每次请求的时候从新压缩;
7.音乐模块
mod_musicindex 是一个 Apache 用来处理音频文件的模块;
8.LDAP 认证模块
mod_psldap 是 Apache 用来执行 LDAP 认证和受权的模块;
9.带宽限制模块
mod_cband是一个用来限制请求占用带宽的Apache模块;
10.CGI V8 引擎包
v8cgi 是一个很小的 C ++ 和 JS 文件集合,容许开发者在服务器端使用 JS 的模块;负载均衡

未完待续………………………………异步

相关文章
相关标签/搜索