http协议

1      什么是协议:即约定规则2

2      数据在网络传输常见的规则有哪些:http,ftp,pop3,pop,imap,流媒体协议

3 。 http 是htpyer text transform protocal: 即超文本传输协议  ,html 是超文本标记语言

4      http 的模型:是基于请求-响应的模型,协议部分分为请求部分,响应部分

5     请求部分格式: 请求行,请求头,请求体

       响应部分格式:响应行,响应头,响应体

请求部分

请求行: 请求方式(常用get,post),请求资源的路径,请求协议和版本号

请求头:key:value的形式,分为两部分:一部分告诉服务端:客户端信息,第二部分是对本次请求的一些描述

例如我们请求 百度的logo  :https://www.baidu.com/img/bd_logo1.png

请求体:请求方式为post时,才有请求体,我们表单 即客户端给服务端传递的数据


响应部分

响应头:

server:响应的服务器类型

 

常见面试问题:

1:当我们浏览器访问时,uri 中对某些字符有时使用了百分号编码,有时候却没有,那种方式更适合

2: 如何识别出那些数据是来自缓存,响应的http头部,哪个属性了这个响应可以被浏览器缓存

3:前端如果需要跨域,如何在不违背web架构下的安全策略

5:http的4XX,5XX分别表示什么含义,如何跟踪用户的行为

6:ssl性能优化时,为什么重点在session缓存或者ticket 票据呢

7:如在tcp中发现TIME_WAIT,CLOSE_WAIT,FIN_WAIT 状态时都是什么原因导致的

8:ipv6和ipv4有什么不同

http1.0 不支持实时服务端向客户端刷新数据,所以有了websocekt协议

但是在效率和多路复用中性能表现一般,所以有了http 2.0

当网络缓慢丢包率非常高的时候,或者在高并发的情况下有很多问题,就需要我们对更底层的协议进行了解

tcp是进程与进程之间的通信,主机和主机之间的通讯是ip

当我们放问一个url,然后得到对应的html,经过浏览器渲染,如果发现有超链接,例如js,图片css等会请求对应的文件,js解释器 解析,然后浏览器绘制ui界面

详细的过程

为什么协议要分那么多层:

这样的好处时:因为上层无需知道底层怎么实现的,当上层协议升级(例如http1.0 升级为2.0,对session一下没有影响)

但是也有害处:每次都要进行处理,会造成数据延迟

应用层:结局的是业务问题

表示层:负责将网络中的消息转化为应用层可识别的,tsl协议应用层不认识,需要进行转化

会话层:是概念化的一层,建立会话

传输成:解决进程的通信,例如主机收到报文,然后分发给对应的进程,tcp还做了报文的可达性和流量的控制

网络层:主机和主机

数据链路层:根据mac地址将数据发送给对应的交换机或路由器

物理层:物理介质

数据流风格:例如协议的分层,nginx也大量采用数据流风格

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值