最近在面试,所以想找机会把我自己知道的HTTP的相关知识做一个记录
一。HTTP是什么
Http是超文本传输协议,他是网络应用层的协议,底层用到了TCP传输协议
二。HTTP的特点
1.协议简单、效率高
2.Http协议支持多种格式的数据,一般会用content-type标记
3.无连接:Http的每一次请求都是一个连接,客户端收到响应结果后就会断开连接,其实也叫做短连接,HTTP可以设置长连接,connection设置为keep-Alive (仅供参考,不知道对不对,我查了一些资料应该是这样的)
4.无状态:HTTP协议是无状态的,客户端发送第二次请求时如果需要到第一次的相应结果时,需要再发送一次请求,这样就会很没有效率,我们使用session解决这个问题
5.C/S B/S架构
三。HTTP的原理
HTTP定义了客户端如何发送请求到服务器端、服务器端如何响应客户端的协议,HTTP采用请求/相应模型,客户端发送请求报文包括:请求行、请求头、请求体 ,服务器端发送响应报文到客户端,响应报文包括:相应行、响应头、相应体。
一般会包括下面几个步骤:
1.客户端连接到服务器
2.如果连接正常,发送请求
3.服务器端收到请求,作出相应,发送相应数据到客户端
4.断开连接
5.客户端收到响应请求后,解析相应数据
四。get请求和post求情的区别
1.get请求比较简单,参数放到地址里面。post请求把参数封装到请求体中
2.get请求请求数据有大小限制,一般是2048KB,post请求的大小会大一些,
3.post请求会比get请求安全