HyperText Transfer Protocol 超文本传输协议 -->用于传输HTML等内容的应用层协议,规定了浏览器和服务器之间如何通信和通信时的数据格式
HTTP-浏览器和服务器通信步骤:
- 建立TCP连接
- 发送HTTP报文(请求报文)
GET / HTTP/1.1 //方法,路径,协议类型 Host: developer.mozilla.org//请求头:请求域名 Accept-Language: fr//请求头:语言 ...//这里是请求体
- 读取服务器返回的报文(响应报文)
HTTP/1.1 200 OK //状态行:协议版本 状态码/状态码 Date: Sat, 09 Oct 2010 14:28:02 GMT Server: Apache Last-Modified: Tue, 01 Dec 2009 20:18:22 GMT ETag: "51142bc1-7449-479b075b2891b" Accept-Ranges: bytes Content-Length: 29769 Content-Type: text/html //响应头:服务器相关消息 <!DOCTYPE html... (here comes the 29769 bytes of the requested web page)//业务数据
- 关闭连接或为后续请求重用连接
问题:为何一个网页刷新有多次请求-->网页依赖多种资源造成的
解释:服务器向浏览器返回HTML文件后发现该网页代码中还需要引用了很多比如js,css,图片等资源,因此需要想服务器发送请求以加载这些资源。我们重点关注第一个返回网页的请求,如果网页没问题其他的请求问题不大。