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

相关推荐
Java.熵减码农3 小时前
解决Linux修改环境变量后导致登录循环进不去系统的问题
linux·运维·服务器
txinyu的博客3 小时前
解析业务层的key冲突问题
开发语言·c++·分布式
天骄t3 小时前
嵌入式系统与51单片机核心原理
linux·单片机·51单片机
阿部多瑞 ABU4 小时前
`chenmo` —— 可编程元叙事引擎 V2.3+
linux·人工智能·python·ai写作
SmartRadio4 小时前
ESP32添加修改蓝牙名称和获取蓝牙连接状态的AT命令-完整UART BLE服务功能后的完整`main.c`代码
c语言·开发语言·c++·esp32·ble
徐同保4 小时前
nginx转发,指向一个可以正常访问的网站
linux·服务器·nginx
HIT_Weston4 小时前
95、【Ubuntu】【Hugo】搭建私人博客:_default&partials
linux·运维·ubuntu
实心儿儿5 小时前
Linux —— 基础开发工具5
linux·运维·算法
oMcLin5 小时前
如何在SUSE Linux Enterprise Server 15 SP4上通过配置并优化ZFS存储池,提升文件存储与数据备份的效率?
java·linux·运维
不一样的故事1265 小时前
下的 “Wi-Fi参数配置” 列表,但您当前选中的导航菜单项是 “IP规划”。您遇到的 “IP加载不出来” 问题,很可能
网络协议·tcp/ip·华为