一、前言
只要你做web开发,不管是前端还是后台,http协议都是必须掌握的。网上的长篇大论已经够多了,我们今天就用十分钟的时间,用最简洁的语言让您从不懂http协议到掌握http协议。
二、什么是协议
协议说白了就是双方都认同的一个规定。比如A和B确定了一个协议:“A给B一个耳光,B就得给A一百块钱”。虽然这个协议有点扯,但是A和B都认同了,那就得执行,只要B活着,A就可以随便抽他,并且获取那一百块。
http就是一个协议,这个协议是客户端和服务器端认同的。客户端要东西(请求),服务器端就得给(响应)。
三、请求和响应
客户端希望向服务器端要东西,需要发送一个请求,服务器接到了这个请求,就会响应对应的内容。
举个例子:比如我们访问百度首页,首先打开浏览器(浏览器就是客户端),然后输入地址,然后按回车,当我们按回车的时候,其实就是向百度的服务器发送了一个请求,服务器接到这个请求,就会给予一个响应,响应的内容就是百度首页的html代码,然后浏览器将html代码转换成页面,用户就可以看到百度的首页了。
浏览器发送请求的方式有哪些呢:
直接在地址栏输入地址,然后按回车。
点击a标签,跳转页面。
提交表单
JavaScript实现页面跳转
XMLHttpRequest
img标签或script标签的src属性可以请求资源。
只要服务器接到上面6条的任意一条请求,都会做出响应,返回对应的内容。可能是一个网页,一个json数据,一张图片。
(顺便说一下,上面第5条是ajax的基础,第6条是jsonp的基础。)
四、请求的方法
上面介绍了六种发送请求的方式,其实发送请求还有两个常用方法:get和post,两个方法的区别网上一搜一大把,这里就不重复了,在这里大家只要知道,get请求和post请求都是请求,都能得到响应就行了,结合上面的内容,再来归纳一下:
直接在地址栏输入地址,然后按回车–只能是get请求
点击a标签,跳转页面–只能是get请求
提交表单–可以通过表单的method属性设置get或post请求
JavaScript实现页面跳转–只能是get请求
XMLHttpRequest–可以是get或post
img标签或script标签的src属性可以请求资源–只能是get请求
五、总结
初学http协议,就把他总结成一句话:客户端发送请求,服务器响应数据。理解这句话,http协议就算入门了。
这些知识点都比较抽象,如果希望切身的体会请求和响应的过程,最简单的方法就是用chrome的抓包工具看看请求和响应的内容。
ajax可以说是http的实现,用代码模拟一下请求和响应的过程,更有助于理解http协议。
六、尾声
每天十分钟,进步一点点,感谢您的预览,如果喜欢,可以关注【晓舟报告】,获取更多微技术。