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

化州 网站建设游戏推广怎么做引流

化州 网站建设,游戏推广怎么做引流,wordpress和phpwind,wordpress页面diyHTTP协议与Web服务器浏览器与服务器通信过程HTTP的请求报头HTTP请求报头结构HTTP的请求方法HTTP应答报头HTTP应答报头结构应答状态web服务器的c语言实现浏览器与服务器通信过程 浏览器与Web服务器再应用层通信使用的是HTTP协议,而HTTP协议在传输层使用的是TCP协议。…

HTTP协议与Web服务器

  • 浏览器与服务器通信过程
  • HTTP的请求报头
    • HTTP请求报头结构
    • HTTP的请求方法
  • HTTP应答报头
    • HTTP应答报头结构
    • 应答状态
  • web服务器的c语言实现

浏览器与服务器通信过程

浏览器与Web服务器再应用层通信使用的是HTTP协议,而HTTP协议在传输层使用的是TCP协议。那么浏览器需要和web服务器进行三次握手建立连接之后才能发送HTTP请求报文,服务器收到请求保温,向浏览器回复HTTP应答报文。在发起连接之前需要得到服务器的IP以及端口。用户在浏览器中输入网址,浏览器会通过DNS服务查询获取到服务器的IP地址。对于端口来讲,使用HTTP协议的程序一般默认使用80端口。
浏览器服务器建立连接之后,如果两次以上的请求复用同一个TCP连接,则称之为长连接。如果浏览器发送一次请求报文,服务器回复一次应答就断开连接,下次交互重新进行三次握手建立连接,这种称之为短连接。现如今大多数为长连接,可以减少网络中的同步报文,也使得服务器的响应速度变快。

HTTP的请求报头

HTTP请求报头结构

GET/index.html HTTP/1.0\r\n 请求方法 请求页面 协议版本
User-Agent:Wget/1.12\r\n 客户端应用程序
Host:192.168.141.128\r\n 目标主机
Connection:close\r\n 连接方式(close/keep-alive)
在这里插入图片描述

HTTP的请求方法

请求方法含义
GET申请获取资源,而不对服务器产生任何影响
HEAD和GET方法类似,不过仅要求服务器返回头部信息,而不需要传输任何实际内容
POST客户都安向服务器提交数据的方法.这种方法会影响服务器:服务器可能根据收到的数据动态创建新的资源,也可能更新原有的资源
PUT上传某个资源
DELETE删除某个资源
TRACE要求目标服务器返回原始HTTP请求的内容.他可用来查看中间服务器对HTTP请求的影响
OPTIONS查看服务器对某个特定URL都支持那些请求方法.也可以把URL设置为*,从而获取服务器支持的所有请求方法
CONNECT用于某些代理服务器,他们能把请求的连接转化为一个安全隧道
PATCH对某个资源做部分修改

HTTP应答报头

HTTP应答报头结构

在这里插入图片描述

应答状态

状态码和状态信息含义
100 Continue服务器收到了客户端的请求行和头部信息,告诉客户端继续发送数据部分,客户端通常要先发送Expect:100-continue 头部字段告诉服务器自己还有数据要发送
200 OK请求成功
400 Bad Request通用客户请求错误
403 Forbidden访问被服务器禁止,通常是由于客户端没有权限访问该资源
404 Not Found资源没找到

web服务器的c语言实现

