Linux 7 网络 webserver服务器开发项目1

发布时间 2023-07-29 23:20:39作者: snowa

小项目 跟QT翻金币差不多

1.webserver服务器原理

Image

2.html语言基础介绍

ps:前端我迟早也要拿下

html语言
超文本标签语言
<> <>

此处详情查看linux服务器开发中html语言介绍

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<title>小飞博客</title>
</head>
<body>
<h3>题目标签</h3>
 <br/>
<font color=rgb(255,246,143) size="7">文本标签</font>
<ul>
	
<li>无序标签</li>
<li>无需标签2</li>
</ul>
 <br/>
<h3>分隔符</h3>
 <br/>
<ol>
	
	<li>有序标签</li>

    <li>有序标签</li>

</ol>
<img src="a.jpg" alt="耀阳" title="耀阳" width="300" height="200" >

<br/>
<a href="https://www.cnblogs.com/lzfyz/" title="去博客" target="_blank">去博客</a>


</body>
</html>

3.wireshark抓包http协议

http get post两种请求

http请求

![Image [1]](I:\webser\Image [1].png)

请求行: GET /demo.html HTTP/1.1\r\n

​ 请求方式 /请求的内容 版本\r\n

空行 \r\n 数据

http应答

![Image [3]](I:\webser\Image [3].png)

状态行

http/1.1 200 ok\r\n

版本 状态码 状态信息

  • - 401 Unauthorized   请求未经授权,这个状态代码必须和[WWW-Authenticate](http://www-authenticate/)报头域一起使用
    - 403 Forbidden      服务器收到请求,但是拒绝提供服务
    - 404 Not Found      请求资源不存在,eg:输入了错误的URL
    - 500 Internal Server Error   服务器发生不可预期的错误
    - 503 Server Unavailable     服务器当前不能处理客户端的请求,一段时间后可能恢复正常
    

消息报头

文件的类型(必填的)

![Image [5]](I:\webser\Image [5].png)

文件的长度(可填可不填,填一定填对)

![Image [6]](I:\webser\Image [6].png)

空行

数据

要发送的数据

![Image [7]](I:\webser\Image [7].png)

4.采用epoll实现

1.搭建框架

1.epoll链接

2.读取请求 保留第一行

5.项目总结

ps1:读取出错问题cfd 此处没有进行else

也就是如果lfd 进行三次握手 之后照样进读取函数故此报错->没有请求数据

ps2:请求行最后多发送几个字节 但是读缓冲区只有2个字节 我一填 导致后面发送文件时 读缓冲区有错误信息与发送文件一起发送

ps3:发送大文件卡死问题 信号屏蔽 ->浏览器读缓冲区被写爆 我们只能暂缓写数据的时长 或者采取 libeventweb服务器方式 我再epoll上用的us

代码

https://kxd.lanzoul.com/izPRQ13tkvdi