TCP/IP四层模型详解

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响应

  • 响应首行:版本号+响应状
  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值