HTTP协议-telnet实现HTTP协议的方法请求

时间:2022-05-13 10:13:24

面试时经常被问到什么是http协议?get与post的区别是什么?

讲真,在我看来协议就是客户端与服务器之间进行数据交换的一些规定,get与post的区别这件事在我之前的博客:

HTTP协议GET和POST请求方法的区别

也已经总结过很多,但总觉得回答不高大上,太显而易见,说白了:好像不能装作我懂的很深的样子啊!更深层次的东西还是没有触及。

所以今天又学了一下http协议,并使用telnet实现了HTTP协议get与post方法的请求,好像理解的多了,但却更认为:http它就是一个客户端与服务端数据交互的规定,很多东西也确实显而易见,只是需要记住的比较多!

这次的学习笔记主要来自于 燕十八的http协议 视频教程。

笔记:

HTTP协议:

重要性:无论是以后用webserverice,还是用rest做大型架构,都离不开对HTTP协议的认识

甚至可以简化说:Webserverice = http协议+ XML;Rest = HTTP协议+ json;各种API,也一般是用http+XML/json 来实现的

往小了说:做采集,小偷站,也需要对HTTP协议有所了解,以及Ajax,对HTTP协议有了解之后,学习Ajax是非常容易理解的

 

问什么是协议:

答:计算机中的协议和现实中的协议是一样的,一式双份/多份。双方/多方都遵从共同的一个规范,这个规范就可以称为协议。

问:浏览器能发送HTTP协议,HTTP协议一定要浏览器来发送吗?

答:不是,HTTP既然是一种协议,那么只要满足这种协议,什么工具都可以发。


HTTP请求信息和相应信息的格式

请求:

(1)        请求行

(2)        请求头信息

(3)        请求主体信息(可以没有)

(4)        请求信息结束后和响应信息之间要空一行

请求行又分3部分:请求方法 请求路径 所用的协议

请求方法:GET  POST  PUT  DELETE  TRACE  OPTIONS

请求路径:就是URL的一部分

所用的协议:目前一般是HTTP/1.1,0.9和1.0已经基本不用

telnet完成HTTP协议的GET请求:

HTTP协议-telnet实现HTTP协议的方法请求

用telnet完成HTTP协议的POST请求

HTTP协议-telnet实现HTTP协议的方法请求
这里可以看到,get与post的请求的不同之处,post如果要提交请求数据,请求主体是必要的,且主体中不仅要有发送的数据,content-type 与 content-length 也是缺一不可。