http报文结构解析

作者: saviochen | 来源:发表于2017-08-18 22:25 被阅读80次
    1、http协议结构?
    2、请求报文和响应报文的区别是?

    请求报文和响应报文的区别在于,请求报文是请求行,相应报文是状态行。

    3、请求报文和响应报文都是由哪四部分组成的?

    1)报文头(initial line),例如GET http://www.baidu.com/favicon.ico HTTP/1.1表示请求http://www.baidu.com/favicon.ico这个文件,用的是HTTP/1.1协议
    2)0个或者多个请求头(header line),例如Accept-language: en
    3)空行
    4)可选消息

    请求报文:请求行、首部行,空行,信息主体
    响应报文:状态行,首部行,空行,信息主体

    4、http是为什么是无状态协议?

    无状态协议:http不要服务器保留(记忆)客户端任何状态信息。这样服务器端设计会变的简单。

    5、什么是Keep-Alive模式?

    我们知道HTTP协议采用“请求-应答”模式,当使用普通模式,即非KeepAlive模式时,每个请求/应答客户和服务器都要新建一个连接,完成 之后立即断开连接(HTTP协议为无连接的协议);当使用Keep-Alive模式(又称持久连接、连接重用)时,Keep-Alive功能使客户端到服 务器端的连接持续有效,当出现对服务器的后继请求时,Keep-Alive功能避免了建立或者重新建立连接。

    http 1.0中默认是关闭的,需要在http头加入"Connection: Keep-Alive",才能启用Keep-Alive;http 1.1中默认启用Keep-Alive,如果加入"Connection: close ",才关闭。目前大部分浏览器都是用http1.1协议,也就是说默认都会发起Keep-Alive的连接请求了,所以是否能完成一个完整的Keep- Alive连接就看服务器设置情况。

    6、什么决定了请求报文的作用?

    (1)方法:所谓的方法就是对请求的对象进行的操作,实际上就是一些命令。所以请求报文的作用和类型由方法决定。



    (2) url资源定位符:请求方法的操作对象
    (3) 版本:http1.0还是http1.1版本。
    (4) CRLF:回车空格。
    (5) 信息主体:一般请求报文没有信息主体,只有在想服务器发送数据的时候,才会有信息主体。

    7、响应报文

    (1)响应报文的第一行是状态行:http版本,状态码,短语。
    (2)状态行包括:http的版本,状态码,短语。其中,状态码是对客户端的反馈。
    (3)短语:用来解释状态码的。


    服务器给客户端的状态:我知道了,我正在处理;成功了;我还需要其他资源才能处理;你发错了;我不能解决。五种状态。

    参考文献:
    1、HTTP 的长连接和短连接
    2、HTTP长连接和短连接

    相关文章

      网友评论

        本文标题:http报文结构解析

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