Http 相关面试题

Posted danfengw

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Http 相关面试题相关的知识,希望对你有一定的参考价值。

1 问题:在浏览器地址栏键入URL,按下回撤之后经历的流程

答案:
1 DNS解析
2 TCP连接
3 发起HTTP请求
4 服务器处理请求并返回HTTP报文
5 浏览器解析渲染页面
6 连接结束

问题: HTTP 状态码

五种可能取值
1xx:指示信息----表示请求已接收,继续处理
2xx: 成功—表示请求已被成功接收、理解、接受
3xx:重定向—要完成请求必须进行更进一步的操作
4xx: 客户端错误:请求有语法错误或者请求无法实现
5xx: 服务端错误–服务器未能实现合法的请求
常见状态码
200 ok:请求成功
400 Bad Request: 客户端请求有语法错误,不能被服务器理解
401 Unauthorized:请求未经授权,这个状态码必须和WWW-Authenticate报头域一起使用
403 Forbidden:服务器收到请求,但是拒绝提供服务
404 Not Found: 请求资源不存在 ,比如输入了错误的url
400 Internal Server error:服务器发生不可预期的错误
503 server Unvaailable:服务器当前不能处理客户端的请求,一段时间后可能恢复正常

Get 请求与Post请求的区别

1 get请求一般用去请求获取数据,post请求用于上传数据
2 get将请求信息放在url中,安全性差,且url长度有限制,post放在报文体中,安全性好,且长度没有限制
3 get 请求保留在浏览器历史记录中,post 请求不会保留在浏览器历史记录中
4 get可以被缓存被存储(比如收藏书签),而POST不行

Cookie 与Session区别

区别:
cookie数据存放在客户端的浏览器上,Session 数据放在服务器上
Session相对于Cookie更安全
若考虑减轻服务器负担应当使用Cookie

介绍:
cookie:是由服务器发给客户端的特殊信息,以文本的形式存放在客户端
session:服务端的机制,在服务器上保存的信息,有两种实现方式: (1) cookie 实现方式 (2)url实现方式

Http 与Https 区别

Https 需要CA申请证书,HTTp不需要
https 密文传输,http明文传输
连接方式不同,https默认使用443 http使用80端口
https=http+加密+认证+完整性保护,较http安全

https 数据传输流程

1 客户端发起https请求
2 服务段接收到请求,会将自己的ca证书(公钥)发送给客户端
3 客户端对证书进行解析、认证,之后再生成一个随机值,通过公钥进行加密,发送给服务端
4 服务端接受到信息后,通过服务端证书的私钥进行解密,获取随机值,再以随机值作为私钥,对要传输的内容与私钥进行对称加密后,传输给客户端。完成数据的传输。
ps:ca证书相关的采用的是非对称加密,随机值与信息混合的方式采用的是对称加密,因此ca证书验证过后,只有拥有私钥的服务端才能解密信息,也就是只有拥有私钥的服务端才能解析出随机值。

加密方式

对称加密: 加密和解密都使用同一个密钥
非对称加密: 加密使用的密钥和解密使用的密钥是不相同的
哈希算法:将任意长度的信息转换为固定长度的值,算法不可逆
数字签名: 证明某个消息或者文件是某人发出/认同的

超文本传输协议HTTP主要特点
1 支持客户/服务器模式
2 简单快速
3 灵活
4 无连接
5 无状态

以上是关于Http 相关面试题的主要内容,如果未能解决你的问题,请参考以下文章

HTTPHTTPS详解及相关面试题

计算机网络 HTTP协议及相关面试题整理 (建议收藏)

大厂Java核心面试题出炉,建议细读

50w字+的Java技术类校招面试题汇总,Java篇

java面试题收集

HTTP - HTTP 面试题