面试准备 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 的区别

测试开发面试准备之HTTP协议-Http常用请求方法

测试开发面试准备之HTTP协议-TCP与UDP基本区别

测试开发面试准备之HTTP协议-Get, POST的区别?

腾讯面试官问我:HTTPS 是怎么从 HTTP 转过来的?还好我早有准备

让面试官颤抖的 HTTP 2.0 协议面试题