
网络
文章平均质量分 73
pg_dog
今日有酒今日醉,明日愁来明日愁。
展开
-
Cookie和Session学习
Session机制可以放在文件,数据库或者内存都可以,是以键值对的形式存储。使用场景当客户端向服务器端发送一个请求时,服务器端首先会先检查请求里是否包含一个Session标识(sessionID),如果包含,说明之前已经为此客户端创建过session,然后就检索出来使用,如果没有,服务端会为此客户端创建一个session,并将sessionID在本次响应中返回给客户端保存。session保存方法1,cookie保存服务器通过设置cookie的方式将sessionID发送给客户端,如果不设置过期时原创 2021-06-21 21:35:15 · 218 阅读 · 0 评论 -
HTTP学习
概念简介超文本传输协议(HyperText transfer Protocol),他是基于TCP/IP协议的应用层协议,一般用于B/S架构。特点1,支持客户端/服务端模式(C/S)2,简单快速:请求服务时只需传送请求方法和路径。常用的方法:GET,HEAD,POST,PUT,DELETE3,灵活:可以传输任意类型的数据对象(标记:Content-Type)4,无连接:每次连接只处理一个请求。一次请求响应完成后断开连接。后面通过connection:keep-alive实现长连接5,无状态:是一原创 2021-06-21 15:30:24 · 257 阅读 · 0 评论 -
UDP与TCP高频面试题
**1,特点与区别**UDP(用户数据报协议):无连接,不可靠,快,面向数据报(对应用程序传下来的报文不合并也不拆分,只添加UDP首部),没有拥塞控制,支持1:1,1:n,n:1,n:n。TCP(传输控制协议):面向连接,可靠,慢,面向字节流(对应用程序传下来的报文看成字节流,组织成大小不等的数据块),有流量控制,拥塞控制,提供全双工通信,支持1:1。2,TCP的三次握手和四次挥手-> 见我的另一篇文章3, TCP短连接和长连接区别与应用场景短连接:完成一次读写后就可以关闭了,管理简单原创 2021-06-18 17:15:39 · 382 阅读 · 1 评论 -
TCP握手与挥手
下图是TCP的通讯时序图,并伴有解释 思考:在建立连接时为什么需要“三次握手”?我们来设想一下,如果是两次握手,服务端能够确保它发送的连接数据一定会被客户端收到吗?这显然不可能确保。如果服务端发送的连接数据包丢失,客户端长时间接收不到服务端的信号,他就可能会认为自己发送的连接数据未成功发送给服务端,所以他就会一直向服务端发送连接信号,导致服务端缓冲区里充斥着大量客户端发送的连接请求信号,服务端的很原创 2017-06-19 19:15:52 · 411 阅读 · 0 评论 -
端口分类、TCP定时器、URG和PSH对比
端口分类我们这里讲的端口不是传统意义上的物理端口,而是特制TCP/IP协议中的端口。这里端口可以分为TCP端口和UDP端口。两者是独立的,并不冲突。这里端口可以分为三种:周知端口、注册端口、动态端口。周知端口:范围是0~1023,其中80端口分配给www服务,21端口分配给FTP服务等。在地址栏中输入网址时不用指定端口号,因为www服务的端口是默认的80端口。如果你要使用其他端口时,只需在地址后面原创 2017-06-20 14:05:22 · 511 阅读 · 0 评论 -
tcp_server的实现
下面是单进程版本,具体问题在代码中标注。#include<stdio.h>#include<netinet/in.h>#include<arpa/inet.h>#include<stdlib.h>#include<string.h>static void usage(const char *proc){ printf("%s [local_ip] [local_port]\n",原创 2017-06-23 21:32:49 · 734 阅读 · 0 评论