1.http协议定义了什么
(1).客户端和服务端的交互方式:以请求,响应方式交互 (永远都是客户端向服务端发送请求,永远都是服务端向客户端返回)
(2).客户端和服务端交互数据的格式
①请求时发送的报文称之为请求报文
②响应时返回的数据称之为响应报文
③报文有特定的格式:
报文首部 请求报文 响应报文
行 请求行 响应行
头 请求头 响应头
报文主体 请求体 响应体
(3).http长连接和短链接的问题
http 应用层协议 http/tcp/ip
tcp 传输层协议 面向连接的协议
短链接:客户端每次向服务端发送一个请求需要获取一个文件时都要经历三次握手和四次挥手的环节,假如需要请求100个图片那么需要经历一百次这样的过程,所以为了解决这个冗余的问题,使用长连接解决
长连接:只需在获取主体html文件时进行三次握手然后建立连接,最后所有资源获取完毕时在四次挥手断开连接,极大节省了资源
缓存:将已经获取过的图片保留在客户端,假如再次获取时就不需要跑去服务端请求,大大提高带宽和速率
ip 网络层协议
2.请求头报文格式
(1).请求首行(请求行):GET/POST 资源路径?参数 HTTP/1.1
(2).请求头信息(请求头)。
(3).空行;。
(4).请求体;
请求头信息:
-主机虚拟地址
Host: localhost:8080
-长连接
Connection: keep-alive
-请求协议的自动升级=http的请求,服务器却是https的,浏览器自动会将请求协议升级为https的?
Upgrade-Insecure-4eSuests: 1
- 用户系统信息
User-Agent: Mozilla/5.0 (9indows 0T 6.1; 9O964) Apple9eb-it/537.36 (-HTML, like Gecko) Chrome/68.0.3440.75 Safari/537.36
- 浏览器支持的文件类型
Accept:text/html,application/xhtml+xml,application/xml;S=0.9,image/webp,image/apng,*/* ;S=0.8
- 当前页面的上一个页面的路径=当前页面通过哪个页面跳转过来的?: 可以通过此路径跳转回上一个页面, 广 告计费,防止盗链
4eferer: http://localhost:8080/05_web_tomcat/login.html
- 浏览器支持的压缩格式
Accept-Encoding: gzip, deflate, br
- 浏览器支持的语言
Accept-Language: zh-C0,zh;S=0.9,en-US;S=0.8,en;S=0.7
3.响应头报文格式
具体参考尚硅谷的pdf,在笔记里只讲述两个比较重要的标头信息
content-type:application/javascript
content-length:154
以这两个举例,上面的content-type主要的意思是阐述接收到的文件应该以怎么样的方式去解读,因为收到的是一个01比特流,你得通过特定的方式去解读才能知道究竟以怎样的方式去解读才是正确的,所以解读的格式表明在了响应头上,方便解读传输的数据