首页 / 知识
HTML5前端开发入门知识点:HTTP协议含义详解
2023-04-11 14:40:00
1. 使用谷歌/火狐浏览器分析
在Web应用中,服务器把网页传给浏览器,实际上就是把网页的HTML代码发送给浏览器,让浏览器显示出来。而浏览器和服务器之间的传输协议是HTTP,所以:
HTML是一种用来定义网页的文本,会HTML,就可以编写网页;
HTTP是在网络上传输HTML的协议,用于浏览器和服务器的通信。
Chrome浏览器提供了一套完整地调试工具,非常适合Web开发。
安装好Chrome浏览器后,打开Chrome,在菜单中选择“视图”,“开发者”,“开发者工具”,就可以显示开发者工具:
![]()
HTML5前端开发入门知识点:HTTP协议含义详解
说明
Elements显示网页的结构
Network显示浏览器和服务器的通信
我们点Network,确保第一个小红灯亮着,Chrome就会记录所有浏览器和服务器之间的通信:
![]()
HTML5前端开发入门知识点:HTTP协议含义详解
2. http协议的分析
当我们在地址栏输入www.baidu.com时,浏览器将显示百度的首页。在这个过程中,浏览器都干了哪些事情呢?通过Network的记录,我们就可以知道。在Network中,找到www.baidu.com那条记录,点击,右侧将显示Request Headers,点击右侧的view source,我们就可以看到浏览器发给新浪服务器的请求:
2.1 浏览器请求
![]()
HTML5前端开发入门知识点:HTTP协议含义详解
![]()
HTML5前端开发入门知识点:HTTP协议含义详解
说明
最主要的头两行分析如下,第一行:
GET / HTTP/1.1
GET表示一个读取请求,将从服务器获得网页数据,/表示URL的路径,URL总是以/开头,/就表示首页,最后的HTTP/1.1指示采用的HTTP协议版本是1.1。目前HTTP协议的版本就是1.1,但是大部分服务器也支持1.0版本,主要区别在于1.1版本允许多个HTTP请求复用一个TCP连接,以加快传输速度。
从第二行开始,每一行都类似于Xxx: abcdefg:
Host: www.baidu.com
表示请求的域名是www.baidu.com。如果一台服务器有多个网站,服务器就需要通过Host来区分浏览器请求的是哪个网站。
2.2 服务器响应
继续往下找到Response Headers,点击view source,显示服务器返回的原始响应数据:
![]()
HTML5前端开发入门知识点:HTTP协议含义详解
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网页。
请注意,浏览器就是依靠Content-Type来判断响应的内容是网页还是图片,是视频还是音乐。浏览器并不靠URL来判断响应的内容,所以,即使URL是http://www.baidu.com/meimei.webp,它也不一定就是图片。
HTTP响应的Body就是HTML源码,我们在菜单栏选择“视图”,“开发者”,“查看网页源码”就可以在浏览器中直接查看HTML源码。
|
最新内容
相关内容
python网络编程及前端常见问题
python网络编程及前端常见问题,数据,服务,分析,培训,状态,前端,区别,服务器,常见问题,上面,当我们学习Python时,需要掌握的的知识有很多,除了有pythonC++和Python先入门哪个比较
pythonC++和Python先入门哪个比较好?,培训,入门,pythonHTTP与HTTPS之间的区别
pythonHTTP与HTTPS之间的区别,培训,区别,之间,python零基础入门Python先学Django
python零基础入门Python先学Django还是Flask?,基础,培训,入门,python如何开发网站
python如何开发网站,网站,技术,培训,数字,数据,商业,价值,网络,人工智能,代码,Python是一门简单易学的编程语言,代码简洁优美,最近,随着人工智能pythonpython是前端语言吗?
pythonpython是前端语言吗?,代码,互动,培训,平台,标准,设计,语言,前端,语法,解释性,python语言属于后端开发语言。Python是一个高层次的结合python用什么编辑器开发
python用什么编辑器开发,代码,环境,时间,项目,工具,官网,培训,工程,软件,系统,常用的几款Python集成开发环境或者编辑器Pycharm如果你是做大python如何嵌入C/C++进行开发
python如何嵌入C/C++进行开发,培训,代码,项目,数字,工作,函数,原型,文件,目录,类型,如果你想把Python嵌入C/C++中是比较简单的事情,你需要的是pythonaiohttp库如何理解
pythonaiohttp库如何理解,培训,状态,消耗,参数,字符串,字典,框架,实例,模块,以上,python中aiohttp库如何理解1、aiohttp是一个基于asyncio模pythonHTTP方法有哪些
pythonHTTP方法有哪些,服务,状态,培训,方法,都会,头部,函数,之外,以前,以上,python中HTTP方法有哪些1、除了GET之外,其他流行的HTTP方法包括PO关于asp.net:.NET – 获取协
关于asp.net:.NET 获取协议,主机和端口,关于asp.net:.NET 获取协议,主机和端口,主机,方法,协议,我在,.NET - Get protocol, host,我可以在Intranet中访问ASP.NET开
我可以在Intranet中访问ASP.NET开发服务器吗?,我可以在Intranet中访问ASP.NET开发服务器吗?,启动,执行,服务器,网站,Can I access ASP.