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的链接状况

HTTP有用状态码和字段

Connection: Keep-Alive

开启Keep-Alive机制后,衔接就不会中断,而是坚持衔接,当客户端发送别的一个恳求的时候,会运用同一个衔接,知道客户端或许提出断开衔接

Content-Type

这个字段用于服务器回应客户端时候,告知他自己能接纳什么数据格局

HTTP有用状态码和字段

Content-Encoding

阐明数据的紧缩办法,表明服务器回来数据用了什么紧缩格局

同时也有Accept-Encoding和它接应

HTTP有用状态码和字段