A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

【济南校区】前端就业班笔记服务器与Ajax:day01

AJAX概述
AJAX 不是新的编程语言,而是一种使用已有标准的新概念。
2005年由美国人Jesse James Garrett推广,并取名。神奇的是,这哥们并不是搞程序的,而是搞设计的,是交互设计大师、用户体验大师。甚至是个优秀建筑设计师。
在 2005 年,Google 通过其Google Suggest 使 AJAX 变得流行起来。在今天,很少有哪个网站不使用Ajax技术
Ajax技术对智能手机支持非常好。Ajax中字母x表示XML,实际上XML已经过时,现在的公司,几乎全都在使用JSON代替XML。所以理论上讲,应该称呼为Ajaj,不过,呃,这个词儿,长得好难看。
AJAX 是一个什么东西
在不刷新页面的情况下,浏览器悄悄地、异步地向服务器发出HTTP请求。服务器收到请求后,传回新的格式化数据回来(通常是JSON)。浏览器解析JSON,通过DOM将新数据呈递显示,页面仅局部刷新。

服务器与客户端
服务器和客户端说白了,都是电脑
服务器:能够提供某种服务的机器(计算机)
客户端:具有向服务器索取服务能力的终端
服务器类型:
   a、按服务类型可分为:文件服务器、数据库服务器、邮件服务器、Web 服务器等;
   b、按操作系统可分为:Linux服务器、Windows服务器等
   c、按应用软件可分为 Apache服务器、Nginx 服务器、IIS服务器、Tomcat服务器、Node服务器等
服务器软件
   定义:使计算机具备提供某种服务能力的应用软件,称为服务器软件,
   通过安装相应的服务软件,然后进行配置后就可以使计算具备了提供某种服务的能力。
   常见的服务器软件:
   a、文件服务器:Server-U、FileZilla、VsFTP等
   b、数据库服务器:Oracle、MySQL、PostgreSQL、MSSQL
   c、邮件服务器:Postfix、Sendmail
   d、HTTP 服务器:Apache、Nginx、IIS、Tomcat、NodeJS

网络相关概念
什么是IP地址,如何查看IP
   所谓IP地址就是给每个连接在互联网上的主机分配的一个32位地址。
   查看本机的IP: ipconfig 或者ipconfig -all
   查看域名的IP: ping
域名
   由于IP地址是基于数字,不方便记忆,于是便用域名来代替IP地址,
   说百了,域名就是方便IP的的别名,替代品
DNS以及查找的规则
   记录了 IP 地址和域名的映射(对应)关系。
   查找优先级 本机hosts文件、DNS服务器
端口
   端口是计算机与外界通讯交流的出口,每个端口对应不同的服务。
   说白了就是服务所对应的出口。
一个域名可以对应多个IP但是一个IP只能对应一个域名

通信协议
常见的通信协议
   a、HTTP、HTTPS 超文本传输协议   ----  默认http是80端口,https是443端口
   b、FTP 文件传输协议 ---- 默认是 21 端口
   c、SMTP 简单邮件传输协议  ---- 默认是 25 端口
HTTP协议
   即超文本传输协议,网站是基于HTTP协议的。
   HTTP协议是由从客户机到服务器的请求(Request)和从服务器到客户机的响应(Response)进行了约束和规范。
   即HTTP协议主要由请求和响应构成。
