完整教程:38.应用层协议HTTP(一)

HTTP协议概念和理解

HTTP(HyperText Transfer Protocol,超文本传输协议)是一个至关重要的协议。它定义了客户端(如浏览器)与服务器之间如何通信,以交换或传输超文本(如HTML文档)(应用层协议)
URL(Uniform Resource Locator,统一资源定位符)是互联网上用于标识和定位资源的标准化地址格式。
URL构成实例:
https://news.qq.com/rain/a/20250418A05TE500
  • https(协议名称)
    成熟的协议,端口号是固定的!
    https:443
    http:80
    ssh:22
    news.qq.com(域名)
  • 域名 -> IP地址 ->直接用IP为什么不好?IP不利用人的阅读,人看不出含义
    域名有对应的域名服务器进行解析(存放域名键值对的服务器,属于基础设施),域名转化成IP的过程称为DNS(Domain Name System,域名环境是互联网的核心服务之一,用于将人类可读的域名转换为计算机可识别的IP地址,实现网络访问的“地址翻译”)
  • /rain/a/20250418A05TE500(资源路径)
    你访问的资源路径 -> linux路径分隔符
HTTP协议,本质也是Socket通信->必须知道服务器IP(域名)+ 端口号(成熟协议端口号固定)
HTTP协议本质理解:
人上网的行为就两种:
1)从远端拿资料(HTTP)
2)把自己本地的资料上传给远端
HTTP -> 传送文件的 -> 短视频,视频,网页,图片,音频 -> 在没有获取资源的时候,资源存在哪里?服务器内部 ->以什么形式存在?一个文件
HTTP角度:“资源”即文件,文件在Linux特定路径下。
http[s]:port
域名:IP地址,具有唯一性
资源路径:目标机器上唯一一个文件
http[s]:port:定位到全网唯一主机的唯一文件(超文本传输协议)

url特殊字符处理

浏览器),会自动给我们进行对特殊字符进行编码encode,浏览器urlencode,服务器urldecode。就是请求的时候,url中如果有特殊字符,客户端(一般

HTTP-request结构理解

HTTP协议:结构化的,协议是通信双方约定的结构体。

不是所有的HTTP请求,都会携带内容。

三个问题:

1.http如何做到报头和有效载荷的分离?以空行为分隔符

2.http协议如何理解?特殊字符串来划分区域

3.http协议,序列化与反序列化,在哪里表现?

HTTP协议,序列化与反序列化用的是特殊字符进行子串拼接,且不依赖任何第三方库。

request结构分析

Request请求行:请求方法 URI HTTP版本

  • 请求方法类型:最常见的GET(从远端服务器获取数据),POST(向远端服务器发送数据)
  • URI:统一资源标识符(Uniform Resource Identifier),用于表示资源所在的路径。
    其中 / 代表请求的是首页
  • 通过HTTP版本:用于服务器进行判断版本(服务器根据客户端的HTTP版本请求能够提供相应版本的服务)

Response状态行:HTTP版本 状态码 状态码描述

URI理解

怎么表示自己要请求什么资源?URI表示就是请求

网页内容必须在服务器指定路径下的文档(图片,视频... css,js....)

URI内容 / 不是Linux根目录,而是web根目录-> 资源都放在web(http)根目录下 ->请求我们代码中的 ./wwwroot 目录下的特定路径下的资源。就是http请求的本质,其实就我们要请求的资源的路径。就是而URL中的路径,就

URI路径转化成物理路径:

  • 首页:./webroot + /index.html就是/ ,访问的
  • 其他页面:./webroot + /a/b/c.html就是/a/b/c.html ,访问的

报文完整性判断方法

tcp协议是面向字节流的,读取后,需要对报文的完整性进行判断,方法:

1)读到完整的请求报头(空行分割)

2)对报头进行反序列化,提取一个属性:Content-Length(有效载荷长度)

3)从剩余字符串中,提取Content-Length个字符。

首页结构理解

a标签是存放资源路径或者url的。点击链接,浏览器会向服务器发起http请求。

我们在浏览器端请求的时候,首页作为站点的入口,一个网站就是一颗多叉树

通过http request的 URI 表示的。就是点击链接的时候,浏览器会形成新的访问地址,发送二次请求 -> 我们请求的资源,都

code理解

HTTP Response会经过特定状态码来标识对应的情况。

posted on 2025-09-26 09:26  ljbguanli  阅读(17)  评论(0)    收藏  举报