美文网首页
一个HTTP的问题

一个HTTP的问题

作者: 括儿之家 | 来源:发表于2019-06-13 15:56 被阅读0次

面试一年多,每当我问起面试者对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开头的媒体格式类型:

常见请求头

常见响应头

总结

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

作者:码上实战

链接:https://www.jianshu.com/p/c9f98e84d946

来源:简书

简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

相关文章

  • 一个HTTP的问题

    面试一年多,每当我问起面试者对HTTP的了解时,个个回答令我瞠目结舌,这些开发者都有3-5年的经验。请不要让我叫你...

  • http 问题汇总

    1 编码问题 对于一般的请求,请求参数一定要放到请求的body里, 并且请求参数要符合json:{"query":...

  • HTTP相关问题

    一. 什么是HTTP HTTP协议工作在应用层,端口号是80。HTTP协议被用于网络中两台计算机间的通信,相比于T...

  • HTTP缓存问题

    在客户端第一次请求数据时,此时缓存数据库中没有对应的缓存数据,需要请求服务器,服务器返回后,将数据存储至缓存数据库...

  • HTTP缓存问题

    介绍 平时我去学习Http应用层协议的时候,对于Http的结构和请求头字段的作用方面掌握了一些知识点,但是没有系统...

  • iOS http 问题

    好记性不如烂笔头。 iOS9引入了新特性App Transport Security (ATS)。解决方法: 在I...

  • HTTP系列问题

    http协议是什么?有哪些特点? 常见Http方法有哪些?使用场景分别是什么? GET与POST有什么区别? 在H...

  • 2019-02-08 HTTP协议初识

    最近面试被问了一个HTTP控制缓存的问题和一个Http状态码的问题,没答上来。空闲时间看了一些关于HTTP的内容,...

  • HTTP Method(四) GET

    今天聊的是HTTP Get 方法中是否可以通过body 传值的问题: 一个问题:定义了一个 http get 方法...

  • 使用httprequest时HttpRequestjava.io

    在使用httprequest过程中遇到一个问题 com.github.kevinsawicki.http.Http...

网友评论

      本文标题:一个HTTP的问题

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