随笔分类 -  课程 / 计算机网络

摘要:1.相同点 请求头的大部分内容相同,只有部分有所区别,都是用来访问服务器的方法。 GET :请求从服务器获取特定资源。举个例子:GET /users(获取所有学生) POST :在服务器上创建一个新的资源。举个例子:POST /users(创建学生) PUT :更新服务器上的资源(客户端提供更新后的 阅读全文
posted @ 2023-06-21 22:42 ImreW 阅读(172) 评论(0) 推荐(0)
摘要:1 HTTP Status Code HTTP请求响应的内容有很多,包括Body、Cookies、Headers和Status。 我们最常用的是Body、其次Headers、Cookies。而HTTP Status Code关注得最少。 1.1 HTTP Status Code 分类分类描述 1** 阅读全文
posted @ 2023-05-31 12:32 ImreW 阅读(598) 评论(0) 推荐(0)
摘要:一、HTTP协议与TCP协议的关系 TCP协议是传输层协议,主要解决数据如何在网络中传输 HTTP是应用层协议,主要解决如何包装数据。 1.从本质上,二者没可比性 我们在传输数据时,可以只使用(传输层)TCP/IP协议,但是那样的话,如果没有应用层,便无法识别数据内容,如果想要使传输的数据有意义,则 阅读全文
posted @ 2023-04-17 18:05 ImreW 阅读(127) 评论(0) 推荐(0)
摘要:一、过程 1.DNS解析 浏览器进行DNS域名解析,得到对应的IP地址 2.TCP三次握手 根据这个IP,找到对应的服务器建立连接(三次握手) 3.发起HTTP请求 建立TCP连接后发起HTTP请求(一个完整的http请求报文) 4.服务器响应HTTP请求 服务器响应HTTP请求,浏览器得到html 阅读全文
posted @ 2023-04-17 16:52 ImreW 阅读(2352) 评论(0) 推荐(0)
摘要:(一)cookie和session原理及区别 cookie采用的是客户端的会话状态的一种储存机制。它是服务器在本地机器上存储的小段文本或者是内存中的一段数据,并随每一个请求发送至同一个服务器。 session是一种服务器端的信息管理机制,它把这些文件信息以文件的形式存放在服务器的硬盘空间上(这是默认 阅读全文
posted @ 2023-04-17 16:21 ImreW 阅读(26) 评论(0) 推荐(0)
摘要:(一)I/O到底是什么? I/O 其实就是 input 和 output 的缩写,即输入/输出。 那输入输出啥呢? 比如我们用键盘来敲代码其实就是输入,那显示器显示图案就是输出,这其实就是 I/O。 而我们时常关心的磁盘 I/O 指的是硬盘和内存之间的输入输出。 读取本地文件的时候,要将磁盘的数据拷 阅读全文
posted @ 2023-04-07 20:44 ImreW 阅读(81) 评论(0) 推荐(0)
摘要:一个 socket 是否设置为阻塞模式,只会影响到 connect/accept/send/recv 等四个 socket API 函数,不会影响到 select/poll/epoll_wait 函数,后三个函数的超时或者阻塞时间是由其函数自身参数控制的。 (一)原理分析 下面详细的解释,为了方便解 阅读全文
posted @ 2023-03-20 20:59 ImreW 阅读(547) 评论(0) 推荐(0)
摘要:(一)epoll 交互过程 一个客户端和使用了 epoll 的服务端的交互过程如下图所示。 1.epoll 原理 (1)select 的问题 select 的问题在于描述符的限制,能监控的文件描述符最大为 FD_SETSIZE,对于连接数很多的场景就无法满足; 另外select 还有一个问题,每调用 阅读全文
posted @ 2023-03-20 19:03 ImreW 阅读(162) 评论(0) 推荐(0)
摘要:一、BUFSIZ定义 Linux平台 stdio.h: #define BUFSIZ _IO_BUFSIZlibio.h: #define _IO_BUFSIZ _G_BUFSIZ_G_config.h: #define _G_BUFSIZ 8192 二、BUFSIZ作用 程序输出时,为减轻系统负担 阅读全文
posted @ 2023-03-19 21:05 ImreW 阅读(251) 评论(0) 推荐(0)
摘要:功能描述:fcntl函数可以用来对已打开的文件描述符进行各种控制操作以改变已打开文件的的各种属性 文件控制函数 fcntl -- file control 头文件 #include <unistd.h> #include <fcntl.h> 函数原型 int fcntl(int fd, int cm 阅读全文
posted @ 2023-03-19 20:40 ImreW 阅读(788) 评论(0) 推荐(1)
摘要:(一)初探 在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。 相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目 阅读全文
posted @ 2023-03-19 19:25 ImreW 阅读(3322) 评论(0) 推荐(1)
摘要:原文链接:EPOLL原理详解 从事服务端开发,少不了要接触网络编程。epoll作为linux下高性能网络服务器的必备技术至关重要,nginx、redis、skynet和大部分游戏服务器都使用到这一多路复用技术。 一、从网卡接收数据说起 下图是一个典型的计算机结构图,计算机由CPU、存储器(内存)、网 阅读全文
posted @ 2023-03-09 11:06 ImreW 阅读(55) 评论(0) 推荐(1)
摘要:一、基础 (一)WSAEVENT 1.说明 WSAEVENT 类型本质上就是使用 CreateEvent 创建的 Event 对象: 2.有关原型 #define WSAEVENT HANDLE (二)WSA_MAXIMUM_WAIT_EVENTS 1.说明 事件对象句柄的最大数目 是WSA_MAX 阅读全文
posted @ 2023-02-26 21:53 ImreW 阅读(294) 评论(0) 推荐(0)
摘要:(一)解析 在对一个进程的通信部分做分析时反复遇到了这四类函数,特做此记录。 LOWORD:取32位数的低16位 HIWORD:取32位数的高16位 LOBYTE:取16位数的低8位 HIBYTE:去16位数的高8位 ps:LOBYTE、HIBYTE应用于32位数时,会取32位数后16位数的高低8位 阅读全文
posted @ 2023-02-26 14:38 ImreW 阅读(722) 评论(0) 推荐(0)
摘要:首先是需要的头文件和库: #include<WinSock2.h> #pragma comment(lib,"ws2_32.lib") Tcp连接的简单示例 一、服务器 主要流程及主要函数: 网络环境初始化:WSAStartup 创建服务器套接字:socket 绑定本机IP和端口:bind 监听客户 阅读全文
posted @ 2023-02-26 13:59 ImreW 阅读(72) 评论(0) 推荐(0)
摘要:一、基础篇 TCP/IP 网络模型 网页显示 二、HTTP篇 HTTP 基本概念 GET 与 POST HTTP 部分 三、TCP 篇 TCP 基本认识 TCP 连接建立 TCP 连接断开 重传机制 滑动窗口 流量控制 拥塞控制 四、IP篇 IP 基本认识 IP 地址的基础知识 IP 协议相关技术 阅读全文
posted @ 2023-01-16 15:52 ImreW 阅读(43) 评论(0) 推荐(0)
摘要:第一章 概述 什么是协议和体系结构? 了解网络应用的两种模型:C/S和P2P模型 什么是资源子网和通信子网?各种网络设备(转发器、集线器、网桥、路由器等)所工作的层次和基本特性 了解计算机网络的分类方式:拓扑结构/传输媒体/地理范围等 计算机网络的度量:带宽、延迟、RTT和吞吐率,掌握如何计算延迟, 阅读全文
posted @ 2022-12-27 21:14 ImreW 阅读(89) 评论(0) 推荐(0)
摘要:一、传输媒体:了解双绞线、同轴电缆、光纤等导向媒体的基本特性,了解无线媒体中无线电波的传播方式,了解影响无线传输的衰减、噪声和多径传输等因素 1.传输媒体 传输媒体(Transmission Medium):相邻节点间实际传送信息的物理载体 传输媒体具有不同的带宽和抗干扰能力,限制了在其上传输的信息 阅读全文
posted @ 2022-12-27 13:41 ImreW 阅读(117) 评论(0) 推荐(0)
摘要:一、网桥 网桥又称桥接器,英文名Network Bridge,数据链路层设备。它也是转发数据包的设备,但和集线器(HUB)不一样的是,它工作在数据链路层。 在以太网构造的局域网上,最终的寻址是以数据链路层的MAC地址作为标识的(就是用MAC地址可以在局域网上找到一台唯一的机器),网桥能从发来的数据包 阅读全文
posted @ 2022-12-26 11:35 ImreW 阅读(464) 评论(0) 推荐(0)
摘要:一、帧同步:了解有哪些同步机制,掌握字符填充和比特填充机制 1.帧同步 帧同步:帧(Frame)的起始和结束定位 传输过程中可能有差错(只需要重传那些出错的帧);更有效地利用链路 异步协议,以字符为单位进行同步 传输字符,在字符起始处进行同步 发送方和接收方采用近似同一频率的时钟,短时间内时钟的偏移 阅读全文
posted @ 2022-12-26 09:23 ImreW 阅读(311) 评论(0) 推荐(0)