even

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

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'));
?>

 

posted on 2019-04-13 08:00  even_blogs  阅读(435)  评论(0编辑  收藏  举报