1.HTTP简单介绍
1.1HTTP协议
超文本传输协议,这个协议就像交通法规,做web开发都要遵循这个协议。
1.2介绍HTTP协议
(1)主要负责:超文本的传输,对传输内容、格式进行约定
(2)顶上层协议:TCP协议(传输控制协议)
2.HTTP协议的特点
(1)简单快速
(2)灵活
(3)无连接
(4)无状态
(5)支持B/S和C/S架构
2.1超文本传输协议的特性
(1)单向性:必须先有请求,然后才会有响应。
优点:如果浏览器是双向性的,所有网站都可以给你发消息,那浏览器就会崩溃,但各种小网站默认把信息给打开了。
(2)长链接:一次链接里可以发送多次请求,接收多次响应。
原理:三次握手,发送请求、接收响应;四次挥手,断开连接。
(3)无状态:对事务的处理没有任何记忆能力,只是发送一些数据。
3.http协议的交互流程
3.1http协议约束信息
请求信息:请求行(方式-uri-协议-版本)、请求头(n个)、请求内容
应答信息:应答行(协议-状态代码-描述)、应答头、应答正文
3.2常见的响应状态码
200 OK //客户端请求成功
400 Bad Request //客户端请求有语法错误,不能被服务器理解
401 Unauthorized //请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用
403 Forbidden //服务器收到请求,但拒绝提供服务
404 Not Found //请求资源不存在,eg:输入了错误的URL
500 Internal Server Error //服务器发生不可预期的错误
503 Server Unavailable //服务器当前不能处理客户端的请求,一段时间后可能恢复正常
3.3HTTP响应状态码
1** ----信息,服务器收到请求,需要请求者继续执行操作
2**----成功,操作被成功接受并处理
3**----重定向,需要进一步的操作以完成请求
4**----客户端错误,请求包含语法错误或无法完成请求
5**----服务器操作,服务器在处理请求的过程中发生错误
4.HTTP请求方法的Get/Post区别
Get:请求获取由Request-URL所标识的资源
Post:在Request-URL所标识的资源后附件新的数据
4.1缓存角度
Get有缓存,Post无缓存
缓存的好处:加快响应速度,减少服务器压力,减少网络带宽的占用,幂等:同一个url的多个请求应该返回同样的结果。
4.2请求参数的位置
Get资源路径后面,Post请求实体内容
4.3传输数据量大小
Post传输数据量大于Get传输数据量
4.4数据安全性
Get不安全(1.显示在地址栏里2.有缓存,翻看缓存信息),
post相对安全(因为想一些游戏,他是可以修改你的数据包的)
4.5为什么Post方式好还把Get方式当做默认?
因为网络以读取数据为主,最看重的是数据缓存,所以用Get.