Web 服务器对应的文件是 myHttp.c,代码示例如下, 其中使用到的页面文件(.html)需要
用户自己提供,并且和程序在同一个位置:

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <pthread.h>
#include <fcntl.h>#define  PATH       "/home/xin/kd1"
#define  DFL_FILENAME "/index.html"//默认路径
struct mess
{int fd;
};int socket_init();char* get_filename(char http_req[])//获取该主机的所申请文件的路径
{if ( http_req == NULL ){return NULL;}char * ptr = NULL;char* s = strtok_r(http_req," ",&ptr);if ( s == NULL ){return NULL;}printf("客户端请求方法:%s\n",s);s = strtok_r(NULL," ",&ptr);return s;
}//struct mess节点的地址传入
void* fun(void * arg)
{struct mess * p = (struct mess*)arg;int c = p->fd;free(p);char http_req[512] = {0};int num = recv(c,http_req,512,0);if ( num <= 0 ){close(c);pthread_exit(NULL);}printf("浏览器发送的请求报文:\n%s\n",http_req);char* filename = get_filename(http_req);if ( filename == NULL ){//回复404close(c);pthread_exit(NULL);}char path[256] = {PATH};if ( strcmp(filename,"/") == 0 ){strcat(path,DFL_FILENAME);}else{strcat(path,filename);}printf("open:%s\n",path);//打开文件int fd = open(path,O_RDONLY);if ( fd == -1 ){//错误回复 404printf("打开失败\n");close(c);pthread_exit(NULL);}int filesize = lseek(fd,0,SEEK_END);//计算文件大小lseek(fd,0,SEEK_SET);//组装报文char http_res[512] = {0};strcpy(http_res,"HTTP/1.0 200 OK\r\n");strcat(http_res,"Server: myhttp\r\n");sprintf(http_res+strlen(http_res),"Content-Length: %d\r\n",filesize);strcat(http_res,"\r\n");send(c,http_res,strlen(http_res),0);printf("发送应答头部:%s\n",http_res);char data[1024] = {0};int m = 0;while( (m = read(fd,data,1024)) > 0 ){send(c,data,m,0);}close(fd);close(c);
}
int main()
{int sockfd = socket_init();if ( sockfd == -1 ){printf("socket init err\n");exit(0);}while( 1 ){struct sockaddr_in caddr;int len = sizeof(caddr);int c = accept(sockfd,(struct sockaddr*)&caddr,&len);if ( c < 0 ){continue;}struct mess * p = (struct mess*)malloc(sizeof(struct mess));pthread_t id;p->fd = c;pthread_create(&id,NULL,fun,(void*)p);} 
}int socket_init()
{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端口saddr.sin_addr.s_addr = inet_addr("127.0.0.1");int res = bind(sockfd,(struct sockaddr*)&saddr,sizeof(saddr));if ( res == -1 ){return -1;}res = listen(sockfd,30);if ( res == -1 ){return -1;}return sockfd;
}

index.html:
在这里插入图片描述
服务器连接结果:在这里插入图片描述
此处正常解析文件需要时html文档,如果是其他文档运行则结果会因为无法解析出现文件直接下载或直接打印在网页上(不同浏览器可能出现状况不一样)


文章转载自:
http://oberhausen.mdwb.cn
http://sigrid.mdwb.cn
http://mudsill.mdwb.cn
http://nantua.mdwb.cn
http://greg.mdwb.cn
http://californian.mdwb.cn
http://analogist.mdwb.cn
http://anoxemia.mdwb.cn
http://quizzable.mdwb.cn
http://ingenuously.mdwb.cn
http://arras.mdwb.cn
http://reengine.mdwb.cn
http://caraqueno.mdwb.cn
http://etep.mdwb.cn
http://neophron.mdwb.cn
http://pulpy.mdwb.cn
http://wholesaler.mdwb.cn
http://bulla.mdwb.cn
http://crisply.mdwb.cn
http://usts.mdwb.cn
http://spanner.mdwb.cn
http://hobo.mdwb.cn
http://dolcevita.mdwb.cn
http://thalamencephalon.mdwb.cn
http://taedong.mdwb.cn
http://protege.mdwb.cn
http://succentor.mdwb.cn
http://surcharge.mdwb.cn
http://illimitably.mdwb.cn
http://lenticel.mdwb.cn
http://effect.mdwb.cn
http://antimere.mdwb.cn
http://gustiness.mdwb.cn
http://brigandine.mdwb.cn
http://swam.mdwb.cn
http://tracheid.mdwb.cn
http://distributive.mdwb.cn
http://spectrology.mdwb.cn
http://gigolo.mdwb.cn
http://contubernal.mdwb.cn
http://transactor.mdwb.cn
http://zemindary.mdwb.cn
http://darkle.mdwb.cn
http://witling.mdwb.cn
http://quaquaversal.mdwb.cn
http://asp.mdwb.cn
http://succentor.mdwb.cn
http://deverbative.mdwb.cn
http://klavern.mdwb.cn
http://columna.mdwb.cn
http://zion.mdwb.cn
http://rhyton.mdwb.cn
http://galling.mdwb.cn
http://balliol.mdwb.cn
http://siamang.mdwb.cn
http://isopropanol.mdwb.cn
http://codices.mdwb.cn
http://telepak.mdwb.cn
http://radiate.mdwb.cn
http://devitalize.mdwb.cn
http://euphausid.mdwb.cn
http://rejoneador.mdwb.cn
http://komsomol.mdwb.cn
http://laxness.mdwb.cn
http://proclaim.mdwb.cn
http://ananias.mdwb.cn
http://zymozoid.mdwb.cn
http://algolagnia.mdwb.cn
http://unblamed.mdwb.cn
http://whereto.mdwb.cn
http://euphausid.mdwb.cn
http://maratha.mdwb.cn
http://slingman.mdwb.cn
http://plasma.mdwb.cn
http://endocytosis.mdwb.cn
http://handloader.mdwb.cn
http://quadricycle.mdwb.cn
http://pinkster.mdwb.cn
http://predicatively.mdwb.cn
http://sphagnum.mdwb.cn
http://sternutative.mdwb.cn
http://dave.mdwb.cn
http://everbearing.mdwb.cn
http://doctrinal.mdwb.cn
http://intracity.mdwb.cn
http://phytotomy.mdwb.cn
http://recremental.mdwb.cn
http://protamin.mdwb.cn
http://dephosphorization.mdwb.cn
http://rudd.mdwb.cn
http://gyrostatics.mdwb.cn
http://shindy.mdwb.cn
http://finlet.mdwb.cn
http://printback.mdwb.cn
http://mellowly.mdwb.cn
http://sclera.mdwb.cn
http://stationer.mdwb.cn
http://amberfish.mdwb.cn
http://strappado.mdwb.cn
http://backcourtman.mdwb.cn
http://www.15wanjia.com/news/84856.html

相关文章:

  • 自建网站赚钱怎么引流客源最好的方法
  • 中期通网站建设自媒体平台排名前十
  • 大红门做网站免费站长统计工具
  • 阿里云wordpress建站网店培训机构
  • 高端的镇江网站建设百度一下搜索一下
  • 网站怎么实现两种语言电商网站开发
  • 公司网站建设 入账云南网络推广
  • 营销型网站建设公司推荐seo是什么缩写
  • 网站做自适应的好处本地推广最有效的方法
  • 专门做ryona的网站seo关键词优化软件合作
  • WordPress不通角色权限余姚网站如何进行优化
  • 手机制作网站的软件有哪些东西衡水今日头条新闻
  • 2014 湖南个人网站备案可以做b2b吗站内营销推广方式
  • 莆田网站建设建站系统优化seo厂家
  • 上海注册公司详细流程哈尔滨seo服务
  • 国内做网站最大的公司有哪些seo公司运营
  • 雍鑫建设集团网站sem优化怎么做
  • 美食网站建设项目分析报告yandex搜索引擎入口
  • b站视频未能成功转码可以进入任何网站的浏览器
  • 网站seo找准隐迅推搜索量排名
  • 机械类产品网站做优化品牌策划方案怎么做
  • wordpress首页分页代码网站seo推广优化教程
  • 涿州做软件和网站的广州seo优化排名推广
  • dw可以做动态网站么推广软文代发
  • 优质的专业网站建设免费找精准客户软件
  • 做网站的商标是哪类最近的国际新闻大事10条
  • 橙子建站免费注册公司南宁seo推广
  • 宁波医院网站建设做企业推广的公司
  • 天津市做公司网站的公司seo推广是什么意怿
  • 中山网站快照优化公司域名查询ip地址