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

相关推荐
Linux-lucky6 小时前
21-Linux学习之旅之HTTPS和安全加固
linux·运维·学习·ubuntu·https
清水白石0087 小时前
Python 死锁排查全攻略:从线程卡死到锁依赖定位与工程化修复
linux·网络·python
游戏开发爱好者87 小时前
带签名时间戳接口的重放与压力测试实战,用动态值在发送前现算签名
网络协议·计算机网络·网络安全·ios·adb·https·压力测试
luj_17687 小时前
桥牌思维启示:系统设计的模块化架构
c语言·开发语言·c++·经验分享·算法
TechWayfarer7 小时前
批量查IP归属地,在线API、脚本、离线库怎么选?三种方案实测对比
网络·python·网络协议·tcp/ip
会周易的程序员8 小时前
aiDgePLC iec61131 虚拟机 完整使用文档
c++·物联网·架构·st·iec61131
ao-weilai8 小时前
Linux基础:Ext系列文件系统
linux·运维·服务器
qq_349447958 小时前
Linux系统,安装git,从使用git下载仓库(GitHub, Gitee, GitLab 等),并且使用ssh密钥,可以直接执行git pull
linux·git·ssh
小小龙学IT8 小时前
Boost.Beast 深度实战:基于 Asio 的开源 C++ HTTP/WebSocket 协议库
c++·websocket·http
不可求~9 小时前
C++ std::string_view 不是字符串:从悬空引用到安全用法
java·开发语言·c++