php header请求重写的一个问题
同事叫我帮忙解释一个问题:一个PHP生成的重定向请求,在Nginx日志里产生两种截然不同的记录,一种响应体大小是零个字节,另一种响应体大小是五个字节.
现在年纪大了,面对问题时的嗅觉不再灵敏,第一感觉零是正确的,心想是不是重定向后忘记退出了,后面还有内容输出,可是查了一下代码发现没有问题,代码如下:
<?php header('Location: /path'); exit;
ログイン後にコピー
在绕了一大圈之后,我猛然意识到环境是Nginx+PHP,响应没有「Content-Length」,数据是通过「Transfer-Encoding」分块发送的,所以重定向的空响应体实际类似:
0\r\n\r\n
不多不少,正好五个字节,细节大家可以参考Chunked transfer encoding,如此看来在此类空响应体的情况下,PHP主动输出一个「Content-Length:0」说不定会更好些.
那零个字节的响应如何解释呢?查询日志发现如下两种情况:
HEAD “/path HTTP/1.1″ 302 0
GET “/path HTTP/1.0″ 302 0
前者是HEAD请求,不需要响应体,后者是HTTP/1.0,不支持「Transfer-Encoding」.
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事
アサシンのクリードシャドウズ:シーシェルリドルソリューション
3週間前
By DDD
Windows11 KB5054979の新しいものと更新の問題を修正する方法
2週間前
By DDD
Atomfallのクレーンコントロールキーカードを見つける場所
3週間前
By DDD
アサシンクリードシャドウ - 鍛冶屋を見つけて武器と鎧のカスタマイズを解除する方法
1 か月前
By DDD
<🎜>:Dead Rails-すべての課題を完了する方法
3週間前
By DDD

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック
Gmailメールのログイン入り口はどこですか?
7613
15


CakePHP チュートリアル
1387
52


Steamのアカウント名の形式は何ですか
88
11


NYTの接続はヒントと回答です
29
136

