HTTP-原生web框架

本文介绍了HTTP协议的基础知识,包括HTTP协议的作用、浏览器请求和服务器响应的详细过程。通过Chrome浏览器的开发者工具,展示了HTTP请求和响应的分析,解释了GET和POST请求的区别,并探讨了浏览器如何解析HTML并加载相关资源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.HTTP协议

1.http协议介绍

在Web应用中,服务器把网页传给浏览器,实际上就是把网页的HTML代码发送给浏览器,让浏览器显示出来。而浏览器和服务器之间的传输协议是HTTP,所以:

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

科普:Chrome浏览器提供了一套完整地调试工具,非常适合Web开发。
        安装好Chrome浏览器后,打开Chrome,在菜单中选择“视图”,“开发者”,“开发者工具”,就可以显示开发者工具:

 

  1. Elements显示网页的结构
  2. Network显示浏览器和服务器的通信

我们点Network,确保第一个小红灯亮着,Chrome就会记录所有浏览器和服务器之间的通信:

 2.http协议分析

源码分析:

2.1浏览器请求

GET / HTTP/1.1 
Host: 127.0.0.1:8080 
Connection: keep-alive 
Upgrade-Insecure-Requests:1
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/75.0.3770.100 Safari/537.36

Accept:
text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,/;q=0.8,appl
ication/signed-exchange;v=b3

Accept-Encoding: gzip, deflate, br 
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8

最主要的头两行分析如下,第一行:

GET / HTTP/1.1 

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

一个HTTP请求报文可以由请求行、请求头、空行和请求体4个部分组成。
请求行是由三部分组成:
1.请求方式
2.请求资源路径(URL)
3.HTTP协议版本
GET方式的请求报文没有请求体,只有请求行、请求头、空行组成
POST方式的请求报文可以有请求行、请求头、空行、请求体四部分组成,注意:POST方式可以允许没有请求体,但是这种格式很少见

 

2.2服务器响应

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

HTTP/1.1 200 OK 

200表示一个成功的响应,后面的OK是说明。
如果返回的不是200,那么往往有其他的功能,例如

  • 失败的响应有404 Not Found:网页不存在
  • 500 Internal Server Error:服务器内部出错
  • 等等
Content-Type: text/html 

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

2.3浏览器解析过程

当浏览器读取到百度的HTML源码后,它会解析HTML,显示页面,然后,根据HTML里面的各种链接,再发送HTTP请求给百度服务器,拿到对应的图片、视频、js脚本,css等各种资源,最终显示出一个完整的页面。所有在NetWork下面能看到很多额外的HTTP请求。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值