当前位置: 首页 > wzjs >正文

广州网站优化工具服务怎样制作企业的网站

广州网站优化工具服务,怎样制作企业的网站,制作手机软件,seo关键词挖掘一、http的相关概念 1.http概念 http:超文本传输协议,不仅可以传输文本,还可以传递图像等。 2.http的使用 浏览器与web服务器在应用层使用http协议,使用http协议的程序一般默认使用80端口。而http协议在传输层使用TCP协议。 3.http在浏览…

一、http的相关概念

1.http概念

http:超文本传输协议,不仅可以传输文本,还可以传递图像等。

2.http的使用

浏览器与web服务器在应用层使用http协议,使用http协议的程序一般默认使用80端口。而http协议在传输层使用TCP协议。

3.http在浏览器和web服务器之间传输信息的流程

因为在传输层使用的是tcp协议,所以

①浏览器需要先和web服务器通过三次握手建立连接。

②建立连接后,浏览器向web服务器发送http请求报文。

③服务器收到浏览器发送的请求报文后,向浏览器回复http应答报文。

注意:在浏览器输入网址时,浏览器会发起DNS查询,找出对应的IP地址,得到IP地址后,浏览器就可以通过ip地址和服务器进行通信。

二、http请求方法

三、http响应状态

四、通过代码对http协议的理解

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<unistd.h>
#include<sys/socket.h>
#include<arpa/inet.h>
#include<netinet/in.h>
#include<fcntl.h>
#include<assert.h>
//http服务器与浏览器的通信:(以管理员身份运行)
//浏览器向服务器发送http请求报文,服务器向浏览器回复http应答报文
//过程:首先建立TCP的连接 解析文件名+拼接路径+open打开+得到文件大小+组装报文+发送报头+发送数据#define PATH "/home/gyx/mytest/test09"
int InitSocket();//初始化套接字char* get_filename(char buff[])//解析请求报文的文件名
{char* ptr=NULL;char*s=strtok_r(buff," ",&ptr);if(s==NULL){return NULL;}printf("请求方法:%s\n",s);//GETs=strtok_r(NULL," ",&ptr);//请求的文件return s;
}void* fun(void* arg)
{int*p=(int*)arg;int c=*p;free(p);while(1){char buff[1024]={0};int n=recv(c,buff,1023,0);//接受浏览器发送的数据(请求报文)if(n<=0){break;}printf("recv:%s\n",buff);//接受到浏览器发送的数据后,需要解析请求报头,得到请求的文件char* filename=get_filename(buff);//获取请求报文中文件的名字if(filename==NULL)//为提取到文件{send(c,"404",3,0);//发送404错误break;}//成功就要访问文件(给出路径)因为服务器要在该路径中找到该文件char path[128]={PATH};//找到了后,进行组装if(strcmp(filename,"/")==0) //拼接文件的绝对路径,因为/默认为/index.html{strcat(path,"/index.html");}else{strcat(path,filename);//将文件名拼接在路径后}printf("path:%s\n",path);//打开文件int fd=open(path,O_RDONLY);//以只读的方式打开该路径if(fd==-1){send(c,"404",3,0);break;}//成功打开文件要将数据发给浏览器//组装报文+发送数据int filesize=lseek(fd,0,SEEK_END);//得到文件的大小,此时光标在文件末尾处lseek(fd,0,SEEK_SET);//将光标移动到文件的开始位置//组装应答报文//注意:组装时严格按照规范来char head[128]={"HTTP/1.1 200 OK\r\n"};//组装版本和状态码strcat(head,"Server: httpSer\r\n");//服务器名称sprintf(head+strlen(head),"Content-Length: %d\r\n",filesize);//数据长度--文件大小 //sprintf:将信息输出到字符串数组中(会进行格式的转换)strcat(head,"\r\n");//用来区分报头和数据printf("head=%s\n",head); //发送应答报文的报头给浏览器send(c,head,strlen(head),0);//发送报头char data[1024];int num=0;while((num=read(fd,data,1024))>0){send(c,data,num,0);//循环发送文件中的数据,直到发完}close(fd);}close(c);
}int main()
{int sockfd=InitSocket();assert(sockfd!=-1);while(1){struct sockaddr_in caddr;int  len=sizeof(caddr);int c=accept(sockfd,(struct sockaddr*)&caddr,&len);//主线程接受客户端的连接if(c<0){continue;}printf("accept c=%d\n",c);int *p=(int*)malloc(sizeof(int));if(p==NULL){close(c);continue;}*p=c;pthread_t id;//创建线程,使多个客户端可以同时连接pthread_create(&id ,NULL,fun,(void*)p);}
}
//初始化服务器的套接字int InitSocket(){int sockfd=socket(AF_INET,SOCK_STREAM,0);//创建套接字if(sockfd==-1)return -1;struct sockaddr_in saddr;memset(&saddr,0,sizeof(saddr));saddr.sin_family=AF_INET;saddr.sin_port=htons(80);//http使用80号端口saddr.sin_addr.s_addr=inet_addr("127.0.0.1");int res=bind(sockfd,(struct sockaddr*)&saddr,sizeof(saddr));//绑定ip+portif(res==-1) return -1;    res=listen(sockfd,5);//创建监听队列if(res==-1) return -1;return sockfd;}  


文章转载自:

http://kSwZXC0O.nrmyj.cn
http://dlQT5PlZ.nrmyj.cn
http://Qt4XPSF4.nrmyj.cn
http://JZ8RSWwa.nrmyj.cn
http://yysZ1iCl.nrmyj.cn
http://o1ajIMgh.nrmyj.cn
http://B0pSfU2A.nrmyj.cn
http://YncyZQGa.nrmyj.cn
http://qPr3VFdY.nrmyj.cn
http://79ICf9WM.nrmyj.cn
http://UI7d8ozG.nrmyj.cn
http://rUoWJTzU.nrmyj.cn
http://ezr1AKUF.nrmyj.cn
http://3NOCOo64.nrmyj.cn
http://U67BdBeN.nrmyj.cn
http://F2POc1g6.nrmyj.cn
http://cEpIegMx.nrmyj.cn
http://IF0G0dQc.nrmyj.cn
http://wL5EQDgi.nrmyj.cn
http://8L9LasIZ.nrmyj.cn
http://ZSpsfWpw.nrmyj.cn
http://eu9bIQvz.nrmyj.cn
http://RCF0tWss.nrmyj.cn
http://c9vK7jjM.nrmyj.cn
http://b970uii9.nrmyj.cn
http://8dATsida.nrmyj.cn
http://tW99wSQv.nrmyj.cn
http://VaJey3MQ.nrmyj.cn
http://uHBqFWmo.nrmyj.cn
http://ESHjSZgC.nrmyj.cn
http://www.dtcms.com/wzjs/742760.html

相关文章:

  • 手机网站 等比缩放erp系统下载手机版
  • 网站开发公司兴田德润在那里咨询网站开发
  • 北京网站优化推广收集wordpress 删除修订版本
  • 普通人怎么样做网站wordpress4.1中文版
  • 宝安网站制作网站建设嘉兴制作网站软件
  • 东莞网站推广渠道做好史志网站建设
  • 青海省住房与城乡建设厅网站拥有域名后怎么搭建网站
  • 信息技术八年级上册网站建设直播类app开发公司
  • 手机怎么建造网站出入库管理软件 免费
  • 建设简单企业网站怎么去优化关键词
  • 给人做ppt的网站吗php网站建设论文答辩
  • 罗永浩做的网站如何实现网站生成网页
  • 网站焦点图多少钱科技网站排名
  • 重庆皇华建设集团有限公司网站网上有哪些正规赚钱的平台
  • 网站制作前期所需要准备北京公司网站
  • 网站建设规划设计任务书教育网站建设网
  • wordpress做网站教程网站建设实训报告目的
  • 石家庄新钥匙网站河北石家庄属于几线城市
  • 企业网站排名软件能优化wordpress商品系统
  • 公司网站建设费如何入账百度指数工具
  • 著名的网站有哪些广东省示范校建设专题网站
  • 网站备案找哪个部门国内国际时事100字
  • 泉州做网站优化新手怎么优化网站
  • 网站关键词库怎么做有什么效果襄阳路桥建设集团有限公司网站
  • 网站建设所需的硬件设备甘肃网站seo技术厂家
  • 韶关市网站建设公司浙江平台网站建设找哪家
  • 苏州网站设计电话好网站的标准
  • wordpress网站示例怎样设计网站主页
  • 网站项目建设方案文档网站前端设计外包公司
  • 织梦 网站统计网站地图怎么生成