05前端面试题-HTTP协议

210 阅读2分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第3天,点击查看活动详情

一、HTTP协议的主要特点

  • 简单快速:url是统一的,若需要访问资源只要输入url
  • 灵活:通过一个http协议,就可以完成不同类型数据的传输
  • 无连接的协议
  • 无状态的协议

二、HTTP报文组成部分

(一)请求报文

  • 请求行
  • 请求头
  • 空行
  • 请求体

(二)响应报文

  • 状态行
  • 响应头
  • 空行
  • 响应体

三、HTTP方法

  • GET:获取资源
  • POST:传输资源
  • PUT:更新资源
  • DELETE:删除资源
  • HEAD:获得报文首部

POST和GET的区别

image.png

四、HTTP状态码

(一)1XX

  • 指示信息,表示请求已经接收,继续处理

(二)2XX

  • 成功,表示请求已经被成功接收
  • 200 OK:客户端请求成功
  • 206 Partial Content:客户发送了一个带有Range头的GET请求,服务器完成了它

(三)3XX

-重定向-要完成请求必须进行更进一步的操作

  • 301 Moved Permanently:所请求的页面已经转移至新的url
  • 302 Found:所有的请求页面已经临时转移值新的url
  • 304 Not Modified:客户端有缓冲的文档并发出来一个条件性的请求,服务器告诉客户原来缓冲的文档还可以继续使用

(四)4XX

  • 客户端错误-请求有语法错误或请求无法实现
  • 400 Bad Request:客户端请求有语法错误
  • 401 Unauthorized:请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用
  • 403 Forbidden:对被请求页面的访问被禁止
  • 404 Not Found:请求资源不存在

(五)5XX

  • 服务器错误,服务器未能实现合法的请求
  • 500 Internal Server Error:服务器发生不可预期的错误,原来缓冲的文档还可以继续使用
  • 503 Server Unavailable:请求为未完成,服务器临时过载或当机一段时间后可能恢复正常

五、HTTP持久连接

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

六、管线化

image.png

image.png