美文网首页
回顾Http协议

回顾Http协议

作者: Ad大成 | 来源:发表于2019-07-23 18:40 被阅读0次

    http简单来说就是web浏览器和web服务器之间的一问一答的交互过程必须遵守一定的规则,

    而这里的规则就是http协议

    HTTP是HyperText Transfer Protocol(超文本传输协议)

        它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程及数据本身的格式。

        Http协议是一种应用层协议,它通过TCP实现了可靠的数据传输,能够保证数据的完整性、正确性,

        而TCP对于数据传输控制的优点也能够体现在Http协议上,使得Http的数据传输吞吐量、效率得到保证

    请求格式

        请求:

            请求行  : 请求方式 请求路径 版本

            请求头  : 以key-value形式组成,K:V。。。

            空行

            请求体  :  用于数据传递:get方式没有请求体(参数地址传递)   post方式有请求体

        响应:

            响应行    :版本 响应码 响应信息

            响应头    :以key-value形式组成,K:V。。。

            空行

            响应体    :响应正文

    常用请求头

        Host: www.baidu.com

        User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:64.0) Gecko/20100101 Firefox/64.0

        Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

        Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2

        Accept-Encoding: gzip, deflate, br

        Connection: keep-alive

        Cache-Control: max-age=0

        Content-Type: text/html

        Content-Length:120

    请求方式

        Get:请求获取Request-URI所标识的资源

        POST:在Request-URI所标识的资源后附加新的数据

        HEAD 请求获取由Request-URI所标识的资源的响应信息报头

        PUT:请求服务器存储一个资源,并用Request-URI作为其标识

        DELETE:请求服务器删除Request-URI所标识的资源

        TRACE:请求服务器回送收到的请求信息,主要用于测试或诊断

        CONNECT:保留将来使用

        OPTIONS:请求查询服务器的性能,或者查询与资源相关的选项

        GET方式(以在请求的URL地址后以?的形式带上交给服务器的数据,多个数据之间以&进行分隔,通常传送的数据不超过1kb),

        通过请求URI得到资源。一般用于获取/查询资源信息

        POST方式(在请求的正文内容中向服务器发送数据,传送的数据无限制),

        用于向服务器提交新的内容。一般用于更新资源信息

    状态码

        200(正常),

        302/307(临时重定向),

        304(未修改),

        404(找不到),

        500(服务器内部错误)

    Http协议的特点

        1支持客户/服务器模式。

        2简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、 HEAD、POST。每种方法规定了客户与服务器联系的类型不同。 由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。

        3灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。

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

        5无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。 缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每 次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快

    Http 1.0 与 Http1.1以及2.0Http的区别

    1.1 http1.0

        1996年5月,HTTP/1.0 版本发布,内容大大增加。

        首先,任何格式的内容都可以发送。这使得互联网不仅可以传输文字,还能传输图像、视频、二进制文件。这为互联网的大发展奠定了基础。

    其次,除了GET命令,还引入了POST命令和HEAD命令,丰富了浏览器与服务器的互动手段。

    再次,HTTP请求和回应的格式也变了。除了数据部分,每次通信都必须包括头信息(HTTP header),用来描述一些元数据。其他的新增功能还包括状态码(status code)、多字符集支持、多部分发送(multi-part type)、权限(authorization)、缓存(cache)、内容编码(content encoding)等。

        缺点:每个TCP连接只能发送一个请求

    1.2 http1.1

       一次连接,可以发起多次请求

    1.3 http2.0

    HTTP/2采用二进制格式而非文本格式

    HTTP/2是完全多路复用的,而非有序并阻塞的——只需一个连接即可实现并行

    使用报头压缩,HTTP/2降低了开销

    HTTP/2让服务器可以将响应主动“推送”到客户端缓存中

    相关文章

      网友评论

          本文标题:回顾Http协议

          本文链接:https://www.haomeiwen.com/subject/rylalctx.html