美文网首页
面试9:HTTP

面试9:HTTP

作者: 5d18ee6b5b1c | 来源:发表于2018-12-02 16:59 被阅读0次

    课程思维导图

    HTTP.png

    Q:HTTP的主要特点是什么?

    无连接、无状态

    Q:介绍下HTTP报文的组成部分?

    1. 请求报文:请求行、请求头、空行、请求体
    2. 响应报文:状态行、响应头、空行、响应体

    以请求报文为例:

    1. 请求行:HTTP方法、页面地址、HTTP协议及版本
    2. 请求头:key-value值,告诉服务端需要的内容
    3. 空行:告知服务端以下内容为请求体
    4. 请求体:数据部分

    Q:常见的HTTP方法有哪些?

    1. GET:获取资源
    2. POST:传输资源
    3. PUT:更新资源
    4. DELETE:删除资源
    5. HEAD:获得报文首部

    Q:POST和GET的区别是什么?

    1. GET在浏览器回退时是无害的,而POST会再次提交请求
    2. GET请求会被浏览器主动缓存,而POST不会,除非手动设置
    3. GET请求参数会被完整保留在浏览器的历史记录里,而POST中的参数不会被保留
    4. GET请求在URL中传递的参数是有长度限制的,POST没有限制
    5. POST比GET安全,因参数暴露在URL上
    6. GET参数通过URL传递,POST放在Request body 中

    Q:状态码表示的含义是?

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

    Q:常见状态码有哪些?

    1. 200:OK,客户端请求成功
    2. 206:Partial Content:客户端发送一个带有Range头的GET请求,服务器完成了他
    3. 301:Moved Permanently:所请求的页面已转移至新的URL
    4. 302:Found:所请求的页面已经临时转移到新的URL
    5. 304:Not Modified:客户端有缓存的文档,并发出一个条件性的请求,服务器告诉客户端,原来的缓存的文档可以继续使用
    6. 400:Bad Request:客户端请求有语法错误,不能被服务器所理解
    7. 401:Unauthorized:请求未经授权,必须与WWW-Authenticate报头域一起使用
    8. 403:Forbidden:对被请求页面的访问被禁止
    9. 404:Not Found:请求资源不存在
    10. 500:Internal Server Error:服务器发生不可预期的错误
    11. 503:Server Unavailable:请求未完成,服务器临时过载或宕机

    Q:介绍下持久链接(HTTP1.1)?

    1. HTTP协议采用“请求-应答”模式,当使用普通模式,即非keep-Alive模式时,每个请求/应答客户和服务器都要新一个连接,完成之后立即断开连接。
    2. 当使用keep-Alive模式(持久链接)时,keep-Alive功能使客户端到服务器端的连接持久有效,当出现服务器的后继请求时,keep-Alive避免重新建立连接

    Q:管线化是什么?

    在使用持久连接的情况下,常规的消息传递是类似于:请求1 => 响应1 => 请求2 => 响应2 => 请求3 => 响应3,而管线化的消息传递是类似于请求1 => 请求2 => 请求3 => 响应1 => 响应2 => 响应3

    Q:管线化的特点是什么?

    1. 通道持久建立,请求打包后,一起送过去,响应也是,打包后送回来
    2. 管线化机制通过持久连接完成,仅HTTP1.1支持
    3. 只有GET、HEAD请求可以进行管线化,而POST有所限制
    4. 初次创建连接时不应开启管线化机制,因对方服务器不一定支持HTTP1.1

    相关文章

      网友评论

          本文标题:面试9:HTTP

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