HTTP协议

简介: 涉及到HTTP协议的入门,请求和响应的细节情况。方便初学者清晰的学习

1.学习路线
image.png
2.什么是HTTP协议
HTTP超文本传输协议 (HTTP-Hypertext transfer protocol),是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。它是一种详细规定了浏览器和万维网服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。
3.HTTP协议的发展历程
超文本传输协议的前身是世外桃源(Xanadu)项目,超文本的概念是泰德˙纳尔森(Ted Nelson)在1960年代提出的。进入哈佛大学后,纳尔森一直致力于超文本协议和该项目的研究,但他从未公开发表过资料。1989年,蒂姆˙伯纳斯˙李(Tim Berners Lee)在CERN(欧洲原子核研究委员会 = European Organization for Nuclear Research)担任软件咨询师的时候,开发了一套程序,奠定了万维网(WWW = World Wide Web)的基础。1990年12月,超文本在CERN首次上线。1991年夏天,继Telnet等协议之后,超文本转移协议成为互联网诸多协议的一分子。
当时,Telnet协议解决了一台计算机和另外一台计算机之间一对一的控制型通信的要求。邮件协议解决了一个发件人向少量人员发送信息的通信要求。文件传输协议解决一台计算机从另外一台计算机批量获取文件的通信要求,但是它不具备一边获取文件一边显示文件或对文件进行某种处理的功能。新闻传输协议解决了一对多新闻广播的通信要求。而超文本要解决的通信要求是:在一台计算机上获取并显示存放在多台计算机里的文本、数据、图片和其他类型的文件;它包含两大部分:超文本转移协议和超文本标记语言(HTML)。HTTP、HTML以及浏览器的诞生给互联网的普及带来了飞跃。
4.HTTP的主要特点
1.支持客户端/服务器模式。
2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、POST、HEAD等。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。
3.灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。
4.无连接:无连接的含义是连接双方在完成交互后不维持连接状态,当客户端发送新的请求后则开启新的连接。
5.无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。
5 HTTP协议的会话方式
5.1 浏览器与服务器之间的通信过程要经历四个步骤
image.png
5.2 浏览器与WEB服务器的连接过程是短暂的,每次连接只处理一个请求和响应。对每一个页面的访问,浏览器与WEB服务器都要建立一次单独的连接。
5.3 浏览器到WEB服务器之间的所有通讯都是完全独立分开的请求和响应对。
6.HTTP1.0和HTTP1.1的区别
在HTTP1.0版本中,浏览器请求一个带有图片的网页,会由于下载图片而与服务器之间开启一个新的连接;但在HTTP1.1版本中,允许浏览器在拿到当前请求对应的全部资源后再断开连接,提高了效率。
image.png
7.HTTP请求
7.1 客户端连上服务器后,向服务器发出获取某个Web资源的消息,称之为客户端向服务器发送了一个HTTP请求。一个完整的HTTP请求包括如下内容:
①请求行
URL地址中如果包含中文,浏览器会自动对中文字符进行编码之后再发送
②若干消息头(请求头)
③实体内容(请求体) 有可能没有
image.png
7.2 7.2 请求方式
①HTTP中定义了7种请求方式:POST、GET、HEAD、OPTIONS、DELETE、TRACE、PUT。其中最常用的是GET和POST
②GET请求
[1]从字面意思来说,GET请求是用来向服务器端获取信息而发送的请求。
[2]没有特殊设置,默认情况下浏览器发送的都是GET请求,例如点击超链接、在浏览器地址栏直接输入地址访问。
[3]GET请求也可以向服务器端发送请求参数,形式是在URL地址后面加上?,请求参数名和值用=连接,多个请求参数之间使用&分隔。例如:
GET /mail/1.html?name=abc&password=xyz HTTP/1.1
需要注意的是:GET方式所能够携带的数据是有限制的,其数据大小通常不能超过4K,不适于提交大量表单数据,故而在表单的提交方式中首选POST方式。
③POST请求
[1]POST请求的字面含义是向服务器端发送数据,仅在表单中设置method=”post”时,请求方式为POST方式[另外在Ajax应用中,可以指定请求方式为POST]。
[2]POST请求会将请求参数放在请求体中,而不是URL地址后面,并且发送数据的大小是没有限制的。
7.3 请求消息头
①请求消息头简称请求头,用来向服务器报告浏览器端的一些基本信息。
②常用请求头
image.png
7.4 7.4 请求体
①GET请求没有请求体
②POST请求:如果form表单提交的方式为post,则表单项的数据以请求体的形式发送给服务器,没有大小限制
8.HTTP响应
8.1 所谓响应其实就是服务器对请求处理的结果,或者如果浏览器请求的直接就是一个静态资源的话,响应的就是这个资源本身。
8.2 HTTP响应的组成
①响应状态行:包括协议版本、响应状态码、响应状态信息
②响应消息头:响应头
③实体内容:响应体
image.png
8.3 最常见的响应状态码
image.png
●响应状态码以2开头的通常表示成功。
●响应状态码以3开头的通常表示转移。
●响应状态码以4开头的通常表示无法访问,其中包括找不到资源或没有权限等。
●响应状态码以5开头的通常表示服务器端程序运行出错。
8.4 响应消息头:简称响应头
●服务器发送给浏览器的数据,为了告诉浏览器一些情况。
image.png
8.5 响应体:服务器给出的响应结果的主体,通常是用来在页面上显示的。
8.6 HTTP内容类型:当前响应体的数据类型。
①需要指出的是在浏览器和服务器之间传输的数据类型并非都是文本类型,还包括图片、视频、音频等多媒体类型。这些多媒体类型是使用MIME类型定义的。
②MIME的英文全称是"Multipurpose Internet Mail Extensions" 多功能Internet 邮件扩充服务。MIME类型的格式是“大类型/小类型”,并与某一种文件的扩展名相对应。
③常见的MIME类型
image.png

