细谈HTTP,唯我独尊

HTTP协议

1. 简介

超文本传输协议(HyperText Transfer Protocol) 是一种应用层协议

设计最初目的就是为了提供一种发布和接收HTML页面的方法

在这里插入图片描述
在Web应用中,服务器把网页传给浏览器,实际上就是把网页的HTML代码发送给浏览器,让浏览器显示出来。而浏览器和服务器之间传输协议就是HTTP

  1. HTML是一种定义网页的文本,会HTML就可以编写网页
  2. HTTP是网络上传输HTML的协议,用于浏览器和服务器的通信

安装好Chrome浏览器后,打开Chrome,在菜单中选择“视图",“开发者”,“开发者工具”,就可以显示开发者工具:
在这里插入图片描述
3. Elements显示网络的结构
4. NetWork显示浏览器和服务器的通信
在这里插入图片描述

2. HTTP协议分析

​ 当我们在地址栏输入www.sina.com时,浏览器将显示新浪的首页。在这个过程中,浏览器都干了哪些事情呢?通过Network的记录,我们就可以知道。在Network中,找到www.sina.com那条记录,点击,右侧将显示Request Headers,点击右侧的view source,我们就可以看到浏览器发给新浪服务器的请求:

2.1 浏览器请求

在这里插入图片描述
说明:

GET / HTTP/1.1

GET表示一个读取请求,将从服务器获得网页数据,/表示URL的路径,URL总是以开头,就表示首页,最后的HTTP/.1指示采用的HTTP协议版本是1.1。目前HTTP协议的版本就是1.1,但是大部分服务器也支持1.0版本,主要区别在于1.1版本允许多个HTTP请求复用一个TCP连接,以加快传输速度。

2.2 服务器响应
在这里插入图片描述

HTTP响应分为Header和Body两部分(Body是可选项),我们在Network中看到的Header最重要的几行如下:

HTTP/1.1 200 OK

200表示一个成功的响应

Content-Type: text/html

Content-Type指响应的内容,这里是text/html表示HTML网页

请注意,浏览器就是依靠Content-Type来判断响应的内容是网页还是图片,是视频还是音乐。Х
览器并不靠URL来判断响应的内容,所以,即使URL是http://www.baidu.com/meimei.jpg它也不一定就是图片。

HTTP响应的Body就是HTML源码,我们在菜单栏选择“视图",“开发者",“查看网页源码"就可以在浏览器中直接查看HTML源码:
在这里插入图片描述
浏览器解析过程

当浏览器读取到新浪首页的HTML源码后,它会解析HTML,显示页面,然后,根据HTML里面的各种链接,再发送HTTP请求给新浪服务器,拿到相应的图片、视频、Flash、JavaScript脚本、CSS等各种资源,最终显示出一个完整的页面。所以我们在Network下面能看到很多额外的HTTP请求。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值