初始HTTP
HTTP全称Hyper Text Transfer Protocol超文本传输协议 它是应用层协议,基于TCP协议 分为请求和响应两个部分
特点:简单可扩展
还是无状态(比较重要)的,每个请求都是孤立的
1、客户端发送请求给服务器
2、服务器处理该请求
3、服务器将处理结果响应该客户端
HTTP发展史:
协议分析
GET请求一个指定资源的表示形式. 使用GET的请求应该只被用于获取数据
POST用于将实体提交到指定的资源,通常导致在服务器上的状态变化或副作用
PUT用请求有效载荷替换目标资源的所有当前表示
DELETE删除指定的资源
HEAD请求一个与GET请求的响应相同的响应,但没有响应体
CONNECT建立一个到由目标资源标识的服务器的隧道。
OPTIONS用于描述目标资源的通信选项。
TRACE沿着到目标资源的路径执行一个消息环回测试
PATCH用于对资源应用部分修改。
状态码:
200 OK- 客户端请求成功
301 资源 (网页等) 被永转移到其它 URL
302 临时跳转
401 Unauthorized- 请求未经授权
404 请求资源不存在,可能是输入了错误的 URL
500 服务器内部发生了不可预期的错误504 Gateway Timeout-网关或者代理的服务器无法在规定的时间内获得想要的响应
RESTful API:一种API设计风格
(1)每一个URL代表一种资源
(2)客户端和服务器之间,传递这种资源的某种表现层
(3)客户端通过HTTP method,对服务器端资源进行操作,实现“表现层状态转化”。
缓存:
cookie其实就是一些数据信息,类型为“小型文本文件”,存储于电脑上的文本文件中。
cookie机制采用的是在客户端保持 HTTP 状态信息的方案 每一个cookie都有一个name和一个value,且name是唯一的。 一个WEB浏览器也可以存储多个WEB站点提供的Cookie。浏览器一般只允许存放300个Cookie,每个站点最多存放20个Cookie,每个Cookie的大小限制为4KB。 利用cookie我们就可以实现自动登录,保存游览历史,身份验证等功能。
总结: HTTP协议是为了让服务端和浏览器端达到一个共同的原则,可以让两边进行通信,它重要的特点是一发一收,一问一答,其中的POST和GET本质没有区别,但是细节上有区别,GET习惯从服务器获取数据,POST是客户端给服务器提交数据,GET请求可以被缓存,可以被浏览器保存,POST请求不能被缓存。