简单的http协议
分类:
文章
•
2023-03-23 09:01:59
1.http协议的使用方式
- 主要用户客户端(一般浏览器居多,也可以是一些工具,编程语言下的工具包,如java中的httpclient,okhttp等)与服务端间的通信
- 请求访问资源的称为客户端
- 响应请求,并处理返回资源的称为服务端
- 在两台计算机进行通信过程中,必定有一台是客户端,另一条是服务端
- 请求报文的简单示例


2. http协议是无状态协议
- http协议自身不对请求和响应之间的通信状态进行保存。也就是说在http这个级别,协议发送过的请求或响应都不做持久化处理。
- 请求通过uri进行资源的定位
3. http的请求方法
- get,获取资源,具有幂等性
- post,传输实体主体。不具有幂等性。
- put,用来传输文件
- head,获得报文首部
- delete,删除文件
- options,询问支持的方法
- trace,追踪路径
- connect,要求用隧道协议连接代理
4. 1.0与1.1的请求支持状态

5. 持久化连接节省通信量
- 在初始的http协议版本中,每一次http请求伴随着一次tcp请求,如果请求的数据多,就会造成通信的阻塞
- 为了解决这个问题,在http1.1中使用了keep-alive的方法,持久化的特点就是,只要一方没有明确提出断开连接,则保持tcp连接状态。这里需要说明的是,是保持tcp连接的状态,而不是http的状态。
- 线管化 持久化连接使得多数请求以线管化的方式进行通信。
6. 使用cookie技术保持会话状态
- 其实就是服务端产生的一个会话标识,将标识保存在浏览器一个叫cookie的东西中。在下一次请求中,将cooike一并发送给服务器,服务器就能识别是否为同一个用户发出的请求。
- cookie有内存限制,不宜存放较大的数据,例如chrome中就只能存放4K的数据。
- cookie的安全也是一个很重要的问题,一般不能让浏览器脚本操作cookie,所以在cookie中有个叫httponly的属性,以确保只能服务器能使用cookie。