http协议面试知识点(一)

157 阅读2分钟

一 http协议的主要特点

  1. 简单快速;
  2. 灵活;
  3. 无连接:连接一次就会断掉,不会保持连接;
  4. 无状态:不能区分两次连接是否是同一身份;

二 http报文的组成部分

  1. 请求报文:请求行、请求头、空行、请求体;

  2. 响应报文:状态行、响应头、空行、响应体;

三 http方法

  1. get:
  2. post:
  3. put:
  4. delete:
  5. head:

四 post和get区别

  1. get在浏览器回退时是无害的,post会再次提交请求;
  2. get请求会被浏览器主动缓存,post不会;
  3. get请求参数会被完整保留在浏览器历史记录里,post不会;
  4. get请求在url传输的参数有长度限制,post没有;
  5. get参数通过url传递,post放在request body中;

五 http状态码

  1. 1xx:指示信息-表示请求已接收,继续处理;
  2. 2xx:成功-表示请求已被成功接收;
  3. 3xx:重定向-要完成请求必须进行更进一步的操作;
  4. 4xx:客户端错误;
  5. 5xx:服务器错误;

六 持久连接

  1. http协议采用“请求-应答”模式,当使用普通模式,即非keep-alive模式时,每个请求\应答客户端和服务器都要新建一个连接,完成之后立即断开连接;
  2. 当使用keep-alive模式时,keep-alive功能使客户端到服务端的连接持续有效,当出现对服务器的后继请求时,keep-alive功能避免了建立或者重新建立连接;

七 管线化

  1. 在使用持久连接的情况下,某个连接消息的传递类似于
    请求1 -> 响应1 -> 请求2 -> 响应2 -> 请求3 -> 响应3
  2. 管线化:通过持久连接完成,响应和请求是一起打包的,只有get和head请求可以进行管线化
    请求1 -> 请求2 -> 请求3 -> 响应1 -> 响应2 -> 响应3