TCP/IP四层模型详解

本文详细介绍了TCP/IP四层模型,包括应用层的HTTP协议、URL解码与编码,传输层的TCP与UDP协议及它们的区别,网络层的IP协议和路由,以及数据链路层的以太网和MAC地址概念。通过实例解析HTTP请求响应格式,深入理解TCP的可靠传输与UDP的不可靠传输特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.应用层

程序员写的满足我们日常需求的网络程序,都是在应用层。
在这里插入图片描述

1.1HTTP协议的认识

应用层协议是我们程序员自己定义的,大佬们定义的HTTP(超文本传输协议)就是其中之一。我们平常看到http://…这是非完整的网址,有时也可以看到https,这是在HTTP协议基础上加密而成的。
URL:俗称网址(统一资源定位符)
一个较为完整的URL应该是如下的:
在这里插入图片描述
协议方案名称://用户名:密码@服务器地址:端口号/请求资源路径?查询字符串#片段标识符

  • 登录信息:就是用户名与密码,但是现在一般看不到,其破坏隐私性。
  • 服务器地址:其实就是IP地址转化的,又称域名,是为了方便记忆。
  • 服务器端口号:默认端口号。
  • 带层次的文件路径:dir是一个标识符,请求资源路径,’/'并非根目录,只是相对路径。
  • 查询字符串:给服务器提交数据。
  • 片段标识符:标识页面位置。

1.2URL解码与编码

查询字符串中若是出现特殊字符,则有可能与URL中间隔符产生歧义导致URL解析失败 。
编码:将需要转码的字符串转成16进制,然后从右向左,取4位(不足四位直接处理),每2位做一位,前面加上%,编码成%xy格式
解码:当遇到%,则认为紧跟其后的两个字符需要转码,将第一个字符转换为数字左移4位与第二个字符转换后的数据相加。
解码与编码是逆过程

1.3HTTP协议格式

1.3.1 http请求

  • 请求首行:请求方法+URL+协议版本(0.9,1.1, 1.0 ,2)
  • Header:请求的属性,冒号分割的键值对,每组属性之间使用\n分割,遇到空行表示Header部分结束
  • Body:空行后面的内容都是body,body允许为空字符串,如果body存在,则在Header中会有Content-Length属性来标识body的长度。
    (头部以一个个key-value组成的键值对,并且各个键值对之间以\n作为间隔,通过\r\n识别头部与正文并作为头部与正文的间隔)

1.3.2 http响应

  • 响应首行:版本号+响应状
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值