HTTP相关知识总结

超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的 WWW(万维网) 文件都必须遵守这个标准。设计 HTTP 最初的目的是为了提供一种发布和接收 HTML 页面的方法。
HTTP位于应用层HTTP是基于TCP的

一、引例

引:在浏览器中输入url地址(www.baidu.com),为什么会出现页面?

主要是有这么几个步骤:

  • 1、首先浏览器会根据这个域名解析到对应的IP(这个过程是交由DNS来解析的)
    • 先去浏览器缓存中检查有没有解析过这个域名对应的IP,如果有直接返回
    • 如果没有,就去本地缓存中去寻找(对应的就是本地hosts文件,查看有没有对应的映射) ,如果有则使用这个域名对应的ip
    • 如果没有则会请求本地DNS服务器去查询它的缓存记录,如果存在就返回(80%是都可以查到的)
    • 如果本地DNS服务器没有的话,就去请求DNS根服务器进行查询,根DNS服务器里面没有域名与IP的对应关系,但是可以返回给本地DNS服务器一个域服务器的地址,告诉本地DNS服务器去这个域服务器上去寻找
    • 本地DNS服务器继续向域服务器发出请求,域服务器会告诉本地DNS服务器,你的域名的解析服务器的地址。
    • 然后本地DNS服务器向域名的解析服务器发出请求,这时就能收到一个域名和IP地址对应关系,拿到这个IP,同时进行缓存以便下次查询使用
  • 2、拿到IP以后就相当于找到服务器,先建立TCP连接(三次握手)
  • 3、连接成功,浏览器想服务器发送HTTP请求
  • 4、服务器处理接收的请求(包括参数、cookies等等),并返回HTTP报文(可以使HTML响应)
  • 5、浏览器根据获得的响应渲染页面
  • 6、断开连接

二、HTTP长连接,短连接

  • 短连接
    • 简单来讲就是客户端和服务器端每进行一次HTTP操作,就建立一次连接,当任务结束(数据传输完毕)就关闭连接
    • 管理简单,对服务器压力小,但是频繁的请求会在TCP频繁建立连接、关闭连接上耗费大量的时间
  • 长连接<
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值