PHP中的http協議


PHP中的http協議

 

http協議基本組成


報文:用於Http協議交互的信息

請求行:包括請求的方法,URL和HTTP協議版本

狀態行:包括響應結果的狀態碼,狀態描述和Http版本

首部字段:包括請求和響應的各種條件和屬性值(鍵值對)

 


 下面通過一個實例來進行演示:

在localhost目錄下建立index.php

<?php
    echo "Http demo";
?>

  接下來,在瀏覽器中打開localhost


 


一共三部分信息。

 

telnet模擬Http請求

1. cmd下->telnet主機地址 80

2. 按下快捷鍵:ctrl+"]" 再按下回車鍵 打開回顯功能

3. 發送請求報文

 

'telnet' 不是內部或外部命令,也不是可運行的程序,解決方法:控制面板 -> 程序 -> 打開或關閉Windows功能 -> 勾選Telnet客戶端 -> 確定。Win + R打開cmd窗口,輸入以下命令。

C:\Users\ThinkPad>telnet 127.0.0.1 80

接着回車后按下Ctrl + ] 打開回顯功能,然后再按回車鍵。


輸入請求行后回車。


 分析內容含義:

GET(請求方法) /index.php(請求URL) HTTP/1.1(http協議版本)----->請求行
Host:localhost(請求首部)
(空行)
響應內容:
HTTP/1.1 200(響應結果狀態碼) OK(狀態描述)
Date: Sun, 12 Mar 2017 13:25:07 GMT
Server: Apache/2.4.4 (Win32) OpenSSL/1.0.1e PHP/5.5.3
X-Powered-By: PHP/5.5.3
Content-Length: 14
Content-Type: text/html
(空行)
鍩縣ttp demo

 修改index.php內容如下:

<?php
    //echo "Http demo";
    $str = implode($_POST,"\n");
    echo $str;
?>

  在環境變量的系統變量path屬性中添加C:\Windows\System32;即可滿足cmd粘貼功能。

下面演示POST請求:


 

 

POST /index.php HTTP/1.1(請求行)

HOST:localhost
Content-type:application/x-www-form-urlencoded(首部)
content-length:20(下面是空格)

act=query&name=ghostHTTP/1.1 200 OK
Date: Sun, 12 Mar 2017 14:10:51 GMT
Server: Apache/2.4.4 (Win32) OpenSSL/1.0.1e PHP/5.5.3
X-Powered-By: PHP/5.5.3
Content-Length: 16
Content-Type: text/html

鍩縬uery
ghost

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM