不得不学的http协议

一、前言

只要你做web开发,不管是前端还是后台,http协议都是必须掌握的。网上的长篇大论已经够多了,我们今天就用十分钟的时间,用最简洁的语言让您从不懂http协议到掌握http协议。

二、什么是协议

协议说白了就是双方都认同的一个规定。比如A和B确定了一个协议:“A给B一个耳光,B就得给A一百块钱”。虽然这个协议有点扯,但是A和B都认同了,那就得执行,只要B活着,A就可以随便抽他,并且获取那一百块。

http就是一个协议,这个协议是客户端和服务器端认同的。客户端要东西(请求),服务器端就得给(响应)。

三、请求和响应

客户端希望向服务器端要东西,需要发送一个请求,服务器接到了这个请求,就会响应对应的内容。

举个例子:比如我们访问百度首页,首先打开浏览器(浏览器就是客户端),然后输入地址,然后按回车,当我们按回车的时候,其实就是向百度的服务器发送了一个请求,服务器接到这个请求,就会给予一个响应,响应的内容就是百度首页的html代码,然后浏览器将html代码转换成页面,用户就可以看到百度的首页了。

浏览器发送请求的方式有哪些呢:

  1. 直接在地址栏输入地址,然后按回车。

  2. 点击a标签,跳转页面。

  3. 提交表单

  4. JavaScript实现页面跳转

  5. XMLHttpRequest

  6. img标签或script标签的src属性可以请求资源。

只要服务器接到上面6条的任意一条请求,都会做出响应,返回对应的内容。可能是一个网页,一个json数据,一张图片。

(顺便说一下,上面第5条是ajax的基础,第6条是jsonp的基础。)

四、请求的方法

上面介绍了六种发送请求的方式,其实发送请求还有两个常用方法:get和post,两个方法的区别网上一搜一大把,这里就不重复了,在这里大家只要知道,get请求和post请求都是请求,都能得到响应就行了,结合上面的内容,再来归纳一下:

  1. 直接在地址栏输入地址,然后按回车–只能是get请求

  2. 点击a标签,跳转页面–只能是get请求

  3. 提交表单–可以通过表单的method属性设置get或post请求

  4. JavaScript实现页面跳转–只能是get请求

  5. XMLHttpRequest–可以是get或post

  6. img标签或script标签的src属性可以请求资源–只能是get请求

五、总结

初学http协议,就把他总结成一句话:客户端发送请求,服务器响应数据。理解这句话,http协议就算入门了。

这些知识点都比较抽象,如果希望切身的体会请求和响应的过程,最简单的方法就是用chrome的抓包工具看看请求和响应的内容。

ajax可以说是http的实现,用代码模拟一下请求和响应的过程,更有助于理解http协议。

六、尾声

每天十分钟,进步一点点,感谢您的预览,如果喜欢,可以关注【晓舟报告】,获取更多微技术。

原文链接

    原文作者:HTTP
    原文地址: https://segmentfault.com/a/1190000012110415
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