5.Http 协议
协协议:就是两方及多方的共同签署的约定(规则)、格式
Http: 1.它是一种网络协议,基于网络七层协议中的应用层的一种协议(http协议是在tcp协议之上进行了封装)。
2. 请求/响应 模型
3.该协议是无状态性的(一次请求后,下次再请求,服务端不能识别是 同一个用户请求。换句话说服务 端无法记录用户的状态)
当没有一种通讯标准的时候,浏览器、服务器是无法进行通讯的。
5.1请求/响应 模型
请求:客户端浏览器写了一封信发送到服务端(书信)
响应:服务端收到来信后,应该写回信(书信)
书信:有书信的书写的格式:
To :收信人的地址
Content:内容
From :发信人
浏览器客户端、web服务器都是在基于http协议上进行通讯。http协议也有相应的格式。
5.2 URL、URI
Uri:统一资源标识符:标识具体的某一个资源(资源在网络上)
eg: /index.html 、 /xx.jpg......
Url:统一资源定位符:标识具体的某一个资源(精确)
Url = 协议 + ip(域名) + 端口号 + uri
eg: http://127.0.0.1:80/index.jsp url地址
Ip(域名) : 可以找到网络上的服务主机
端口:可以找网络上服务主机的服务软件
Uri : 可以找到网络上服务主机管理的应用的资源
总结:uri 要大于 url,因为uri描述的资源更加广泛。
5.3 http协议通讯的格式:
请求格式:
总结:请求格式由请求行、请求头、空白行、请求正文构成
http协议1.0 vs 1.1
http1.0协议:保存跟服务端短暂的连接 (tcp建立的连接)
一次请求一次响应,tcp建立的连接断掉
http1.1协议:支持长连接(tcp建立的连接)
可以在一次tcp连接中发送多次http请求
响应格式:
总结:响应格式由响应行、响应头、空行、响应正文构成
5.4 get请求方式 VS post请求方式
Get方式:
直接在浏览器地址栏输入后回车
页面中存在img标签、a标签、link标签、script标签
Post方式:
一般来说表单form标签中的method属性指定提交方式为POST
区别(面试题)
1.get 请求方式和 post 请求方式都可以向服务端提交数据
2.get 请求方式请求参数(要提交的数据),直接书写在url地址后面,没有请求正文。eg:在浏览器地址栏中,输入了http://127.0.0.1/index.html?name=lisi&password=123
3.post 请求方式提交数据的时候使用的表单form中的表单域标签提交数据的(input、select、radio、checkbox等),输入域中的值会写入到请求正文中。
4.get 方式提交的数据直接暴露在了浏览器的地址栏中,所有对于提交的数据比较敏感的话,不安全。Post提交的数据在请求正文中,相对要安全些
5.get方式请求提交的数据的大小有限制。Post方式提交的数据理论上是没有大小限制的。
6.get方式请求的效率高一些