应用层:Http、Https

1、理解URL

定位资源​​: 它是互联网资源的唯一标识,确保你能准确访问想去的页面。

​结构化信息​​: 它的每个部分都承载着特定信息,让浏览器和服务器能高效沟通。

​用户体验​ ​: 清晰、有意义的 URL(如 /products/iphone-15)比混乱的 URL

(如 /p?id=1234)对用户和搜索引擎都更友好。

2.Http请求和响应报头格式

虽然我们说, 应用层协议是我们程序猿自己定的.
但实际上, 已经有大佬们定义了一些现成的, 又非常好用的应用层协议, 供我们直接参考使用. HTTP(超文本传输协议) 就是其中之一.

3.编写简单的HttpServer(hello world版本)

构建响应

4.根据请求url,返回web根目录下对于的配置文件(源码+结果)

解析http请求

源代码:

结果:

5.理解http中的字段

5.1常用的请求方式 get 和 post

get:

post:

5.2http状态码

5.2.1状态码404

5.2.2状态码301(永久重定向)、302(临时重定向)

5.3常见的Header

Content-Type: 数据类型(text/html等)

**Content-Length:**Body的长度

Host: 客户端告知服务器, 所请求的资源是在哪个主机的哪个端口上;

User-Agent: 声明用户的操作系统和浏览器版本信息;

referer: 当前页面是从哪个页面跳转过来的;

location: 搭配3xx状态码使用, 告诉客户端接下来要去哪里访问;

Cookie: 用于在客户端存储少量信息. 通常用于实现会话(session)的功能

**referer:**上一个页面跳转过来的网址

connection:keep-alive:支持长连接

补充:一个巨大的页面是会包含非常多的元素的!每一个元素就是一个资源。

例如:一个页面上有100个元素,那么就要发起101次http请求。

5.3.1Connection:keep-alive 支持长连接

5.3.2文件数据类型

示例:一个页面存在多个资源,发送多个http请求

5.3.3cookie:用于记录客户端存储的消息

见一见:

原理:

cookie泄露问题

相关推荐
CoderCodingNo1 小时前
【GESP】C++三级真题 luogu-B4499, [GESP202603 三级] 二进制回文串
数据结构·c++·算法
Linux技术芯1 小时前
Refault Distance算法详解
linux
0vvv01 小时前
linux-软件安装
linux
IMPYLH1 小时前
Linux 的 nproc 命令
linux·运维·服务器·bash
hetao17338372 小时前
2026-04-09~12 hetao1733837 的刷题记录
c++·算法
九英里路2 小时前
OS学习之路——动静态库制作与原理
linux·学习·操作系统·unix·进程·编译·动静态库
6Hzlia2 小时前
【Hot 100 刷题计划】 LeetCode 136. 只出现一次的数字 | C++ 哈希表&异或基础解法
c++·算法·leetcode
汉克老师3 小时前
GESP2024年6月认证C++三级( 第二部分判断题(1-10))
c++·数组·位运算·补码·gesp三级·gesp3级
kcuwu.3 小时前
从0到1:VMware搭建CentOS并通过FinalShell玩转Linux命令
linux·运维·centos
s6516654963 小时前
linux-内核结构体
linux