servlet-02-HTTP协议
1、HTTP协议(hypertext transfer protocal)超文本传输协议
是一种应用层协议,定义了浏览器与服务器的通讯过程以及数据包格式
通讯过程:
step1:浏览器与服务器建立连接
step2:浏览器通讯模块将数据打包,并向服务器发送请求
step3:服务器通讯模块将数据打包,并向服务器发送响应
step4:服务器断开连接
注:通讯过程特点:一次请求一次响应,优势:可以使用有限的连接资源为更多的用户服务,效率更高
数据包格式:
请求数据包:
第一部分:请求行
请求类型:GET/POST
请求资源路径:/servlet01/sayHello?name=zs
协议类型以及版本号:HTTP/1.1
第二部分:若干消息头
游浏览器根据w3c规范自动生成的一些键值对,具有特定含义。比如user-agent,定义了浏览器的相关信息
第三部分:实体内容
参数名=参数值 如果是GET:此处是空,若是POST:name=zs
响应数据包:
第一部分:响应行
协议类型以及版本号:HTTP/1.1
响应状态码:200
状态码的描述信息:OK
第二部分:若干消息头
有服务器根据w3c规范生成一些键值对,具有特定含义。其中content-type可以通过编程设置
第三部分:实体内容
response缓存中数据
2、GET与POST区别
a. get携带的参数数据量有限,不同的浏览器限制的范围不一(2k-8k之间),为了兼容所欲的浏览器最好不要超过2k,而post请求参数是存放在实体内容中,理论上没有大小限制
b. post相对于get更安全。但是post也不是绝对性的安全,所以对于敏感的数据建议加密