01-http协议

http协议介绍

HTTP协议是超文本传输协议的缩写,是用于从万维网传输超文本到浏览器的传输协议。
HTTP基于TCP/IP通信协议来传递数据(HTML文件,图片文件、查询结果等)。它不涉及数据包(packet)传输,主要规定了客户端和服务器之间的通信格式,默认使用80端口。

http的主要组成

http://www.someSchool.edu/someDepartment/home.index为例
在这里插入图片描述

1.起始行
请求方法、URL、http版本
2.请求头部
host(对象所在主机)、connection(是否为持久链接)、user-agent(浏览器类型)、accept-language(接受哪国语言)
3.回车换行(CRLF)
4.实体

http版本

http1.0

HTTP1.0默认使用 Connection:close,浏览器每次请求都需要与服务器建立一个 TCP 连接,服务器处理完成后立即断开 TCP 连接(无连接),服务器不跟踪每个客户端也不记录过去的请求(无状态)。

特点

无连接:无连接是指限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。这种方式可以节省传输时间。

无状态:HTTP协议自身不对请求和响应之间的通信状态进行保存,任何两次请求之间都没有依赖关系。(每次请求都是独立的,与前面的请求和后面的请求都没有直接联系。协议本身不保留之前一切的请求或响应报文的信息。)

http1.1

HTTP1.1默认使用 Connection:keep-alive(长连接),避免了连接建立和释放的开销;通过 Content-Length 字段来判断当前请求的数据是否已经全部接受。不允许同时存在两个并行的响应。

http2.0

SPDY协议:2009年谷歌公开了SPDY协议,主要解决Http1.1效率不高的问题。
在这里插入图片描述

SPDY被当做HTTP2.0的基础,其主要特性(兼容老版本HTTP协议,同时可以使用SSL功能)都在HTTP2.0中得到继承。
HTTP2.0:基于SPDY,专注于性能,目标是在用户和网站直接只用一个连接。

特点

1.二进制传输
http2.0将请求和响应数据分割为更小的帧,并且它们采用二进制编码(http1.0基于文本格式)。多个帧之间可以乱序发送,根据帧首部的流表示可以重新组装。
2.Header压缩
3.多路复用
4.服务端推送
5.缺点:tcp连接延迟、队头阻塞

http3.0

Google在推行SPDY的时候意识到了上述http2.0一系列问题,于是又产生了基于UDP协议的“QUIC”协议,让HTTP跑在QUIC上而不是TCP上。从而产生了HTTP3.0版本,它解决了“队头阻塞”的问题。

http状态码

状态码含义
1XX信息提示,服务器收到请求,需要请求者继续执行操作;
2XX成功,操作被成功接收并处理;
3XX重定位,需要进一步的操作以完成请求;
4XX客户端错误,请求包含语法错误或无法完成请求;
5XX服务器错误,服务器在处理请求的过程中发生了错误。

常见状态码

100:继续,客户端应继请求;
200:请求成功;
301:资源(网页等)被永久转移到其他 URL;
302:暂时重定向;
403: Forbidden —禁止访问;
404:请求的资源(网页等)不存在;
500:内部服务器错误。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值