HTTPS协议
   以安全为目标的HTTP通道,简单讲是HTTP的安全版。
   即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。
   SSL即安全套接层,是为网络通信提供安全及数据完整性的一种安全协议。
   详细了解:百度百科(https://baike.baidu.com/
C/S 和 B/S --- 网络结构模式
   C/S --- 客户机和服务器模式 --- 例如QQ、迅雷
   B/S --- 浏览器和服务器模式 --- 例如OA、网页版QQ、网页版263邮箱
   但要注意:
   B/S是基于特定通信协议(HTTP)的C/S架构,也就是说B/S包含在C/S中,是特殊的C/S架构。
   B/S属于C/S,浏览器只是特殊的客户端,本质上开发浏览器,还是实现一个C/S系统。
   详细了解:百度百科(https://baike.baidu.com/

服务器环境wamp安装
如果wamp没有安装成功的,按照如下方式安装PHPStudy
配置访问权限
1. 安装位置 -- C:\wamp\bin\apache\Apache2.4.4\conf\httpd.conf
2. 搜索Deny(268行) ,将 Deny 改成 Allow
配置网站根路径
1. 240行和241行,改成自己根目录的位置

虚拟主机配置
1. 安装位置 -- C:\wamp\bin\apache\Apache2.4.4\conf\httpd.conf
2. 搜索hosts(499行),去掉下一行(500行)的 “ # ”
3.C:\wamp\bin\apache\Apache2.4.4\conf\extra\httpd-vhosts.conf
4. 配置网站根目录
5. 更改hosts,映射到本地

静态网站
1. 全部由HTML(标准通用标记语言的子集)代码格式页面组成的网站,所有的内容包含在网页文件中。
   一般文件名均以htm、html、shtml等为后缀。
2. 优点:
    a、静态网页的内容相对稳定,因此容易被搜索引擎检索
3. 缺点:
    a、没有数据库的支持,在网站制作和维护方面工作量较大
    b、静态网页的交互性较差,在功能方面有较大的限制 。

动态网站
1. 动态网站并不是指具有动画功能的网站,而是指网站内容可根据不同情况动态变更的网站,
   一般情况下动态网站通过数据库进行架构。
   一般动态网站体现在网页一般是以asp,jsp,php,aspx等结尾。
2. 优点:
     a、动态网页以数据库技术为基础,可以大大降低网站维护的工作量。
     b、交互能力强,网页会根据用户的要求和选择而动态改变和响应。
     c、维护方便,即无需手动操作,便会自动生成新的页面
3. 缺点
    a、动态网页中的“?”对搜索引擎检索存在一定的问题,
       因此采用动态网页的网站在进行搜索引擎推广时需要做一定的技术处理才能适应搜索引擎的要求

初识php
1. 所有的PHP相关的代码都要写在<?php … ?>里面。
   echo 的作用就是像页面当中输入字符串
2. PHP 文件的默认文件扩展名是 ".php"。
3. PHP脚本在服务器上执行。AJAX也是,
   所有咱们现在写代码都要放在Apache服务器下打开
4. PHP 语句以分号结尾(;)

php基础语法----变量声明与字符串拼接
1. PHP中定义变量使用的 $ 操作符;
2. PHP中的的字符拼接使用的“ . ”;
3. PHP中的单引号把包含在其中的变量当做普通的字符串来处理
   PHP中的双印号把包含在其中的变量当做变量解析成变量值
4. 所有用户定义的函数、类和关键词(例如 if、else、echo 等等)都对大小写不敏感
   【但是PHP所有变量对大小写敏感】
5. PHP的变量声明以及变量名的规则
   a、变量以 $ 符号开头,其后是变量的名称
   b、变量名称必须以字母或下划线开头
   c、变量名称不能以数字开头
   d、变量名称只能包含字母数字字符和下划线(A-z、0-9 以及 _)
   e、变量名称对大小写敏感($y 与 $Y 是两个不同的变量)
[PHP] 纯文本查看 复制代码
 <?php 
        /**
         *@author 传智播客
         */
        /*
        要点:
        1.变量声明;
        2.字符串拼接
        3.单引号与双引号的差异
        */
        // php的变量声明,变量名的规则:由字符数字下划线组成并且不可以以数字开始,变量名对大小写是敏感的
        // php当中的字符串拼接用的是.

        // 单引号对于其中的变量当作普通的字符串来处理
        // 双引号对于其中的变量会把变量解析成变量值
        $num = 1234;
        $Num = 123;
        // echo '<div>编号为:'.$num.'</div>';
        // echo '<div>编号为:$num</div>';
        echo "<div>编号为:$num - $Num</div>";
        // --------------------------------------------
        // 1. 所有的php相关的代码都要写到这里面
        // 2. echo 的作用就是向页面当中输出字符串
        echo '<div>Hello World!</div>';
    ?>

php基础语法---- 数组
1. echo --- 输出简单数据类型,如字符串、数值
2. print_r() --- 输出复杂数据类型,如数组
3. var_dump() --- 输出详细信息,如对象、数组
[PHP] 纯文本查看 复制代码
        <?php 
                /**
                 *@author 传智播客
                 */
        /*
        数组的两种形式
        1. $arr = array(1,2,3);默认key是从0开始的整数
        2. $arr = array("a"=>"1","b"=>"2","c"=>"3");
        */
        // $arr = array(1,2,3,4,5);
        // $arr = array("hello","hi");
        // // print_r($arr);//Array ( [0] => hello [1] => hi )
        // echo $arr[0];
        // echo '<br>';
        // echo $arr[1];
        // echo '<br>';

        // $arr1 = array("username"=>"zhangsan","age"=>"12","sex"=>"male");
        // print_r($arr1);//Array ( [username] => zhangsan [age] => 12 [sex] => male )
        // echo '<br>';
        // echo $arr1['username'];

        // echo '<br>';
        // var_dump($arr1);
        // -----------------------------------------------------
        // 二维数组
        // $arr = array();
        // $arr[0] = array(11,22,33);
        // $arr[1] = array(44,55,66);
        // $arr[2] = array(77,88,99);
        // print_r($arr);
        // Array ( 
        // [0] => Array ( [0] => 11 [1] => 22 [2] => 33 ) 
        // [1] => Array ( [0] => 44 [1] => 55 [2] => 66 ) 
        // [2] => Array ( [0] => 77 [1] => 88 [2] => 99 ) )

        $arr = array(123);
        $arr['apple'] = array('color'=>'red','shape'=>'round');
        $arr['orange'] = array('color'=>'orange','shape'=>'round');
        $arr['banana'] = array('color'=>'yellow','shape'=>'long');
        print_r($arr);
        // Array ( 
        // [apple] => Array ( [color] => red [shape] => round ) 
        // [orange] => Array ( [color] => orange [shape] => round ) 
        // [banana] => Array ( [color] => yellow [shape] => long ) )
         ?>
php基础语法---- 数据类型与数组遍历
1. php的数据类型与JavaScript的数据类型是类似的,都是弱类型语言
2. gettype() 内置函数,用来判断变量的类型
3. count()是内置函数,用来计算数组的长度
[PHP] 纯文本查看 复制代码
    <?php
    /**
         *@author 传智播客
         */
    // php的数据类型与JavaScript的数据类型是类似的,都是弱类型语言
    // gettype() 内置函数,用来判断变量的类型
    // $num = 123;
    // $float = 1.2;
    // $str = 'hello';
    // $flag = true;
    // $v=NULL;
    // $arr = array(1,2,3);

    // echo gettype($num);
    // echo '<br>';
    // echo gettype($float);
    // echo '<br>';
    // echo gettype($str);
    // echo '<br>';
    // echo gettype($flag);
    // echo '<br>';
    // // echo gettype($v);
    // echo $v;
    // echo '<br>';
    // echo gettype($arr);

    // ----------------------------------------
    // count()是内置函数,用来计算数组的长度
    // $arr = array(123,456,789);
    // for($i=0;$i<count($arr);$i++){
    //     echo $arr[$i].'<br>';//这里的分号不可以省略,而js中的结尾分号可以省略,但是推荐加上分号。
    // }
    // foreach($arr as $value){
    //     echo $value.'-----<br>';
    // }

    $arr = array("username"=>"zhangsan","age"=>"12");
    foreach($arr as $key => $value){
        echo $key.'===='.$value.'<br>';
    }

     ?>
如果你想了解更多黑马课程请点击这里,如果你想加入黑马这个大家庭学习先进技术,广交天下好友!
黑马程序员济南中心联系电话:0531-55696830

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马