什么是请求和响应
如下图所示,我们用自己的电脑,通过浏览器【火狐、ie、chrome等浏览器】在地址栏输入自己想要访问的网站url,回车之后便能看到该网址展示的内容。这个过程就包含了目标网址的请求,远程服务器的请求处理和内容返回,浏览器收到返回内容进行展示。
请求url组成
例如:http://www.dtest.com/learnyii/requirements.php【我本机配置的web服务】或者https://www.yiichina.com/doc/guide/2.0/start-workflow
url包含:
- 协议【http/https等】
- ip/域名【/www.dtest.com】端口【80/8080等,默认80可以省略】
- uri【/learnyii/requirements.php】
网络中每一台电脑都有ip地址,如同人的身份证,能够唯一定位到这台电脑。uri则是资源路径,定位了这台电脑,再加上这个资源路径,就能找到这个资源,并将资源返回给我们的电脑。但是ip地址很难记忆,于是有了域名,一个域名对应一个ip,这个对应关系存储在一台服务器上,这个服务器被命名为dns服务器,这台服务器的任务就是解析域名为其对应的ip地址,请求是通过ip地址寻址到对应电脑的。
具体请求了什么,返回了什么
Request Headers
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8
Connection: keep-alive
Host: www.dtest.com
Referer: http://www.dtest.com/learnyii/
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.3
请求头携带了:可以接收的内容格式,编码,语言,连接状态,请求主机,我来自的上一个页面地址,使用的什么浏览器。
Response Headers
Connection: keep-alive
Content-Type: text/html; charset=UTF-8
Date: Fri, 15 Mar 2019 02:58:12 GMT
Server: nginx/1.15.9
Transfer-Encoding: chunked
X-Powered-By: PHP/7.2.15
响应头包含了连接状态,返回的内容类型和编码,服务端处理请求的软件和版本等
响应体
Yii Application Requirement Checker