了解http才能躲开那些隐藏的坑(送给初学者)

了解http

这些所有的“坑”都是你对HTTP协议不了解,不熟悉造成的。
很多人不重视基础,对HTTP协议只了解一些皮毛,成天都在折腾各种高大上的框架,张口闭口谈的也是各种听不懂的名词,仿佛讨论HTTP协议就很low一样。
但你可知道,你们讨论的这些各种框架、各种名词都终都只是HTTP协议不同实现方式而已,asp、jsp、php、asp.net(asp.net core) 、nodejs、app、小程序、公众号、服务号这些耳熟能详框架(或名词)那个不是建立在HTTP之上的(或能离开HTTP协议)。
可以这样说,做Web开发不深入理解HTTP协议的人在这个行业的前途有限。
也不是说就一定干不了这行了,我见过很多挂着“高级”头衔的前端或后端开发对HTTP协议的了解也仅限于知道GET、POST、200、404、500而已,也能工作,看起来干得还不错,但和他们交流起来真的打人的冲动都有。
例如:我写好一个api接口给他,他说调不通,返回404,我说我那个api接口只接受json格式的数据,他说我是传的json格式啊,我说必须要在HTTP请求头加入Content-Type:application/json,他说不会,还说我要求多,又说请求是组件封装好了的,没法加,老子随手百度一下他用的那个组件的用法然后写个示例给他就或以了(我很肯定一个成熟的前端HTTP组件不可能弱智到连设置常用的HTTP头都不行)。
反之,你理解了HTTP协议就是找到了Web开发的捷径,一个一通百通的阀门,深入了解HTTP协议对Web开发中遇到的很多问题跟本不是问题,就算有问题也可以很自然的迎刃而解,像作者文章中那些问题,在你深入了解HTTP协议后我相信你自己都会嘲笑自己,人穷怪屋基,没米吃怪筲箕,

从现在起立马好好学习http

别以后了,现在就可以看,百度一下HTTP协议中文版,内容又不多,抓重点理解就可以了(后面最好买一本HTTP权威指南之类的书系统学习一下)。
其实HTTP协议就那点东西,抓重点理解就行。

  1. HTTP协议三个最重要的特性:无状态、短连接、单向(只能客户端请求,服务端在接到请求后处理后返回,不能由服务器端向客户端推数据)。
  2. 常用的请求方式,get、post、put、delete,并了解get和post的区别。常见的HTTP状态码,200、400、500、404、403等等。
  3. 不管是请求还是返回总是包含header和body两部分,又称请求头、请求内容,返回头,返回内容。header是键值对,绝大多数情况下都是HTTP协议定义好或推荐的用法,只有在极少数的情况下需要自定义。body的格式一般和header指定的Content-Type值一致。
  4. 关于Content-Type,它的作用是告诉接收方用什么方式来解析对应的body数据,很多时候可以省略,但你一定要知道有这个东西。
    比如:请求头Content-Type常用值有:application/x-www-form-urlencoded(表单提交)、multipart/form-data(文件上传)、text/plain(纯文本)、application/json。
    返回常用的有:text/plain、text/xml、text/html等等(完整的Content-Type列表自行百度,只需要记一些常用的就行)。
    为什么JQuery和axios的默认Content-Type不一样呢?因为,JQuery流行的时候还没有大规模的应用前后端分离,所有默认还是传统的表单提交方式(Content-Type值是application/x-www-form-urlencoded不是你说的Form-Data),而axios天生就是为前后端分离而生的,所有默认Content-Type值就是application/json。
    我强调这一点的原因就是想说,这个默认在HTTP协议中并没有强制规范,都是各个浏览器,Web服务器或HTTP组件自行定义的。
    也许你有疑问,我通过抓包发现好像请求头或返回头并没有Content-Type样,那是因为大多数Web服务器或浏览器都可以自己根据内容推断出格式。
  5. 一些其他常用的http header 键/值的作用。
  6. POST Content-Type:Multipart/form-data 有一些特殊,它是在早先的HTTP请求中没有定义,后来专门添加的用来文件上传的,详见RFC1867。
  7. 也就这些了

分割线

分享个vue学习的教程

本人亲自维护的接口

非常适合vue零基础或者刚入门vue的小白学习。

资源包括源码、视频、接口文档,从入门到实战项目

如果你想学习vue,这里有个项目线上尝鲜地址:http://129.226.76.172:5325


在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值