1. HTTP介绍
超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个简单的请求-响应协议。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。
就是一种通信协议规则/约定
2. 网络请求
客户端与服务器之间的一次通信, 我们称之为网络请求。我们现阶段主要学习的就是利用 AJAX
技术实现网络请求,该网络请求是符合 HTTP
协议规则的。
我们通常将获取资源的一端称为客户端,将派发资源的一方称为服务端(又称为“服务器”)。客户端与服务端交互的主要工具就是浏览器。
2.1 请求报文和响应报文
请求头信息和响应头信息的一般包括以下内容:
Request Headers
请求首行 请求方式 请求地址 HTTP协议
请求头部 键值对
空行 用来分隔请求头和请求体的
请求体 GET没有请求体,POST有请求体
Response Headers
响应首行 HTTP协议 HTTP状态码 状态码描述
响应头部 键值对
空行
响应体 返回的数据信息
2.2 控制台查看网络请求
当我们在浏览器的地址栏键入一个网址时,实际上我们就发出了一个 GET 请求,去请求当前网址对应的主机文件,例如我们访问 https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js 这个地址,就相当于访问了 cdn.bootcdn.net 对应的服务器上分享的 jQ 文件,它的页面上显示的就是该文件的内容。或者我们访问 百度一下,你就知道 这个地址,页面内显示的百度的主页。
你可以通过打开 F12 来查看网络请求:
通过上图你可以发现我们发出了一个 GET 请求去请求百度服务器的 index.html 文件,然后拿到一段 html 代码,浏览器会解析这段代码,让它显示成页面。在 index.html 下方还有请求的其它内容如 img、css、js 等,它们被加载并执行,共同形成了我们看到的百度首页。
但是也有另一种情况,比如我们访问 https://www.baidu.com,你会发现它也显示的百度首页,但是在请求中却没有 index.html 文件,取而代之的时 www.baidu.com:
虽然名字不同,但是百度服务器返回的结果是一致的。这种现象是因为后端服务人员监听到了你的请求,然后给你返回了相关内容。
以上就是网址常见两种形式:
- 以文件名为结尾的网址,表示我们要获取的文件,浏览器会直接显示文件内容。
- 不带文件名的网址,这种形式我们统称为路由地址。后端开发者会监听这个路由地址,并为访问这个地址的人提供回馈信息。这是一种大众的网址形式。
2.3 查看通信报文详情
查看 AJAX 请求
查看请求详细信息
查看请求报文
查看响应报文