HTTP:Hypertext Transfer Protocol;

HTML:Hypertext Markup Language;

URL:Uniform Resource Locator,在Internet的WWW服务程序上用于指定信息位置的表示方法;

  Scheme://Server:Port/path/to/resource;

  http://www.mageedu.com/images/logo.jpg;

一次完整的http请求过程:

  建立或处理连接 --> 接受请求 --> 处理请求 --> 访问资源 --> 构建响应报文 --> 发送响应报文 --> 记录日志;

http服务器程序:

  httpd(apache);nginx;lighttpd;

http监听端口:80/tcp,https监听端口:443/tcp;

centos6支持安装httpd-2.2,centos7支持安装httpd-2.4;

特别配置:

  1、持久连接

    连接建立,每个资源获取完成后不会断开连接,而是等待其他请求,访问量较大的服务器,持久连接功能会使有些请求得不到响应;

    折中方法,使用较短的毫秒级持久时间:

      KeepAlive On|Off

      MaxKeepAliveRequests #

      KeepAliveTimeout #

  2、站点访问控制

    可基于两种类型的路径指明对哪些资源进行访问控制:

      文件系统路径:

        <Directory " ">

        </Directory>

      URL路径:

        <Location " ">

        </Location>

  3、日志设定

    错误日志:

      ErrorLog logs/error_log

      LogLevel warn(记录warn以上级别的日志)

    访问日志:

      CustomLog logs/access_log combined

      LogFormat ...

  4、基于用户访问控制

    基于用户认证:

      <Directory "/var/www/html/SOME"> //要登录进入的目录

        Options None

        AllowOverride None

        Auth Type Basic

        AuthName "STRING"  //认证提示符

        AuthUserFile "/PATH/TO/HTTPD_USER"  //账号密码存放的目录

        Require user username1 username2...

        Require voild-user  //允许文件中所有用户

      </Directory>

      设置账号密码存储:htpasswd命令

        htpasswd -bm /etc/httpd/conf.d/.htuser username userpasswd

    基于组认证:

      <Directory "/var/www/html/admin"> 

        Options None

        AllowOverride None

        AuthType Basic

        AuthName "administrator private"

        AuthUserFile "/etc/httpd/conf.d/.htpasswd"

        AuthGroupFile "/etc/httpd/conf.d/.htgroup"

        Require group webadmin

      </Directory>

      组文件中:每行定义一个组

        webadmin:user1 user2 ...

  5、虚拟主机

    基于IP:

      为每个虚拟主机准备至少一个ip地址;

    基于port:

      为每个虚拟主机准备至少一个专用port,实践中很少使用;

    基于hostname:

      注意:一般虚拟主机莫与中心主机混用,所以要是用虚拟主机,先禁用中心主机,注释DocumentRoot;

    每个虚拟主机都专用配置:

    <VirtualHost *:80>

      ServerAdmin webmaster@dummy-host.example.com

      DocumentRoot /www/docs/dummy-host.example.com

      ServerName dummy-host.example.com

      ErrorLog logs/dummy-host.example.com-error_log

      CustomLog logs/dummy-host.example.com-access_log common

    </VirtualHost>

  status:状态码,标记请求过程中发生的情况;

    100-101:信息提示;

    200-206:成功;

    300-305:重定向;

    400-415:客户端错误;

    500-505:服务器端错误;

      200:成功;OK

      301:请求的URL指向的资源已经被删除,但响应报文中通过首部Location指明了资源现在所处的新位置,Moved Permanently;

      302:与301相似,但在响应报文中指明临时新位置;Found

      304:客户端发出条件式请求,但服务器上的资源未曾发生改变;Not Modified

      401:需要输入账号密码认证;Unauthorized

      403:请求被禁止;Forbidden

      404:服务器无法找到客户端请求的资源;Not Found

      500:服务器内部错误;Internal Server Error

      502:代理服务器从后端服务器收到一条伪响应;Bad Getway

