PDA

View Full Version : مشکل در ارسال 2 هدر



trasilver
یک شنبه 17 فروردین 1393, 07:47 صبح
سلام خدمت عزیزان.

دوستان گلم من این دو هدر رو میذارم دیگه پیج باز نمیشه! :لبخند:


header("Transfer-Encoding: chunked");
header("Content-Encoding: gzip");

یعنی مشکلش چی می تونه باشه؟ :متعجب::متعجب::لبخند::قلب:

سوداگر
یک شنبه 17 فروردین 1393, 08:05 صبح
برای چند هدر باید به هدرهای دوم به بعد یک پارامتر false هم اضافه کنید:

header("Content-Encoding: gzip", false);

دلیلش هم در تعریف تابع header هست
header(string,replace,http_response_code)پارا تر دوم (replace) به طور پیشفرض(اگه پارامتری ارسال نکنید) true در نظر گرفته میشه و اجازه فراخوانی دوباره متد header رو نمیده و Error تولید میکنه

ضمنا این دستور باید قبل از هر دستوری باشد که به نحوی خروجی تولید میکند مثل نوشتن روی فایل.
منبع:http://www.php.net/manual/en/function.header.php
http://www.w3schools.com/Php/func_http_header.asp

trasilver
یک شنبه 17 فروردین 1393, 08:18 صبح
دقیقا هدر هارو بعد از کلاس بندی ها و قبل از خروجی html قرار دادم.
با پارامتر false هم نیز درست نشد.
تو لینک داده شده قبلش زیاد نگاه کردم متاسفانه به جواب نرسیدم :لبخند:

eshpilen
یک شنبه 17 فروردین 1393, 08:40 صبح
هدر chunked رو واسه چی گذاشتی؟
بطور معمول نیازی نیست و اگر هم بذاری بعدش باید طول هر chunk رو هم ارسال کنی به روش خاصی.
احتمالا همون مشکل رو ایجاد کرده.
ضمنا gzip هم باز ممکنه مشکل ایجاد کنه، چون فکر کنم فقط با ارسال این هدر خروجی فشرده نمیشه و باید کارهای دیگری هم انجام بشه.

trasilver
یک شنبه 17 فروردین 1393, 08:59 صبح
هدر chunked رو واسه چی گذاشتی؟
بطور معمول نیازی نیست و اگر هم بذاری بعدش باید طول هر chunk رو هم ارسال کنی به روش خاصی.
احتمالا همون مشکل رو ایجاد کرده.
ضمنا gzip هم باز ممکنه مشکل ایجاد کنه، چون فکر کنم فقط با ارسال این هدر خروجی فشرده نمیشه و باید کارهای دیگری هم انجام بشه.
همین جوری گفتم بذارم تنوعی باشه توی هدر های اسکریپت :لبخند::لبخند:
پس یعنی بی خیالش بشم؟ البته از ob_strat قبل از این هدر ها استفاده کردم! ممکنه از اون باشه؟ و البته بعد از هدر ها از ob_end_flush هم استفاده شده.

MMSHFE
یک شنبه 17 فروردین 1393, 09:00 صبح
وقتی از هدر gzip استفاده میکنید، محتوا رو هم باید با gzip فشرده کنید.

trasilver
یک شنبه 17 فروردین 1393, 09:08 صبح
وقتی از هدر gzip استفاده میکنید، محتوا رو هم باید با gzip فشرده کنید.
با استفاده از htaccess فایل های php,js,html,css رو با gzip فشرده کردم. چیز دیگه ای هم لازمه؟
البته مرورگر این ارور رو میده:
Error code: ERR_CONTENT_DECODING_FAILED

trasilver
یک شنبه 17 فروردین 1393, 09:20 صبح
دوستان طبق بررسی که کردم توی لوکال هاستم کد زیر مقدار false رو بر می گردونه.


@ob_start( array( "ob_gzhandler", 9 ) )

اگه بشه کاری کرد مقدار true بده به احتمال 95% هدر gzip هم درست بشه :لبخند: