240-Linux HTTP代码实现

本文介绍了Linux下HTTP协议的基本概念,包括默认端口、TCP基础及请求报文结构。重点讲解了如何以管理员权限运行自建HTTP服务器,并通过127.0.0.1访问本地文件index.html,展示'OK'响应。同时,讨论了获取文件大小的两种方法——lseek和lstat,并提及index.html文件的内容和样式设置。
摘要由CSDN通过智能技术生成

1.http协议是应用层协议,默认端口是80,在传输层使用的是tcp协议,头部和数据部分之间有一个空行

8024这个大小是数据部分的大小,是不包括头部信息的
在这里插入图片描述

2.http请求报文和应答报文的每一行后面都有一个\r\n**在这里插入图片描述
3.直接运行是不行的,我们需要用管理员身份去运行,只有管理员才能使用1024以内的端口
在这里插入图片描述
4.在管理员权限下运行myhttp,在网址中输入127.0.0.1/index.html
在这里插入图片描述
在网页中会显示出一个ok,在终端中会显示一些信息
在这里插入图片描述
5.得到文件大小的方法
①lseek
②lstat

6.index.html文件
在这里插入图片描述
运行服务器后,打开浏览器会显示欢迎,背景设置的是绿色
在这里插入图片描述
也可以在index.html文件中加上一个背景
在这里插入图片描述
在这里插入图片描述7.服务器端代码

#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
#include <unistd.h>
#include <arpa/inet.h>
#include <sys/socket.h>
#include <string.h>
#include <netinet/in.h>
#include <fcntl.h>

#define PATH "/home/sun/Linux/http"

int socket_init();
int accept_client(int sockfd);
char* get_filename(char buff[])
{
   
    if(buff == NULL)
    {
   
        return NULL;
    }

    char* s = strtok(buff," ");
    if(s == NULL)
    {
   
        return NULL;
    }
    printf("请求方法:%s\n",s);
    s = strtok(NULL," "
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值