httpd配置的更多相关文章

  1. centos7 httpd配置

    centos7 httpd配置 标签(空格分隔): 未分类 隐藏server信息 修改httpd.conf 设置,添加如下两行 ServerSignature Off ServerTokens Pro ...

  2. httpd配置.md

    httpd-2.2 配置 监听端口和IP 配置文件: Listen [IP:]PORT 省略IP表示为0.0.0.0 Listen指令可重复出现多次 修改监听socket,重启服务进程方可生效 可以监 ...

  3. 负载均衡之Haproxy配置详解(及httpd配置)

    下图描述了使用keepalived+Haproxy主从配置来达到能够针对前段流量进行负载均衡到多台后端web1.web2.web3.img1.img2.但是由于haproxy会存在单点故障问题,因此使 ...

  4. httpd配置Gzip压缩

    以下设置在 /etc/httpd/conf/httpd.conf 文件末尾加入即可.(不同方式安装的httpd可能主配置文件位置不同,请自行查找) 一.mod_deflate模块:文件压缩 官方文档: ...

  5. httpd配置ResponseHeader

    今天遇到一个问题:我把项目编译后的静态文件发布到开发机上,开发机使用httpd启的静态文件服务,页面的访问是在特制的壳浏览器里面,我更新了代码后,发现页面被缓存了,找到壳的RD联调了一下,发现我的主页 ...

  6. 利用httpd配置虚拟目录创建下载站点

    应用环境:通常放置一些文件来提供下载. 配置环境:centos7 //已经关闭Selinux和Firewall 需求假设:在网页输入主机IP并进入,会显示主机目录/home/share/的文件以提供下 ...

  7. Centos6.8上httpd配置腾讯云SSL证书

    (1)先按装mod_ssl yum -y install mod_ssl /etc/httpd/conf.d/下会有一个ssl.conf的文件,打开 a)检测本地证书配置是否正确 主要是看下证书及密钥 ...

  8. CentOS 使用httpd 配置局域网 yum源

    1.上传centos iso而且挂载 mkdir /mnt/cdr/iso mount -o /xxx.iso /mnt/cdr 2.使用createrepo来创建repo文件 cd /mnt/cdr ...

  9. Linux使用httpd配置反代理

    Linux安装httpd请看上一篇:https://www.cnblogs.com/tuituji27/p/11189095.html 首先,httpd默认监听端口号是80,增加或修改代理的端口号的文 ...

随机推荐

  1. freemarker根据模板生成word文件实现导出功能

    一.准备工作 1.创建一个03的word文档,动态的数据用占位符标志占位(如testname).然后另存为word2003的xml文件. 2.格式化xml文件,占位符的位置用${testname}代替 ...

  2. mysql常用命令小结

    1.命令行中键入 net start/stop mysql 开启/停止mysql服务2.命令行中键入 mysql -u用户名 -p密码 连接数据库 (以下命令后须加分号';')3.用show语句显示当 ...

  3. 搭建私服-docker registry

    Docke官方提供了Docker Hub网站来作为一个公开的集中仓库.然而,本地访问Docker Hub速度往往很慢,并且很多时候我们需要一个本地的私有仓库只供网内使用.Docker仓库实际上提供两方 ...

  4. Ubuntu18.04安装netstat

    一.简介 Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memb ...

  5. MYSQL业务数据简单脱敏方案

    removesensitiveinformationplan.sh #!/bin/sh #!在模拟库上运行如下脚本 #!生产库crm-db #!模拟库crm-mock #!.备份生产库 mysqldu ...

  6. Linux基础命令和NAT技术

    yum    yellowdog updater,modified是一种用python写的基于rpm的管理工具 用于解决rpm包的依赖性 要安装编译工具 yum install gcc 库函数:静态库 ...

  7. [转帖]关于CPU Cache -- 程序猿需要知道的那些事

    关于CPU Cache -- 程序猿需要知道的那些事 很早之前读过作者的blog 记得作者在facebook 工作.. 还写过mysql相关的内容 大拿 本文将介绍一些作为程序猿或者IT从业者应该知道 ...

  8. Day 4-6 xml处理

    xml是实现不同语言或程序之间进行数据交换的协议,跟json差不多,但json使用起来更简单,不过,古时候,在json还没诞生的黑暗年代,大家只能选择用xml呀,至今很多传统公司如金融行业的很多系统的 ...

  9. 使用npm安装一些包失败了,更换npm源

    镜像使用方法(三种办法任意一种都能解决问题,建议使用第三种,将配置写死,下次用的时候配置还在): 1.通过config命令 npm config set registry https://regist ...

  10. C# Note3:大话Ninject

    前言 之所以研究Ninject,是因为初入职在开发XX项目的ComponentService部分时用到了它,一下子发现了它的强大.渐渐地发现在项目中,有时会用到优秀的第三方开源库,这些都是前人智慧的结 ...