美文网首页
HTTP协议

HTTP协议

作者: 蜗牛1991 | 来源:发表于2017-09-03 23:18 被阅读0次

    1.什么是HTTP协议

    HTTP 属于TCP/IP协议族的一个子集合,隶属应用层,使用URI(统一资源标识符)定位网络资源,进行客户端和服务器端之间通信的无状态协议。

    URI:URI 就是由某个协议方案表示的资源的定位标识符。采用 HTTP 协议时,协议方案就是 http。除此之外,还有 ftp、mailto、telnet、file 等。格式如下:


    TCP/IP协议族:狭义来讲就是上节所提到的应用层、传输层、网络层和数据链路层相关协议的总称呼。

    2. HTTP 关系密切的协议 : IP、TCP 和DNS

    IP与TCP上节已经总结过不再介绍,那什么是DNS协议呢?DNS(Domain Name System)服务是和 HTTP 协议一样位于应用层的协议。它提供域名到 IP 地址之间的解析服务。用户通常使用主机名或域名来访问对方的计算机,而不是直接通过 IP。例如你输入www.baidu.com的域名,首先会进行DNS解析之后,返回它的IP地址,再进行请求资源!

    3.HTTP协议特性

    a.无状态:它不保存请求或响应报文的信息,因而在web开发中引入

    Cookie 技术,保存期望的状态,但要注意Cookie不是HTTP协议的一部分。

    b.持久连接:一次TCP连接,只要任意一端多次没有明确提出断开,可以多次请求与响应。

    c.管线化:可以并行发送多个请求,不用等待上个请求响应之后。

    4.HTTP协议基础内容

    a.支持请求资源方法:

    b.HTTP报文

    HTTP 报文大致可分为报文首部和报文主体两块。两者由空行(CR+LF)来划分。通常,并不一定要有报文主体。而报文首部又分为请求行、状态行,请求/响应首部字段,通用首部字段,实体首部字段。具体报文内容见5,6小节。

    注意:报文主体与实体主体的区别:HTTP 报文的主体用于传输请求或响应的实体主体。通常,报文主体等于实体主体。只有当传输中进行编码操作时实体主体的内容发生变化,才导致它和报文主体产生差异。实体例如POST 传输json对象,获取是实体主体而非报文主体。

    5.请求报文

    a.结构:

    注:请求行包含用于请求的方法,请求 URI(web使用http协议) 和 HTTP 版本。首部字段包含表示请求的各种条件和属性的各类首部

    b.通用首部

    c

    c.请求首部

    d.实体首部

    e.非 HTTP/1.1 首部字段

    为cookie服务的首部字段:

    set-cookie属性:expires(有效期),name,path,domain(域名),HttpOnly(cookie不能被js访问)

    CORS协议相关头部(跨域)

    前言:跨域请求分为简单请求和非简单请求,执行跨域流程不同

    6.响应报文

    a.结构

    注:状态行包含表明响应结果的状态码(见附表一),原因短语和 HTTP 版本。通用首部,实体首部同上

    b.响应首部

    c.非 HTTP/1.1 首部字段

    set-cookie:


    相关文章

      网友评论

          本文标题:HTTP协议

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