第四十节课HTTP网络协议说明

  1. 课程知识回顾部分

    1. 部署ansible软件程序
      a 部署SSH基于秘钥连接
      b 安装部署ansible软件
    2. 配置ansible主机清单
      5种配置方式 直接配置IP地址 主机组 配置变量 嵌入式 匹配方式([1:100])
    3. ansible利用模块管理主机
    4. ansible剧本编写方法
      剧本组成部分: 角色信息 hosts 任务 tasks 触发器信息 handlers
      剧本编写规范: 缩进 列表 字典
      剧本编写扩展:
      a 变量设置方法 3种 编写剧本实现修改主机名称和IP地址
      b 剧本判断功能 when setup 判断方式 == != or and
      when: (ansible_eth0.ipv4.address == ["10.0.0.41","10.0.0.31"])
      c 剧本循环功能 with_items/loop
      d 剧本调试功能
      忽略错误功能 标签功能 提升剧本执行效率
      e 剧本信息注册
      f 剧本触发功能 notify: 多个调用触发器
    5. 剧本整合方法 import_playbook:
  2. ansible剧本角色功能配置说明
    角色功能有什么用:

    1. 让剧本配置更加规范
    2. 可以让剧本信息简化
    3. 可以在汇总剧本中看到主机信息

    如何配置角色功能:
    第一个历程: 配置好主机清单
    vim /etc/ansible/roles/hosts
    [rsync_server]
    172.16.1.41

    [rsync_client]
    172.16.1.31
    172.16.1.7

    [nfs_server]
    172.16.1.31

    [nfs_client]
    172.16.1.41
    172.16.1.7

    第二个历程: 创建角色目录
    mkdir /etc/ansible/roles/rsync
    mkdir /etc/ansible/roles/rsync/{tasks,files,vars,handlers,templates}
    tasks: 目录中定义任务的剧本信息
    files: 保存要分发文件信息
    vars: 目录保存定义变量剧本文件
    handlers: 目录中保存触发器剧本信息
    templates: 目录中保存模板文件(jinja2) ???

    ansible-galaxy init nginx --- 创建角色目录路径信息

    第三个历程: 配置角色目录中剧本信息

    1. 编写tasks/main.yml
      编写方式一: 直接编写任务信息

      • name: install software
        yum: name=rsync state=installed
      • name: push file info
        copy: src={{ file_dir }}/{{ item.src }} dest={{ conf_dir }} mode={{ item.mode }}
        notify:
        • rsync_restart
        • rsync_port
        • rsync_port_info
          with_items:
        • {src: 'rsyncd.conf', mode: '644'}
        • {src: 'rsync.password', mode: '600'}
          when: ansible_eth0.ipv4.address == "10.0.0.41"
      • name: create user
        user: name=rsync shell=/sbin/nologin create_home=no
        when: ansible_eth0.ipv4.address == "10.0.0.41"
      • name: create backup dir
        file: path=/backup state=directory owner=rsync group=rsync
        ...省略信息...

      编写方式二: 将一个完整的剧本拆分成多个剧本

      cat copy_file.yml

      • name: push file info
        copy: src={{ file_dir }}/{{ item.src }} dest={{ conf_dir }} mode={{ item.mode }}
        notify:
        • rsync_restart
        • rsync_port
        • rsync_port_info
          with_items:
        • {src: 'rsyncd.conf', mode: '644'}
        • {src: 'rsync.password', mode: '600'}

      cat install_rsync.yml

      • name: install software
        yum: name=rsync state=installed

      进行多个任务剧本整合:
      vim main.yml

      • include_tasks: install_rsync.yml
      • include_tasks: copy_file.yml
2) 保存files/文件信息
   [root@m01 files]# ll
   总用量 8
   -rw-r--r-- 1 root root 409 8月  26 19:00 rsyncd.conf
   -rw-r--r-- 1 root root  23 8月  26 18:23 rsync.password       

3) 配置vars/main.yml
   # cat ../vars/main.yml 
   conf_dir: /etc/
   file_dir: /ansible_playbook/file
   
4) 配置handlers/main.yml
   [root@m01 files]# cat ../handlers/main.yml
   - name: rsync_restart
     service: name=rsyncd state=restarted
   - name: rsync_port
     shell: netstat -lntup|grep rsync
     register: rsync_port
   - name: rsync_port_info
     debug: msg={{ rsync_port.stdout_lines }}

第四个步骤: 调取角色信息
[root@m01 ansible]# cat roles/site.yml 
- hosts: rsync_server,rsync_client
  roles:
    - rsync

第五个步骤: 执行角色汇总剧本
ansible-playbook /etc/ansible/roles/site.yml -i /etc/ansible/roles/hosts

补充: templates目录作用:
放置存储模板文件

第一个历程: 修改配置文件 变成 模板文件
vim rsyncd.conf
port = {{ prot }}

第二个历程: 需要将模板文件移动到templates/目录中
mv rsync/files/rsyncd.conf rsync/templates/

第三个历程: 修改复制数据的模块
copy     复制文件数据 == ''  所见即所得
template 复制文件数据 == "" 可以解析{{}}调取变量信息
  1. 用户访问网站原理过程

    1. 进行域名解析过程 DNS解析原理(本地查询 递归查询 迭代查询(A记录))
    2. 和网站服务建立连接 三次握手过程
    3. 发送HTTP请求信息 HTTP请求报文
    4. 发送HTTP响应信息 HTTP响应报文
    5. 和网站服务断开连接 四次挥手过程

    HTTP协议是什么? 超文本传输协议
    HTTP请求报文结构信息:
    请求行:

    GET / HTTP/1.1
    1) 请求方法 GET(获得 客户端 -- 从 -- 服务端获得页面数据信息 ) POST(提交 客户端 -- 发送数据 --- 服务端)
    2) 请求内容 请求网站资源信息(页面文件 图片 视频 音频) 没有具体只需求会默认请求首页文件(index.html)
    3) 请求使用的协议 HTTP/1.0 HTTP/1.1 HTTP/2.0
    TCP长链接: HTTP/1.1 一次链接,可以发送多个请求
    TCP短链接: HTTP/1.0 一次链接,可以发送一次请求
    请求头:
    Hosts: www.oldboyedu.com --- 指定显示什么网站页面 www bbs blog 主机记录信息
    User-Agent: curl/7.29.0 --- 根据用户访问客户端信息不同,可以显示不同的页面
    空行:
    请求主体: get方法没有请求主体 post方法具有请求主体???

    HTTP响应报文结构信息:
    起始行:
    HTTP/1.1 302 Found

    1. 协议信息
    2. 响应状态码信息
      响应头:
      空行:
      响应主体:
  2. 课程知识总结:

    1. ansible剧本角色功能配置
    2. 用户访问网站原理过程
    3. HTTP协议报文结构
      请求报文: 请求行(请求方法 请求内容 协议-TCP长连接/端连接) 请求头(Hosts UA) 空行 请求主体 post方法有
      响应报文: 起始行(状态码信息 304 401)
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,295评论 6 512
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,928评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,682评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,209评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,237评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,965评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,586评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,487评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,016评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,136评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,271评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,948评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,619评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,139评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,252评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,598评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,267评论 2 358

推荐阅读更多精彩内容