• 一个HTTP打趴80%面试者


    https://zhuanlan.zhihu.com/p/60450391?utm_medium=social&utm_source=wechat_session

    阅读原文:一个HTTP打趴80%面试者

    面试一年多,每当我问起面试者对HTTP的了解时,个个回答令我瞠目结舌,这些开发者都有3-5年的经验。请不要让我叫你野生程序员,是时候了解HTTP了,让我们当个正规军。

    起因

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

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

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

    面试官:……

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

    HTTP协议简介

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

    • 协议

    协议规定了通信双方必须遵循的数据传输格式,这样通信双方按照约定的格式才能准确的通信。

    • 无状态

    无状态是指两次连接通信之间是没有任何关系的,每次都是一个新的连接,服务端不会记录前后的请求信息。

    • 客户端/服务端模型

     

     

    五层网络模型

     

     

    URL构成

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

     

     

    协议内容

    请求(Request)

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

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

     

     

    响应(Response)

    服务端响应客户端格式:

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

     

     

    状态码

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

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

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

    请求方法

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

    请求和响应常见通用头

    注意

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

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

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

    常见请求头

    常见响应头

    总结

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

    更多技术文章尽在微信公众号 : 码上实战

  • 相关阅读:
    Mybatis--->第五节注解完成增删改查
    Mybatis--->新增新功能报错,以前都正常,突然报错
    Mybatis--->limit分页查询
    固定套路--->log4j日志运用-Maven
    Mybatis第三节优化别名--->user
    Mybatis入门第二节--->优化
    Mybatis 报错 java.io.IOException: Could not find resource mybatis-config.xml
    学习Java的第十二天
    学习Java的第十一天
    学习Java的第十天
  • 原文地址:https://www.cnblogs.com/xiang--liu/p/10610777.html
Copyright © 2020-2023  润新知