zoukankan      html  css  js  c++  java
  • http协议 以及 php 常用配置

    1、配置虚拟主机(以win下的apach为例)

    a、首先在C盘下找到C:/windows/system32/drivers/ect/hosts下进行配置域名

    b、配置apach服务器(正式的配置虚拟主机文件httpd-vhosts.conf)

    在 AllowOverride 设置为 None 时, .htaccess 文件将被完全忽略。当此指令设置为 All 时,所有具有 ".htaccess" 作用域的指令都允许出现在 .htaccess 文件中。

    2、HTTP请求

    浏览器连上服务器后,向服务器请求某个web资源,称之为浏览器向服务器发送了一个http请求。一个完整的http请求包括如下内容:

     一个请求行,若干消息请求头,实体内容

    消息头和实体内容都是可选的

     A、http 请求行

    请求行分成三个部份,分别由请求方式,请求的资源,HTTP的版本组成

    http的请求方式分别有:POST ,GET, HEAD,OPTIONS,DELETE,TRACE,PUT

    get 与 post的区别如下:

    a、前都在表单请求的时候,数据会放在地址栏里,而post会放在内容实体里面,所以就表单传输来讲,post方式相对安全

    b、get传输数据的大小取决于浏览器与操作系统,post数据理论上是没有限制大小的

    c、上传和下载文件一个一般不超过2M,如果大于2M可以通过专门的插件来做,并且上传文件一般用Post

    d、get 更容易进行收藏,并且表的传输默认是get请求,如果数据量比较小,一般用get

    e、如果是通过超链的方式,那么必需用get请求

     B、http 请求头

    $_SERVER可以获取到服务项的所有内容,如果想获取访问电脑的IP地址,可以用$_SERVER['REMOTE_ADDR']来获取

    以下案例是不允许指定Ip访问网站:

    <?php
    header('content-type:text/html;charset=utf8');
    ini_set('display_errors', true);
    $remote_addr = $_SERVER['REMOTE_ADDR'];
    if ($remote_addr = '' || strpos($remote_addr, '192.168') === 0) {
        echo '对不起,这个地址是拒绝访问的';
    } else {
        echo '有权限访问';
    }
    ?>

     防止网页盗链

    <?php
    header('content-type:text/html;charset=utf8');
    ini_set('display_errors', true);
    $referer = $_SERVER['HTTP_REFERER'] || '';
    if ($referer != '' && strpos($referer, 'http://www.baidu.com') === 0) {
        echo '这个是正规途径';
    }else{
        echo '不能访问';
    }
    ?>

     C、HTTP请求的状态码

    常用的状态码 : 200 =》成功,302 =》重定项,304 =》资源未修改,服务器说明本地的资源已是最新的了,403 =》禁止访问,即没有访问的权限,404 =》没有访问的资源 ,500 =》服务器错误。

     D、HTTP请求头的设置

     header('Location:abc.html')  => 告诉浏览器进行重定向到abc.html页面,会返回302码

     header('Refresh:5;url=abc.html') =>告诉浏览器5秒后跳转到abc.html页面

    <?php
    header('content-type:text/html;charset=utf8');
    header('Location:index.php');
    header('Refresh:5;url = index.php');
    ?>

    header('Content-type:application/json') => 以json形式的数据输出,通常用作ajax请求

    header('Access-Control-Allow-Origin:*'); // *代表允许任何网址请求

    header('Access-Control-Allow-Methods:POST,GET,OPTIONS,DELETE'); // 允许请求的类型

    header('Access-Control-Allow-Credentials: true'); // 设置是否允许发送 cookies

    header('Access-Control-Allow-Headers: Content-Type,Content-Length,Accept-Encoding,X-Requested-with, Origin'); // 设置允许自定义请求头的字段,如身份验证信息

    常用的下载配置

    //告诉浏览器我向你回应的内容是文件请保存
    //返回的文件
    header("Content-type: application/octet-stream");
    //按照字节大小返回
    header("Accept-Ranges: bytes");
    //显示文件大小
    header("Content-Length: {$filesize}");
    //这里客户端的弹出对话框,对应的文件名
    header("Content-Disposition: attachment; filename={$filename}");

     3、常用的php_ini配置

    <?php
    header('content-type:text/html;charset=utf-8');
    //是否打印错误
    ini_set('display_errors', true);
    //最大上传文件的大小
    var_dump(ini_get('upload_max_filesize'));
    //post最大的文件大小
    var_dump(ini_get('post_max_size'));
    //一次性上传的最大数量
    var_dump(ini_get('max_file_uploads'));
    //时区设置
    var_dump(ini_get('date.timezone'));
    ?>
  • 相关阅读:
    vim配置文件
    NGUI屏幕自适应解决方案
    配置java环境
    Ignore files which are already versioned
    Unity3D TestTool Part _1
    c# 语法
    Application.persistentDataPath 的一个小坑
    Unity3D Log 收集机制
    Android 问题流水总结
    Open Phone, SMS, Email, Skype and Browser apps of Android in Unity3d
  • 原文地址:https://www.cnblogs.com/rickyctbu/p/10699700.html
Copyright © 2011-2022 走看看