系列文章目录
http://t.csdnimg.cn/sVlfV
掌控网络之魂:深度揭秘TCP三次握手的逻辑与原理
一.HTTP概述
HTTP(HyperText Transfer Protoco本传输协议)是一种用于传输超媒体文档(例如 HTML)的应用层(它直接面向用户或应用程序,负责为用户提供各种网络服务)协议.
HTTP协议作为应用层的核心协议之一,主要负责在Web浏览器与Web服务器之间进行信息交换,实现分布式、协作式、超媒体信息系统的通信。
它基于客户端-服务器模型,设计目的是确保客户端与服务器之间的通信
二、HTTP报文结构
无论是请求还是响应,HTTP报文都由起始行(Start Line)、首部(Headers)和主体(Body,可选)三部分组成。
起始行(重点关注)
代码如下(示例):
表示以 get 方法请求XXX网站(以https://www.example.com/articles/latest为例),
HTTP/1.1目前是互联网上使用最广泛的版本,但技术的发展不断推动着标准的进步。最新的HTTP协议已经发展到了HTTP/3.
服务器接收到上述请求后,假设成功,则会发送HTTP状态码( 200 代表成功 ) 服务器就会回送一个HTTP响应.
HTTP响应的状态行:
HTTP/1.1 200 OK
三.HTTP请求与响应交互过程
客户端请求:当用户在浏览器输入URL或点击链接时,浏览器会创建一个HTTP请求。这个请求包含请求方法、URL、必要的头部信息,以及可选的请求体。通过TCP连接(通常使用80端口对于HTTP,443端口对于HTTPS)将此请求发送给目标服务器。
服务器处理:接收请求后,服务器解析报文,根据请求的方法和URI找到相应资源并进行处理,如读取文件或执行脚本。服务器随后生成包含状态码、响应头部信息和响应体的HTTP响应报文。
响应发送:通过同一TCP连接,服务器将响应报文发送回客户端。
客户端接收与呈现:浏览器收到响应后,根据状态码判断请求是否成功,通过响应头部了解资源信息,最后将内容展示给用户。
客户端请求:用户在浏览器中操作时(如输入URL或点击链接),浏览器生成HTTP请求,包括方法、URL、必要头部,可能的请求体,通过TCP(80或443端口)发送至服务器。
服务器处理:收到请求,服务器解析报文,定位资源,执行操作(如文件读取、脚本运行),生成包含状态码、响应头部、响应体的响应报文。
响应返回:服务器通过TCP连接发送响应报文至客户端。
客户端解析:浏览器接收响应,根据状态码、头部信息处理资源,完成用户界面渲染。
总结
HTTP是Web技术中最重要的基石之一,它的设计简单、灵活,使得它不仅用于浏览网页,还被广泛应用于API和Web服务中.