面试准备 HTTP协议
Posted -constructor
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面试准备 HTTP协议相关的知识,希望对你有一定的参考价值。
http协议的主要特点
简单快速 //某个资源是固定的 (统一资源符)UII
灵活 //http头部有个数据类型,完成不同数据类型的传输
无连接 //链接一次就会断开
无状态 //客户端和服务端是两种身份 http中间建立链接(不区别两次链接者的身份)
http报文组成部分
请求报文:
请求行:请求方法 页面地址 http协议版本
请求头 Header //key value
空行 /r/n/r/n
请求体 body
HTTP方法
GET --- 获取资源
POST --- 传输资源
PUT ---- 更新资源
DELETE --- 删除资源
HEAD --- 获得报文首部
POST与GET区别
GET在回退的时候无害的 POST会再次请求
GET产生的地址可以收藏 post不行
GET会被浏览器主动缓存。POST不会除非设置
GET只能进行URL编码,POST多种编码
GET中参数会被完整保留在历史记录中。post不会
GET在url中传送参数是有长度限制,post没有
get只接受ascll字符。post不会
get比post更不安全。因为参数直接暴露在url上,所有不能传递敏感信息
get通过url传递。post放在request body中
http状态吗
1开头 指示信息 请求已经接受,继续处理
2开头 成功 请求被成功接受
200 客户端请求成功
206 播放视频音频文件 (文件比较大)
3 重定向 要完成请求必须更进一步的操作
301 请求转移新的url
302 临时转移新的url 临时重定向
304 电脑有缓存
4 客户端错误 请求语法错误或请求无法实现
400 语法错误
401 未授权
403 请求页面被禁止
404 资源找不到
5 服务器错误 服务器未能实现合法的请求
500 服务器错误
503 临时过载或当机
HTTP持久连接
请求-应答模式 每次请求/应答要建立连接 完成后断开连接
http1.1 就支持了持久连接
// 当使用Keep-Alive模式(持久连接)能使客户端与服务器的连接持续有效
当出现后继请求的时候。KeepAlive功能避免了建立或重新建立连接
HTTP管线化
持久连接 (连接不会中断)
请求1 --响应1--请求2--响应2
某个连接上的消息变成类似这样
请求打包 响应打包
请求1--请求2--响应1--响应2
//这块我了解原理怎么用
//没有认真研究过
//业务中已经够用了
//什么好的资料可以补充一下细节
管线化特点:
持久连接 版本http 1。1
GET和HEAD请求可以用 post有所限制
初次连接不用管线化机制
以上是关于面试准备 HTTP协议的主要内容,如果未能解决你的问题,请参考以下文章
测试开发面试准备之HTTP协议-Http Https 的区别