socket总结http1

在这里插入图片描述
在这里插入图片描述
一个函数模板,把相同参数,相同返回值的函数封装成一个模板类

在这里插入图片描述
将四字节的网络地址转换成点分十进制的字符串形式IP地址

在这里插入图片描述
这个函数的返回值存储在静态区,会造成线程安全的问题。

在这里插入图片描述
TCP所谓的创建链接:
服务器要和客户端创建一种数据结构,其中是要花费时间和空间的,所以人们一直说UDP效率比TCP高。双方为了维护链接,是有成本的。
CS模型:客户端主动发送请求,服务器被动接受请求。
在TCP中,客户端建立链接所采用的方式叫做三次握手。

TCP客户端给服务器发送一个数据报,这个报里面有一个标志为叫SYN,SYN如果被设置,那么说明它是一个服务器链接请求。
在这里插入图片描述
TCP:全双工,字节流,建立链接
全双工:客户端和服务器可以相互同时发消息,人在吵架的时候是全双工
管道是半双工,单向通信,人在正常礼貌交流是半双工

四次挥手断开链接在这里插入图片描述
connect是触发链接,主动发起SYN

http底层是tcp

在这里插入图片描述

在这里插入图片描述
sock套接字文件描述符里有个private成员指向底层的sock

在这里插入图片描述
在这里插入图片描述
里面有recvqueue sendqueue用来读取和发送数据
在这里插入图片描述
同样socket里也有file*指针指回去


HTTP

在这里插入图片描述
最典型的序列化和反序列化工具:JSON和XML

一个进程在系统一共有两个栈,一个叫用户栈,一个叫内核栈
寄存器中有一个指针,当你是用户态的时候就指向内核栈,当你是内核态的时候就指向内核栈。

在这里插入图片描述
抓包命令,只抓从ETH0上来的数据

在这里插入图片描述
ANY表示只要发送到这台主机的,都抓。

在这里插入图片描述
只抓8080端口的,只抓TCP的
在这里插入图片描述
+n选项,第一个n表示主机显示成数字的,再加n表示把能显示成数字的都显示成数字。

在这里插入图片描述
三次握手抓包现象

在这里插入图片描述
四次挥手断开链接现象,服务器先请求断开,F=FIN,P = 数据传输

在这里插入图片描述

在这里插入图片描述

protocol.hpp就是协议,用结构体做约定

这个实验,序列化和反序列化在哪儿?
发过去的是一个结构化的数据
给服务器发过去一个rq,从服务器收回来一个rsp

在这里插入图片描述
在这里插入图片描述
不推荐直接结构体做协议封装
因为实际情况双方主机不同,结构体内存对齐不同,地址长度不同等。

http属于应用层,不属于内核。–超文本传输协议。

在这里插入图片描述
端口号,https是加密的
协议名/域名/路径
在这里插入图片描述
在这里插入图片描述
查询字符就是类似百度这种,你的查找字段再这个里面
片段标识符只指有很多图片的网站,下翻的时候片段标识符会变

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值