http是超文本传输协议,即可以在互联网上传输各种形式的文档,例如text、jpeg、mp4等。/etc/mime.types文件中记录了http支持的文档的格式
httpd软件可以实现http服务器端的功能,客户端是浏览器 。http的通信过程:用户访问浏览器,数据先经过httpd封装头部(应用层),然后经TCP封装头部(传输层),依次向下。具体过程如图:
http协议用到的基本命令有:get(从服务器上下载内容)
使用curl命令访问网页时,若只看网页的头部信息(http封装的头部)用到:curl -I 。但是http本身不能保存用户登录的身份等信息,原则上用户每刷新一次网页,都要重新输入登录信息。
所以web服务请求处理的步骤大体可以分为7步(可以结合DNS):
程序启动后运行的是httpd程序(prefork工作模式),默认有一个root账户和apache账户
httpd程序安装是创建了apache账户
进程文件是自动生成的,存放了一个进程编号:root账户的进程编号
关闭服务,文件消失:
三、关于版本
httpd程序默认显示版本号,有安全隐患,需要用命令将其隐藏
主配置文件中,默认显示的版本号是FULL,将下列行注释,显示FULL对应的版本号
基于安全考虑,应设置为Prod,只显示apache
检查语法
四、关于端口与地址
默认httpd服务可以对所有IP进行访问,80端口没有设置监听具体IP地址
结果:无法访问另一个地址(80端口没有指定地址,可以访问任意地址,但是指定的8080端口只能访问192)
五、关于模块
主配置文件中,有许多加载模块,用命令查看开机有哪些模块加载 :httpd -M
可以手动添加模块,按照相应的格式:模块名+相对路径(相对于/etc/httpd的路径)/etc/httpd下有modules目录,里面有许多模块
相应的模块还可以放在/etc/httpd/conf.d目录下,而不必放在主配置文件下(模块写在自己独立目录下)
将模块写入