day-40 HTTP网络协议说明

木孑楊IP属地: 北京
字数 47
00.课程介绍部分
    1.ansible剧本控制配置
    2.用户访问网站页面
    3.HTTP数据报文发送的信息
        HTTP请求数据信息
        HTTP响应数据信息
    4.网站页面资源信息
        什么是静态网页资源
        什么是动态网页资源
    5.网站访问量度量方法
        IP  PV  UV
    6.常用网站web服务
        nginx php tomcat python
        网站页面代码:
        html  java  python(框架)
01.课程知识回顾
    1.部署ansible软件程序
        a 部署SSH基于秘钥连接
        b 安装部署ansible软件
    2.配置ansible主机清单
      5种配置方式    直接写IP  主机组  配置内置变量  嵌入式  匹配符号方式
    3.ansible利用模块管理主机
    4.ansible剧本编写方法
        剧本组成部分:角色 hosts  任务 tasks   触发器  handlers
        剧本编写规范:缩进   列表    字典
        剧本编写扩展:
        a 变量设置方法   3种
        b 剧本判断功能   when  setup  判断方式 ==  != or  and
        c 剧本循环功能   with_items/loop
        d 剧本调试功能   
          忽略错误功能   标签功能  提示剧本执行效率
        e 剧本信息注册   
        f 剧本触发功能   notify:多个调用触发器
    5.剧本整合方法   import_playbook: 
02.ansible剧本角色功能配置说明
    角色功能有什么用:
        1.让剧本配置更加规范
        2.可以让剧本信息简化
        3.可以在汇总剧本中看到主机信息

    如何配置角色功能:
        第一步:配置好主机清单
        vim /etc/ansible/roles/hosts

        第二步:创建角色目录
        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: 安装软件
                  yum: name=rsync state=installed
                - name: 修改配置文件
                  copy: src={{ i }}/rsyncd.conf dest={{ i }}/rsyncd.conf
                  notify: rsync_restart
                - name: 创建虚拟用户
                  user: name=rsync create_home=no shell=/sbin/nologin 
                - name: 创建备份目录
                  file: path=/backup state=directory owner=rsync group=rsync
                - name: 创建密码文件
                  copy: content='rsync_backup:123456' dest={{ i }}/rsync.password mode=600
                - name: 启动服务
                  service: name=rsyncd state=restarted
                - name: 检查服务是否开启
                  shell: ps -ef|grep rsync
                  register: test
                - name: 显示服务状态
                  debug: msg={{ test.stdout_lines }}
                - name: 永久启动服务
                  service: name=rsyncd enabled=yes
             ....省略....     

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

                进行多个任务剧本整合:
                vim main.yml
                - include_tasks:  ....(剧本名称)
                - include_tasks:  ....(剧本名称)

            2.保存files/文件信息
                将要分发的配置文件信息放入目录中

            3.配置vars/main.yml
                conf_dir: /etc/
                变量都放入

            4.配置handlers/main.yml
                所有触发器的任务放入
                #cat handlers/main.yml
                - name: rsync_restart
                service: name=rsyncd state=restarted


        第四步:调取角色信息
                [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: {{ port }}

                第二步:需要将配置文件放置到模板目录中
                mv rsync/files/rsyncd.conf rsync/templates

                第三步:修改复制数据的模块
                copy复制文件数据 == '' 所见即所得
                templates复制文件数据 == "" 能识别特殊符号例 {} 调取变量信息
04.用户访问网站原理过程
    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   一次链接,可以发送一次请求

    请求头:
    Host: www.oldboyedu.com      指定显示什么网站页面  www bbs blog 主机记录信息
    User-Agent: curl/7.29.0      根据用户访问客户端信息不同,可以显示不同的页面
    空行:
    请求主体:GET方法没有请求主体   post方法具有请求主体

    HTTP响应报文结构信息:
    起始行:
    < HTTP/1.1 302 Found
    1.协议信息  
    2.响应状态码信息
    响应头:
    空行:
    响应主体:
05.课程知识总结
    1.ansible剧本角色功能配置
    2.用户访问网站原理过程
    3.HTTP协议报文结构
        请求报文:请求行(请求方法 请求内容 协议-TCP长链接/短链接) 请求头(Hosts UA) 空行 请求主体 post才有主体
        响应报文:起始行(状态码信息 304 401)
作业:
1.网站301状态码和302状态码之间区别?
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
0人点赞
木孑楊老男孩Linux63期学员
总资产0.438共写了7638字获得3个赞共14个粉丝

推荐阅读更多精彩内容