songhk487
+关注
目录
打赏
0
0
0
0
1
分享
相关文章
QUIC协议优化:HTTP/3环境下的超高速异步抓取方案
本文介绍了一种基于QUIC和HTTP/3的异步爬虫方案,用于抓取知乎热榜数据并生成趋势图。通过HTTPX与aioquic结合实现高性能连接复用,配合代理IP绕过反爬限制,提取标题、热度等信息。利用Python代码示例展示了异步抓取流程,并借助Matplotlib绘制话题热度变化图表。分析显示突发热点生命周期短,而深度话题热度更稳定。此方案可优化内容运营策略,快速捕捉潜在爆款话题。
116 4
QUIC协议优化:HTTP/3环境下的超高速异步抓取方案
MCP 协议: Streamable HTTP 是最佳选择
随着AI应用变得越来越复杂并被广泛部署,原有的通信机制面临着一系列挑战。近期MCP仓库的PR #206引入了一个全新的Streamable HTTP传输层替代原有的HTTP+SSE传输层。本文将详细分析该协议的技术细节和实际优势。
1920 98
HTTP 协议及会话跟踪机制详解
本文详解了 HTTP 协议的核心知识,包括其定义(超文本传输协议,基于 TCP,规定客户端与服务器通信规则)及与 HTTPS 的区别(安全性、端口、资源消耗)。 介绍了 GET 与 POST 请求的差异(参数限制、安全性、应用场景),以及 Restful 风格(通过 URL 定位资源,请求方式决定操作)。列举了常见 HTTP 状态码(如 200 成功、404 资源未找到),对比了转发与重定向的区别(服务器端一次请求 vs 客户端两次请求)。 还阐述了会话跟踪机制:Cookie 基于客户端存储,通过Set-Cookie和Cookie头实现,安全性较低;Session 基于服务端存储,依赖 C
|
10天前
HTTP协议中常见的状态码 ?
HTTP协议状态码分为1xx、2xx、3xx、4xx、5xx五类。常见状态码包括:101(切换协议)、200(请求成功)、302(重定向)、401(未认证)、404(资源未找到)、500(服务器错误)。
45 0
301重定向实现原理全面解析:从HTTP协议到SEO最佳实践
301重定向是HTTP协议中的永久重定向状态码,用于告知客户端请求的资源已永久移至新URL。它在SEO中具有重要作用,能传递页面权重、更新索引并提升用户体验。本文详解其工作原理、服务器配置方法(如Apache、Nginx)、对搜索引擎的影响及最佳实践,帮助实现网站平稳迁移与优化。
210 68
深入探讨HTTP/2.0协议的细节
在理解了所有这些细节后,你现在应该更加清楚HTTP/2.0是如何让数据高效地在互联网上快速移动的。而这只是一个简化的类比,实际的技术细节和协议规范更加丰富和复杂。随着时间的推移,HTTP/2.0的实现将继续优化,为我们提供更可靠、高效的网络体验。
47 0
http协议调试代理工具,Fiddler免费版下载,抓包工具使用教程
Fiddler是一款功能强大的HTTP协议调试代理工具,能记录并检查电脑与互联网间的HTTP通信,支持断点设置和数据编辑。相比其他网络调试器,Fiddler操作更简单且用户友好,支持查看Cookie、HTML、JS、CSS等文件内容。它还具备HTTPS抓包、过滤设置、统计页面总重量等功能,适用于安全测试与功能测试。通过插件扩展,用户可自定义视图或分析缓存行为。支持多种HTTP请求方法(如GET、POST等)及状态码分类(1xx-5xx),是开发者调试网络请求的得力工具。同类工具有HttpWatch、Firebug、Wireshark等。
225 1
|
1月前
|
HTTP协议深度剖析:常见请求头信息讲解
这就是HTTP请求头背后的工作原理,希望通过比作“邮差”和“标签”,可以让你对这个繁琐技术更有感触,更得心应手。尽管这些信息可能很琐碎,但了解了它们的含义和工作方式,就等于揭开了HTTP协议神秘的面纱,掌控了网络交流的核心。你还等什么,赶快动手尝试一下吧!
74 17
|
1月前
HTTP协议探究:常用方法一网打尽
总的来说,HTTP协议的命令犹如一把钥匙,解锁了互联网世界的大门。它是规则,也是工具,了解了它,就等于掌握了互联网的一把通行证。我们每天都在用,也常常无视它,但是只有深刻理解了它,才能更好地运用它。如此,我们的互联网世界旅程就会变得更加顺畅,更加有趣。
61 14
Linux网络应用层协议展示:HTTP与HTTPS
此外,必须注意,从HTTP迁移到HTTPS是一项重要且必要的任务,因为这不仅关乎用户信息的安全,也有利于你的网站评级和粉丝的信心。在网络世界中,信息的安全就是一切,选择HTTPS,让您的网站更加安全,使您的用户满意,也使您感到满意。
94 18

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问