面试视频知识点整理1-7(http协议)
http协议类
1)http协议的主要特点
简单快速 统一资源符
灵活 通过http协议,可以修改http头,完成不同数据类型的传输
无连接 连接一次就会断掉不会保持连接
无状态 客户端与服务器连接一次断了之后再次连接,服务器并不知道客户端是谁
2)http报文的组成部分
1、请求报文
请求行 (请求方式,http/http版本)
请求头
空行
请求体
2、响应报文
状态行
响应头
空行
响应体
3)http的方法
GET -> 获取资源
POST -> 传输资源
PUT -> 更新资源
DELETE -> 删除资源
HEAD -> 获取报文首部
4)post和get的区别
1、get参数在url里传递,post参数放在请求体里
2、get只支持url编码,post支持多种编码方式
3、get有长度限制,post没有限制
4、get比post更加不安全,get参数会暴露在url里,不能用来传递敏感数据
5、get请求会被浏览器主动缓存,而post不会,除非手动设置
6、get请求的url地址可以被收藏,post不可以
7、get浏览器回退是无害的,而post会再次提交
8、get请求参数会保留在浏览器历史记录里,而post不会
5)http状态码
1xx、指示信息-表示请求已被接收,继续处理
2xx、成功-表示请求已被成功接收(200:客户端请求成功 206:客户发送range头的get请求,服务器完成了它)
3xx、重定向-要完成请求必须进行进一步的操作 (301:所有请求的页面已经转移至新的url,302:所请求的页面已经临时转移到了新的url,304:客户端有缓存的文档发出一个条件性请求,服务器告诉用户原来缓存的文档还可以使用)
4xx、客户端错误-请求有语法错误或请求无法实现(400:客户端请求有语法错误,不能被服务器所理解,401:请求未被授权,403:请求的页面的访问被禁止,404:请求资源不存在)
5xx、服务器错误-服务器未能实现合法的请求(500:服务器发生不可预期的错误,503:请求未完成,服务器临时过载或当机,一段时间后可恢复正常)
6)什么是持久化连接(1.1才支持Keep-Alive)
http协议采用“请求-应答”模式,当使用普通模式,及非keep-alive模式时,每个请求/应答客户和服务器都要新建一个连接,完成以后会立即断开(http协议为无连接的协议)
当使用Keep-Alive模式(又称持久连接,连接重用)时,Keep-Alive功能是客户端到服务器端的链接持续有效,当出现对服务器的后继请求时,Keep-Alive功能避免了简历或者重新建立连接
7)什么是管线化
在使用持久化连接的情况下,某个消息的传递类似于这样
请求1->响应1->请求2->响应2->请求2->响应2
管线化的消息传递类似于这样(1、原理:打包一次返回 2、只有get和head请求支持,post有所限制 3、初次不要启动管线机制,对方不一定支持)
请求1->请求2->请求3->响应1->响应2->响应3