瀏覽器端發送的信息
**http請求:**
請求行
消息頭
消息體(實體內容,發送的數據)
accept:可以接收什么類型 的數據
referer:請求從哪兒來的
accpt-langage:瀏覽器可以接收什么語言
user-agent:告訴服務器我的系統信息
accpet-encodeing:表示接收什么樣的數據壓縮格式
host: 80 主機:端口
~~~
GET /1.php HTTP/1.1 //請求頭:get為請求的方法,請求資源:www.php.com /1.php
Accept: text/html, application/xhtml+xml, */* //客戶端可以接受什么類型的信息 */*任何數據類型
referer:.................................//表名這個頁面是從哪兒來的,根據值可以進行對應操作
X-HttpWatch-RID: 18845-10009
Accept-Language: zh-CN //接受的語言
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko //告訴服務器瀏覽器操作系統信息
Accept-Encoding: gzip, deflate //支持什么樣的壓縮形式,數據發送的時候壓縮,節省帶寬
Host: www.php.com //請求的主機
DNT: 1
Connection: Keep-Alive //這是個長連接
~~~
瀏覽器接收的信息
~~~
HTTP/1.1 200 OK
Date: Sun, 16 Oct 2016 05:43:30 GMT
Server: Apache/2.4.10 (Win32) OpenSSL/0.9.8zb PHP/5.3.29
X-Powered-By: PHP/5.3.29
Content-Length: 24
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html
//以上是為了告訴瀏覽器如何展示信息,在瀏覽器里面是不會輸出的
<meta charset='utf-8'>80
~~~


## 獲取發送的信息:$_SERVER
~~~
foreach ($_SERVER as $key => $value) {
echo $key."=".$value."<br/>";
}
~~~
服務器二次封裝后,加入新的內容
輸出的信息:
~~~
HTTP_ACCEPT=text/html, application/xhtml+xml, */*
HTTP_X_HTTPWATCH_RID=18845-10130
HTTP_ACCEPT_LANGUAGE=zh-CN
HTTP_USER_AGENT=Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko
HTTP_ACCEPT_ENCODING=gzip, deflate
HTTP_HOST=www.php.com
HTTP_DNT=1
HTTP_CONNECTION=Keep-Alive
PATH=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Common Files\microsoft shared\TigerKin;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files (x86)\Common Files\microsoft shared\TigerKin;d:\soft\less;C:\Program Files\nodejs\;
SystemRoot=C:\Windows
COMSPEC=C:\Windows\system32\cmd.exe
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
WINDIR=C:\Windows
SERVER_SIGNATURE=
SERVER_SOFTWARE=Apache/2.4.10 (Win32) OpenSSL/0.9.8zb PHP/5.3.29
SERVER_NAME=www.php.com
SERVER_ADDR=127.0.0.1
SERVER_PORT=80
REMOTE_ADDR=127.0.0.1
DOCUMENT_ROOT=D:/www/php
REQUEST_SCHEME=http
CONTEXT_PREFIX=
CONTEXT_DOCUMENT_ROOT=D:/www/php
SERVER_ADMIN=admin@phpStudy.net
SCRIPT_FILENAME=D:/www/php/1.php
REMOTE_PORT=52088
GATEWAY_INTERFACE=CGI/1.1
SERVER_PROTOCOL=HTTP/1.1
REQUEST_METHOD=GET
QUERY_STRING=
REQUEST_URI=/1.php
SCRIPT_NAME=/1.php
PHP_SELF=/1.php
REQUEST_TIME=1476601120
~~~
在服務器端,通過預定義數組$_SERVER,獲取指定信息
常用:
端口號:SERVER_PORT
客戶端IP:REMOTE_ADDR
apache主目錄:DOCUMENT_ROOT
從哪個頁面來的:HTTP_REFERER
主機名:HTTP_ROOT
請求串:REQUEST_URI 獲取請求的資源名
瀏覽器:HTTP_USER_AGENT
PHP版本:SERVER_SOFTWARE
## 請求種類:
post
get
head
options
delete
trace
put
post和get區別
1. 安全性
get會顯示在地址欄
post放在http協議的消息體里面
2. 從提交數據大小來看
http協議沒有限制,但是瀏覽器有限制,get數據是2k+35,post請求沒有限制
3. get請求添加到收藏夾更方便