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," "