HTTP的基本概念
HTTP是超文本传输协议,也就是HyperTextTransferProtocal.HTTP是在计算机国际里专门用于两点之间数据传输的约定和标准
什么是超文本?
HTTP传输的内容是超文本,他不是不同的文本,是文字图片视频等的混合体,关键是有超链接,能从一个超文本跳转到别的一个超文本。
HTML是最常见的超文本,内部用标签定义了图片,视频的链接,经过浏览器的解说,就能给我们展示一个完好的网页了。
总的来说,HTTP 是一个在计算机国际里专门在「两点」之间「传输」文字、图片、音频、视频等「超文本」数据的「约定和标准」。
HTTP常见状况码
- 1xx:提示信息,标识目前是协议处理的中间状况,还需要后续的操作
- 2xx:成功,阐明报文现已收到,而且被正确处理了
204:no content,呼应头里面没有body数据
206:partial content ,用于HTTP分块下载或断点续传,标识相应回来的body数据并不是资源的全部,而是其中一部分,也是成功的处理
- 3xx:重定向,资源位置发生了变动,需要客户端重新发送恳求。
301:表明永久重定向moved permantly,阐明表明恳求的资源永久不存在了
302:表明暂时重定向,阐明恳求的资源还在,需要用别的一个URL访问
301,302都会在呼应头里面运用Location字段,指明后续跳转的URL,浏览器会自动重定向到新的Url
304:not modified,不具有跳转的含义,表明资源没有被修正,重定向现已存在的缓冲文件,也叫缓冲重定向,告知客户端能够继续运用缓存资源,用于缓存控制
- 4xx,客户端过错,恳求报文过错,服务端无法处理
- 5xx:服务器过错
501表明客户端恳求的功能不支持,相似即将开业,敬请期待的意思。
502是网关拦截
503表明服务器很忙,暂时无法相应客户端,相似网络很忙,请稍后重试的含义
HTTP的常见字段
HOST
该字段首要是为了区分,同一个ip的服务器下的不同网站,就算计算机底层知道了对方ip,但是不知道这个ip下解析的不同网站服务也不行
Content-Length
这个字段是为了告知浏览器,本次服务器回来的数据长度。
HTTP是基于TCP传输协议进行通讯,而运用TCP传输协议,就会存在一个粘包问题,HTTP协议经过设置回车符,换行符作为HTTPheader的鸿沟,经过Content-Length字段作为HTTPbody的鸿沟,为了解决粘包问题
Connection
Connection用于客户端要求服务器运用HTTP长衔接的机制,以便其它恳求复用
HTTP长衔接的特点是,只要恣意一端没有清晰剔除断开衔接,那么就会坚持TCP的链接状况
Connection: Keep-Alive
开启Keep-Alive机制后,衔接就不会中断,而是坚持衔接,当客户端发送别的一个恳求的时候,会运用同一个衔接,知道客户端或许提出断开衔接
Content-Type
这个字段用于服务器回应客户端时候,告知他自己能接纳什么数据格局
Content-Encoding
阐明数据的紧缩办法,表明服务器回来数据用了什么紧缩格局
同时也有Accept-Encoding和它接应