在我们开发中,不管是前端还是后端开发都涉及到HTTP,但是多数开发者并没有很了解HTTP,HTTP协议是什么?状态码是什么?HTTP方法是什么?POST方法和GET方法有什么区别?也有不少人只会用POST和GET,前端缓存又是什么?
这是因为我们很多时候刚开始学习编程开发,并没有首先学习其它基础的技术,这导致我们进行HTTP开发时也是一知半解,遇到问题也很难解决。即使是学习网络编程时,也很难理解其中的代码,如HTTP连接和socket编程,如果你掌握HTTP原理的话,编程语言只是一个工具,真正的内容其实还是在HTTP中。
HTTP协议原理与前端开发
对于前端开发来说,点击一个简单的链接都涉及http协议的使用,A标签链接跳转,img标签加载图片,还有使用AJAX加载数据。前端一个更为关注的技术是缓存优化,不少人对于Cache-Control的使用也不清楚,另外还有缓存验证,前端优化也是面试中经常问到的问题,另外还有Cookie的使用和CORS跨域,HTTP协议是这些技术的基础,掌握好了HTTP原理,很多问题其实你都可以看清楚了。
HTTP协议原理与后端开发
后端开发中涉及到的HTTP协议,可以说基本涵盖了HTTP的所有内容,因为后端开发就是提供HTTP服务的,仅仅将HTTP连接模糊为网络连接是不准确的。后端常问到的问题可能就是经典的TCP三次握手,常用的恐怕就是HTTP报文了,整个报文就是HTTP协议的核心内容,报文内容告诉你很多常见的问题,例如为什么GET不安全而POST安全?简单来说,这是因为GET传输的数据在HTTP头中,而POST传输的数据在HTTP体中,当然,详细的内容后面会展开讨论。
对HTTP协议,不少人可能会对协议有误解,协议和工作合同的协议?当然,它就是这个意思,但是也太抽象了,协议是一种规范,按照我们编程的思维来说,协议规定数据传输的方式和格式。例如,我们也可以自定义协议,分为头部和数据部分,头部加入这个协议的名称和版本,传输数据的大小,数据的格式JSON还是XML,目标地址URL,数据部分就是我们需要传输的真实数据了。为什么这样定义呢?接收方可以根据规定好的协议,更方便优雅地读取到发送方的数据,如果没有预先固定好一个协议,那么互相传输数据将会非常麻烦。
当然这是很基本的常识了,但是如果你不是很懂的话,这有助于你对HTTP协议的理解。
评论前必须登录!
注册