http的“无连接”指的是_一个HTTP刷掉80%面试者?!

992da379b480d36b68062e24a6deccbb.png

前言

今天这篇文章,老师认为可以帮大家更好更全面地了解HTTP,以及帮大家应对面试过程中的相关问题,大家可以收藏日后认真学习并加强巩固,不要让HTTP成为阻碍面试通过的绊脚石。

起因

面试官:请问你了解HTTP协议吗?

前端开发:这不是应该后端清楚的吗?

后端开发:这不是前端知道的吗?

面试官:……

我们先一本正经的来了解下HTTP(不包含传输层TCP),然后总结其中的精华回复面试官。

HTTP协议简介

HTTP(超文本传输协议)是应用层上的一种客户端/服务端模型的通信协议,它由请求和响应构成,且是无状态的。(暂不介绍HTTP2)

  • 协议
  • 协议规定了通信双方必须遵循的数据传输格式,这样通信双方按照约定的格式才能准确的通信。
  • 无状态
  • 无状态是指两次连接通信之间是没有任何关系的,每次都是一个新的连接,服务端不会记录前后的请求信息。
  • 客户端/服务端模型

5127568f35fd15763dc07a75b4243782.png

五层网络模型

b152831ee1476a7dc16bfcb6a6dd442b.png

URL构成

用了这么久,你注意过吗?

12b48899819f87e27d30028ad11841a7.png

协议内容

请求(Request)

客户端发送一个HTTP请求到服务端的格式:

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

b52ae6ec44745f66f28225e0411305ca.png

响应(Response)

服务端响应客户端格式:

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

4169a7b84564e7e811c5d674f88023ef.png

状态码

HTTP状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型,后两个数字没有分类的作用。HTTP状态码共分为5种类型:

384cdaa700c7db44f1504e14449e6f71.png

更详细的状态码可查看 HTTP状态码

但一般我们只需要知道几个常见的就行,比如 200,400,401,403,404,500,502.

请求方法

截止到HTTP1.1共有下面几种方法:

74a27e1550ff5caae1c39404c9d3f739.png

请求和响应常见通用头

5fb8a1c022e47e806844399fc21116d5.png

注意

Content-Type,内容类型,一般是指网页中存在的Content-Type,用于定义网络文件的类型和网页的编码,决定浏览器将以什么形式、什么编码读取这个文件。

常见的媒体格式类型如下:

cf15e006b59ee2fe2d9c1c78e86f7a3e.png

以application开头的媒体格式类型:

be6701a32ef253793598c7cfca9c5a84.png

常见请求头

0d69cbaf9c4c59fb370bc651e7a332f1.png

常见响应头

43bd8a83d7ff8b0f2de4dfe935e1472d.png

总结

清楚的知道这些内容,不仅仅是为了应对面试官,而是能实实在在的提高自己的效率,这一点在前后端联调接口最明显,当你在应用中去请求其他接口或转发请求时这些也是要知道的。不然出现问题的概率会大大提高。

原文:一个HTTP打趴80%面试者
作者:flyhero
来源:公众号
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值