zoukankan      html  css  js  c++  java
  • 服务器 4

    复习:

    基于单表的CRUD操作:

      $cid = $_REQUEST['cid'];

      $conn = mysqli_connect();

      $sql = "DDL/DML/DQL";

      $result = mysqli_query($conn, $sql);

      //DML:  false / true

      //DQL:  false / 结果集描述对象

      $row = mysqli_fetch_row($result)

      $row = mysqli_fetch_assoc($result)

      $list = mysqli_fetch_all($result, MYSQLI_ASSOC)

    练习:                  

    (1)编写SQL:jd.sql,数据库名jd,表名udisk(uid, pic, uname, price, addedTime ),添加四条测试记录     <5min

    (2)编写PHP:udisk_add.php,接收客户端提交的pic, uname, price,添加到数据库    提示: PHP函数time()返回系统时间    

    (3)编写HTML:udisk_add.html,提供一个表单,实现U盘添加

    (4)编写PHP:udisk_select.php,在DIV列表中显示出所有的U盘

    (5)编写PHP:udisk_delete.php,接收客户端提交的uid,实现记录删除

    (6)修改PHP:udisk_select.php,每个U盘右上角添加删除标记,点击后提交给udisk_delete.php,实现删除

    今日目标:

    (1)HTTP协议详解 —— 重点

    1.补充:PHP常用函数

      require('x.php')   在当前位置包含指定文件中的内容

    2.HTTP协议

      超文本传输协议,用于规定客户端浏览器和Web服务器传输数据的格式。HTTP/1.1 - RFC2616

      HTTP协议规定两种消息的格式:

      (1)请求消息(request):客户端发给服务器的消息

          

      (2)响应消息(response):服务器发给客户端的消息

          

    午间练习:翻译请求消息/响应消息中不认识的单词!!

    面试题:常见的HTTP请求方法有哪些?各表示客户端的何种意图?

    GET/POST/PUT/DELETE/HEAD/CONNECT/TRACE/OPTIONS

    GET请求和POST请求的比较

    GET

    POST

    如何发起

    浏览器中输入URL回车、超链接跳转、JS跳转、SRC/HREF属性请求、GET方式提交表单、AJAX-GET

    POST方式提交表单、AJAX-POST

    请求数据的位置

    追加在URI后,作为查询字符串,以?开头

    放在请求主体中

    请求数据的类型

    只能是文本字符

    可以是任意类型,如包含图片、视频等

    能否用于上传文件

    请求数据长度限制

    有,浏览器/服务器对请求URI长度有限制(如1KB、4KB等)

    请求主体没有长度限制!

    请求数据需编码?

    需要!一个UTF-8汉字编码为9个字节

    需要!一个UTF-8汉字编码为9个字节

    表达的语义

    表客户端想获取

    表客户端想传递

    实现了国际化的网页:  internationalization  I18N

     

    今日重点:

           (1)请求消息中的请求方法——八种

           (2)响应消息中的响应状态码——五类

           (3)请求消息主体的内容类型 和 响应消息主体的内容类型 区别

     

    3.如何精准的描述一段数据的内容类型

      不要使用后缀名!!—— 太杂乱、不可靠

          .html、.xhtml、.htm

           .jpg、.jpeg

           .mp3、.mpeg3

           ....

      可以借鉴MIME中定义的文件类型名称:

           text/html

           text/css

           application/javascript

           ...

    MIME: (Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型。是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。

    4.如何修改响应消息的头部

      (1)修改Web服务器的配置文件

          比较复杂,有些情况下无法修改,如新浪云服务器

      (2)若响应文件是HTML,则可以声明<meta http-equiv="响应头部">

           仅适用于HTML文件,且只是“等价物”,并非真正的响应头部

      (3)使用动态语言代码来控制响应消息头部

           如PHP:  //设置一个响应消息头部

                  header('Cache-Control: no-cache'); 

                  header('Content-Type: image/png');

    5.面试题:根据HTTP协议的知识进行网站访问优化 有哪些方案?

    (1)域名解析

        尽可能减少域名解析次数——减少跨站外部资源的引用

    (2)创建连接

        努力减少连接创建次数——启用持久连接避免重复连接

    (3)发送请求

        尽力减少请求次数——合理设置缓存、资源合并

    (4)等待响应

        提高服务器端运行速度——提高数据运算及查询速度

    (5)接收响应

        尽可能减小响应数据长度——启用压缩

    课下练习:

    (1)百度:如何用PHP接收客户端上传的文件。

    (2)实现完整的“用户管理系统”

    主要功能:

    (1)新用户注册

    (2)用户登录

    (3)浏览所有用户

    (4)用户删除

    实现步骤:

    (1)编写SQL:jd.sql,表jd_user( uid, uname, upwd, headPic, regTime, loginCount )

    (2)编写PHP:user_add.php,接收客户端提交的uname, upwd, headPic,把新用户信息添加到数据库,新用户的注册时间就是服务器当前系统时间,登录次数默认为0

    (3)编写HTML: user_add.html,提供注册表单,辅助用户提交注册信息,提交给服务器端PHP页面实现用户注册

    (4)编写PHP:user_login.php,接收客户端提交的uname和upwd,验证用户名和密码是否正确,若正确,则修改登录次数实现+1,向客户端返回“登录成功”;否则向客户端返回“用户名或密码错误”

           SELECT * FROM jd_user WHERE uname='?' AND upwd='?'

           UPDATE jd_user SET loginCount=loginCount+1 WHERE uid=?

    (5)编写HTML:user_login.html, 提供登录表单,辅助用户提交登录信息,提交给服务器端PHP页面实现用户登录

    (6)编写PHP:user_select.php,在TABLE中列出所有的用户信息

    (7)编写PHP:user_delete.php,接收客户端提交的uid,从数据库中删除指定的用户

    (8)修改PHP:user_select.php,在TABLE中添加“操作”列,为每个用户添加一个“删除”按钮,点击后实现用户删除

  • 相关阅读:
    windows环境下Node.js 和npm(Node Package Manager)的安装
    WiX初阶指导
    Selenium实战——.Net下的自动化测试搭建
    spring boot Websocket(使用笔记)
    【原创】XNA 4.0学习笔记索引
    【原创】XNA 4.0学习知识记录(1)
    【总结】Asp.Net MVC 知识点汇总
    【总结】Asp.net MVC1.0 学习笔记索引
    JPype python调用Java
    比较:Java和python
  • 原文地址:https://www.cnblogs.com/Hale-Proh/p/7199785.html
Copyright © 2011-2022 走看看