Linux——网络(应用层—HTTP协议、HTTPS协议)

目录

1、应用层的作用

2、应用层协议

3、HTTP协议

URL

urlencode和urldecode

HTTP协议实现

HTTP协议格式(首行、头部、空行、正文)

首行:请求或响应的第一行数据

头部:请求或响应中的一些关键描述信息字段

空行:间隔头部与正文

正文:请求提交的数据或响应返回的数据

4、HTTPS协议

https加密流程:

ssl加密:


1、应用层的作用

负责应用程序之间的数据沟通

2、应用层协议

自定制协议:程序员自己设计的协议,涉及到数据传输性能、数据的解析性能

序列化:将多个数据对象按照指定协议进行组织成为持久化存储或数据传输的二进制数制串

反序列化:将二进制数制串按照指定协议进行解析得到各个数据对象

典型序列化方式:

结构体二进制序列化;protobuf序列化;json序列化

知名协议:HTTP协议

3、HTTP协议

HTTP:超文本传输协议

URL

网址:URL-统一资源定位符,在网络中定位某台主机上的某个资源

格式:协议方案名://用户名:密码@服务器的域名或IP地址:端口/path路径?查询字符串#片段标识符
举例:https://user:pass@www.icourse163.org/spoc/university/SUST:80?_trace_c_p_k2_=9fcf0cff1fc74694b4f996008e7029a8#/c

详细讲解:

  • 协议方案名:HTTP/HTTPS
  • 域名:服务器的一个别名,由字符串组成,最终进行转换可以得到服务器IP地址,进而请求服务器
  • 端口:HTTP服务默认使用80端口,URL中默认使用80(HTTP只是一个协议,并不使用端口,这里指的是使用HTTP协议的web服务器进程socket默认使用80端口);HTTPS默认使用433端口
  • 资源路径:所请求的资源在服务器上的一个相对路径
  • 查询字符串:提交给服务器的数据,由key=val形式的键值对构成,键值对之间以&符号间隔(例如:key1=val1 & key2=val2)

在URL中,很多特殊字符都有特定含义,因此在查询字符串中或者请求的资源路径中包含有特殊字符,就会与URL中的特殊字符产生歧义。因此一旦数据中有特殊字符,就要进行转义表示——URL编码

urlencode和urldecode

urlencode:将特殊字符的每个字节转换成其十六进制的数字字符,转移之后为了表示这是经转义的字符,因此使用前缀%表示

urldecode:在URL中遇到%则认为其后两个字符是URL编码后的数据,需要解码,两个字符都转换为数字——第一个字符*16 + 第二个字符

HTTP协议实现

  • HTTP协议是一个字符串明文协议ÿ
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值