青风百里

PHP http请求
一.请求GET / HTTP/1.1 Host: localhost:8080 Accept: text/html...
扫描右侧二维码阅读全文
23
2018/09

PHP http请求

一.请求

GET / HTTP/1.1
Host: localhost:8080
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Connection: keep-alive
Accept-Language: zh-cn
Accept-Encoding: gzip, deflate
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_4) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/11.1 Safari/605.1.15
Referer: http://localhost:8080/test.php

请求行

  • GET / HTTP/1.1 表示使用GET方式,协议版本是1.1,以及请求的页面

多个消息头

  • Host: localhost:8080 表示我要找哪个主机以及端口(默认是80端口)
  • Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8 表示客户端可以接受的资源类型
  • Connection: keep-alive 长连接
  • Accept-Language: zh-cn 表示支持的语言
  • Accept-Encoding: gzip, deflate 表示浏览器接受什么样的数据压缩格式
  • Upgrade-Insecure-Requests: 1
  • User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_4) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/11.1 Safari/605.1.15 告诉服务器我的浏览器内核以及操作系统是什么
  • Referer: http://localhost:8080/test.php 表示从哪里点进来的

  • $_SERVER全局数组
array(23) {
  ["DOCUMENT_ROOT"]=>
  string(23) "/Users/pengyunshuai/PHP"
  ["REMOTE_ADDR"]=>
  string(9) "127.0.0.1"
  ["REMOTE_PORT"]=>
  string(5) "55588"
  ["SERVER_SOFTWARE"]=>
  string(29) "PHP 7.1.14 Development Server"
  ["SERVER_PROTOCOL"]=>
  string(8) "HTTP/1.1"
  ["SERVER_NAME"]=>
  string(9) "localhost"
  ["SERVER_PORT"]=>
  string(4) "8080"
  ["REQUEST_URI"]=>
  string(9) "/test.php"
  ["REQUEST_METHOD"]=>
  string(3) "GET"
  ["SCRIPT_NAME"]=>
  string(9) "/test.php"
  ["SCRIPT_FILENAME"]=>
  string(32) "/Users/pengyunshuai/PHP/test.php"
  ["PHP_SELF"]=>
  string(9) "/test.php"
  ["HTTP_HOST"]=>
  string(14) "localhost:8080"
  ["HTTP_UPGRADE_INSECURE_REQUESTS"]=>
  string(1) "1"
  ["HTTP_ACCEPT"]=>
  string(63) "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
  ["HTTP_USER_AGENT"]=>
  string(117) "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_4) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/11.1 Safari/605.1.15"
  ["HTTP_ACCEPT_LANGUAGE"]=>
  string(5) "zh-cn"
  ["HTTP_ACCEPT_ENCODING"]=>
  string(13) "gzip, deflate"
  ["HTTP_CONNECTION"]=>
  string(10) "keep-alive"
  ["REQUEST_TIME_FLOAT"]=>
  float(1537676722.1443)
  ["REQUEST_TIME"]=>
  int(1537676722)
  ["argv"]=>
  array(0) {
  }
  ["argc"]=>
  int(0)
}

二.http请求的细节

  • 请求的方式有GET, POST, HEAD, OPTION, DELETE, TRACE, PUT, 常用的是GET和POST

GET和POST的区别

  • 安全性

    • GET的数据放在请求行中,POST的数据放在消息体
  • 数据大小限制

    • http协议本身并没有对GET和POST的数据大小做限制,是浏览器做了限制
  • GET利于收藏夹收藏
Last modification:September 23rd, 2018 at 01:23 pm

Leave a Comment