应用层: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泄露问题

相关推荐
2301_793804693 分钟前
模板代码安全性增强
开发语言·c++·算法
干啥啥不行,秃头第一名6 分钟前
C++中的观察者模式
开发语言·c++·算法
Sean‘9 分钟前
Rancher 日志无法显示?WebSocket 代理配置是罪魁祸首
websocket·网络协议·rancher
羊小猪~~10 分钟前
算法/力扣--数组典型题目
c语言·c++·python·算法·leetcode·职场和发展·求职招聘
无敌昊哥战神12 分钟前
LeetCode 112. 路径总和 - 避坑指南与多语言全解法(C/C++/Python)
c语言·c++·leetcode
逻辑君12 分钟前
Research in Brain-inspired Computing [1]-弹球游戏
c++·人工智能·神经网络·机器学习
ulias21213 分钟前
C++ 异常处理机制
java·开发语言·c++
F1FJJ14 分钟前
开源实践:用 Go 实现浏览器直连内网 RDP/SSH/VNC
运维·网络·网络协议·网络安全·golang·ssh
计算机安禾15 分钟前
【数据结构与算法】第2篇:C语言核心机制回顾(一):指针、数组与结构体
c语言·开发语言·数据结构·c++·算法·链表·visual studio
dapeng287016 分钟前
C++代码重构实战
开发语言·c++·算法