美文网首页
HTTP协议类面试题

HTTP协议类面试题

作者: 旧时袋 | 来源:发表于2021-02-24 12:08 被阅读0次

    HTTP 协议的主要特点

    • 简单快速
    • 灵活
    • 无连接
    • 无状态(在HTTP协议上,是无法区分两次连接者的身份)

    HTTP 报文的组成部分

    image.png

    [注]

    • 请求行:HTTP方法、页面地址、HTTP协议、版本
    • 请求头:key value
    • 空行: 发送回车符和换行符,通知服务器以下不再有请求头

    HTTP 方法

    image.png

    POST 和 GET 的区别

    重点:

    • GET 在浏览器回退时是无害的,而 POST 会再次提交请求
    • GET 请求会被浏览器主动缓存,而 POST 不会,除非手动设置
    • GET 请求参数会被完整保留在浏览器历史记录里,而 POST 中的参数不会被保留
    • GET 请求在URL中传送的参数是有长度限制的,而 POST 没有限制
    • GET 参数通过 URL 传递,POST 放在 Request body 中

    次要:

    • GET 产生的URL地址可以被收藏,而 POST 不可以
    • GET 请求只能进行 url 编码,而 POST 支持多种编码方式
    • 对参数的数据类型,GET 只接受 ASCII 字符,而 POST 没有限制
    • GET 比 POST 更不安全,因为参数直接暴露在 URL 上,所有不能用来传递敏感信息

    HTTP 状态码

    1xx:指示信息 - 表示请求已经接收,继续处理
    2xx:成功 - 表示请求已被成功接收
    3xx:重定向 - 要完成请求必须进行更进一步的操作
    4xx:客户端错误 - 请求有语法错误或请求无法实现
    5xx:服务器错误 - 服务器未能实现合法的请求

    举例:


    image.png
    image.png

    什么是持久连接

    HTTP 协议采用 “请求 - 应答” 模式,当使用普通模式,即非 Keep - Alive 模式时,每个请求/应答客户和服务器都要新建一个连接,完成之后立即断开连接(HTTP协议为无连接的协议)

    当使用 Keep - Alive 模式(有称持久化连接、连接重用)时,Keep - Alive 功能使客户端到服务器端的连接持续有效,当出现对服务器的后继请求时,keep - Alive 功能避免了建立或者重新建立连接

    [注] HTTP 1.1版本支持持久连接

    什么是管线化

    在使用持久连接的情况下,某个连接上消息的传递类似于
    请求1 > 响应1 > 请求2 > 响应2 > 请求3 > 响应3

    管线化:如某个连接上的消息变成了类似这样
    请求1 > 请求2 > 请求3 > 响应1 > 响应2 > 响应3

    特点:


    image.png

    [注] 前三点比较重要

    相关文章

      网友评论

          本文标题:HTTP协议类面试题

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