近期在尝试自己写一个Httpserver,在粗略研究了nginx的代码之后,决定仿照nginx中的部分设计自己实现一个高并发的HTTPserver,在这里分享给大家. 眼下使用的较多的Httpserver就是apache和nginx,apache的主要特点就是稳定,而nginx的主要特点是承载的并发量高.在这里从实现原理上做一个分析: apache採用的是多进程server模型,即server每监听到一个连接时,会创建一个新的进程去处理连接,进程与进程之间是独立的,因此就算进程在处理连接的过程中…
在实现了HTTPserver之后.本人打算再实现一个FTPserver. 因为FTP协议与HTTP一样都位于应用层,所以实现原理也类似. 在这里把实现的原理和源代码分享给大家. 首先须要明白的是FTP协议中涉及命令port和数据port,即每一个client通过命令port向server发送命令(切换文件夹.删除文件等),通过数据port从server接收数据(文件夹列表.下载上传文件等).这就要求对每一个连接都必须同一时候维护两个port,假设使用类似于上一篇文章中的多路IO就会复杂非常多,因…
上一篇文章<抄nginx Httpserver设计与实现(一)--多进程和多通道IO现>中实现了一个仿照nginx的支持高并发的server.但仅仅是实现了port监听和数据接收.并没有实现对http协议的解析,以下就对怎样解析http协议进行说明. 我们能够通过浏览器訪问之前所搭建的httpserver,能够看到终端输出例如以下: GET / HTTP/1.1 Host: 127.0.0.1:8080 Connection: keep-alive Cache-Control: max-age…
RTSP 编辑 RTSP(Real Time Streaming Protocol),RFC2326,实时流传输协议,是TCP/IP协议体系中的一个应用层协议,由哥伦比亚大学.网景和RealNetworks公司提交的IETF RFC标准.该协议定义了一对多应用程序如何有效地通过IP网络传送多媒体数据.RTSP在体系结构上位于RTP和RTCP之上,它使用TCP或UDP完成数据传输.HTTP与RTSP相比,HTTP请求由客户机发出,服务器作出响应:使用RTSP时,客户机和服务器都可以发出请求,即RT…
深入理解HTTP协议(转)  http://www.blogjava.net/zjusuyong/articles/304788.html http协议学习系列   1. 基础概念篇 1.1 介绍 HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写.它的发展是万维网协会(World Wide Web Consortium)和Internet工作小组IETF(Internet Engineering Task Force)合作的结果,(他们)最终发布了一系列…
深入理解HTTP协议(转) http协议学习系列(转自:http://www.blogjava.net/zjusuyong/articles/304788.html) 1. 基础概念篇 1.1 介绍 HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写.它的发展是万维网协会(World Wide Web Consortium)和Internet工作小组IETF(Internet Engineering Task Force)合作的结果,(他们)最终发布了一系…
1. HTTPS定义 Hyper Text Transfer Protocol over Secure Socket Layer,安全的超文本传输协议,网景公式设计了SSL(Secure Sockets Layer)协议用于对Http协议传输的数据进行加密,保证会话过程中的安全性. 缩写:HTTPS,常称为HTTP over TLS,HTTP over SSL或HTTP Secure 两大作用:一种是建立一个信息安全通道,来保证数据传输的安全:另一种就是确认网站的真实性. 2. 密码学基础 明文…
7.1定义 应用层协议通常作为确认消息的传输,意味着从客户端发送的每一个请求都将有由服务器端产生的与之相对的响应. 唯一的例外在于:例如使用了功能寻址方式,或者该请求/指示没有指定生成响应/确定的少数情况下.为了减轻不必要的消息对系统造成的压力,在个别场合即使服务器处理请求诊断服务失败了也不发送否定响应. 应用层协议是与会话层协议并行执行,这样,即使客户端等待上一个请求的响应时,也将会保持正确的会话层校时功能(例如:发送一个TesterPresent以使其他服务器的诊断会话持续下去:具体实施细则…
SMB2 Protocol – 简介 SMB协议简介: 服务器信息块(SMB)协议是一个应用层协议主要用于在计算机间共享文件.打印机.串口等. 在介绍SMB协议的时候,一般提到使用的端口为139,445. 但是在Wiki里面是这样描述端口信息的.这儿以后研究. The Server Message Block protocol can run on top of the Session (and lower) network layers in several ways: directly ov…
HTTP(超文本传输协议).RTSP(Real Time Streaming Protocol实时流传输协议).RTMP(Routing Table Maintenance Protocol路由选择表维护协议)是应用层协议,理论上都可以做直播.点播,实际上直播多采用RTMP和RTSP.点播则多用RTSP和HTTP. 一.常用领域: HTTP(HTTPS)所有数据都作为文本处理,广泛应用于网络访问,是公有协议,有专门机构维护. RTSP流媒体协议,多用在监控领域视频直播点播:是公有协议,有专门机构…