JQuery 插件, 服务器概述, HTTP 协议概述

312 阅读4分钟

1. jquery 插件

1.1. 何时
  • 只要一项功能或一个函数, 在 JQ 中反复使用, 都要将反复使用的函数封装成一个插件
1.2. 如何
  1. jquery 添加 jquery 全局函数
    • 什么是: 不依赖任务具体 DOM 对象, 就可以直接调用的 jquery 函数
    • 如何: 所有 jquery 全局函数都定义在 jquery 全局对象中
      1. 判断是否加载 jquery
        • if (window.$ === undefined) {}
      2. jquery 中添加自定义对象
        • $.对象名 = {}
      3. 在自定义对象中添加自定义扩展属性方法
        • $.对象名.方法名 = function () { ...... }
    • 如何调用
      1. 先引入 jquery.js
      2. 在引入自定义 JS
      3. 调用 $.对象名.方法()
  2. jquery 对象添加方法
    • 何时: 只要一项完整的效果 / 功能需要反复使用, 就要将效果封装为 jquery 插件函数
    • 如何: jquery 插件函数都添加到 jquery.fn 中即可
      1. 判断是否加载 jquery
        • if (window.$ === undefined) {}
        • if (typeof jQuery !== undefined) { throw new Error(......) }
      2. jquery.fn 中添加方法
        • jQuery.fn.方法名 = function () { ...... }
    • 如何调用
      1. 先引入 jquery.js
      2. 在引入自定义的 JS( 放在单独的 JS 文件中 )
      3. 调用 $(选择器).方法名()

2. 服务器概述

2.1. 如何访问服务器
  • 协议(语言):// 地址 / 端口号(门牌号)
    • 端口号范围: 1 ~ 65535
如何访问服务器
2.2. 数据库服务器的种类
  1. 网状数据库
  2. 树形数据库
  3. 关系型数据库 -> 主流
    • 服务器端程序: 负责保存, 管理数据
    • 客户端程序: 负责向服务器端发起增, 删, 改, 查指令
  4. 对象性数据库
2.2.1. 常见的数据库
  • SQLite, MySQL, SQLServer, Oracle, DB2
2.2 Web 服务器概述
2.2.1. Web 服务器用于
  1. 接受客户端请求
  2. 解析请求, 找到客户端需要的文件
  3. 把客户端请求的文件输出给客户端
Web服务器
2.2.2. Web 服务器的分类
  1. 静态 Web 服务器

    • 提供的内容在任何时间由任何人访问都是完全相同的
    • 包含的技术: HTML, CSS, JS, Flash, Gif, 音视频
    • 常见的静态 Web 服务器
      1. Apache Httpd
      2. Microsoft IIS
      3. ``Nginx`
  2. 动态 Web 服务器

    • 提供的内容在不同时间由不同人访问是变化的

    • 所包含的技术

      • JSP = HTML + Java
      • PHP = HTML + Php
      • ASP.NET = HTML + C#
      • Node.js = HTML + NodeJS

3. HTTP 协议

  • 学习 HTTP 协议目标
    • 调试 AJAX 应用中"看不见摸不着"的错误
    • 对网站进行访问优化
3.1. URL
  • 世界上任何一个建筑必须有一个地址"地址"
    • 互联网上任何一个资源( HTML / IMG / CSS / JS / PHP )必须有一个 URL 才能访问
3.1.1. 标准的 URL
  • <scheme>://<user>:<pwd>@<host>:<port>/<path>;<params>?<query>#<frag>
    • <scheme>: 指定以哪种方案( 协议 ) 从服务器上获取指定资源
      • 常见的方案( 协议 ): http / https / ftp / file / telnet
      • http: 明文的, 安全性不高
      • https: 中间传入的信息加密
    • <host>: 主机名, 资源所在服务器 IP 地址 / 域名
      • 本机: 127.0.0.1 / localhost
      • 百度: www.baidu.com -> 61.135.169.121( 计算机识别 IP, 里面内置软件 DNS 转换 )
    • <port>: 端口号, 每一项服务在计算机上都有一个监听的端口号
      • 整数: 范围 1 ~ 65535
      • apache: 80 / 443
      • mysql: 3306
      • ftp: 21 文件上传下载
      • telnet: 23 不安全的远程登录
      • smtp: 25 邮件传输
      • dns: 53 域名解析
      • http: 80 超文本传输解析协议
      • pop3: 110 邮件接收
      • https: 443 加密超文本解析协议
    • <query>: 参数
3.1.2. 相对 URL 和 绝对 URL
  • 以方案( 协议 )开头的为绝对 URL
    • <a href='http://127.0.0.1/one.html'>绝对 URL </a>
  • 不以方案( 协议 )开头的为相对 URL
    • <a href='one.html'>相对 URL</a>
3.2. URL / URN / URI
3.2.1. 定义
  • URL: Unified Resource Locator 统一资源定位符
  • URN: Unified Resource Naming 统一资源命名符
    • 唯一标识一个实体的标识符, 但是不能给出实体的位置
    • URN 可以引用多个 URL
    • URNWeb 中主要应用是下拉菜单的制作, 使用 URN 时下拉菜单的易扩展性将会得到最大的提高
  • URI: Unified Resource Identifier 统一资源识别符
3.2.2. 关系
  • URI = URL + URN
  • URL
    • <a href='http://www.baidu.com'>URL</a>
    • <a href='http://tmooc.cn/logo.png'>logo</a>
  • URN
    • <a href='mailto:admin@sohu.com'>URN</a>
    • <a href='tel: 13512345678'>URN 电话</a>
    • <a href='javascript: void(0)'>URN Js</a>
3.3. HTTP 协议概述
  • Hyper Text Transfer Protocol: 超文本传输协议, 用于在浏览器和 Web 服务器之间传输超文本网页, Ex: HTML, CSS, JS, 图片 ......
  • IEFE: 互联网任务委员会, Internet Engineering Task Force -> 1985年底成立
    • HTTP/0.9: 1991年, 有设计缺陷
    • HTTP/1.0: 1996年, 第一个稳定正式版本 RFC-1945
    • HTTP/1.1: 1999年, 目前通用版本 RFC-2616
      • RFC: Request For Comment 意见征求稿
3.3.1. HTTP 1.0 到 HTTP 1.1 有哪些改进
  1. 支持虚拟主机技术
    • 在一个 Web 服务器上同时并存多个不同域名网站 -> Ex: tmooc / tts / jobshow
  2. 支持持久连接技术
    • 早期 HTTP 1.0 不支持持久连接
      • 三次握手 / 四次挥手
    • HTTP 1.1: 客户端和服务器之间连接保持一段时间 -> ( X 秒钟 ) 30s
      • connection: keep-alive 持久化
  3. 支持代理连接
    • Proxy: xxxx