精华内容
下载资源
问答
  • 在服务器方面,使用Web服务器,采用HTTP协议来代替底层的socket,是常见的选择。采用HTTP协议更加除了能得到稳定的服务器支持外,更加可以兼容各种客户端(手机、PC、浏览器)等等。这样实现了一个服务器之后,多个...

    1. 概述

    服务器的开发不容易,尤其是开发高性能、稳定性好服务器,更加不容易,因此人们尝试更好简单的方式来开发软件。

    在服务器方面,使用Web服务器,采用HTTP协议来代替底层的socket,是常见的选择。采用HTTP协议更加除了能得到稳定的服务器支持外,更加可以兼容各种客户端(手机、PC、浏览器)等等。这样实现了一个服务器之后,多个客户端可以通用。

    2.通信过程

    这里写图片描述

    HTTP 协议采用请求/响应模型。客户端向服务器发送一个请求报文,服务器以一个状态作为响应。

    HTTP 请求/响应的步骤:

    • 客户端连接到web服务器:HTTP 客户端与web服务器建立一个 TCP 连接;
    • 客户端向服务器发起 HTTP 请求:通过已建立的TCP 连接,客户端向服务器发送一个请求报文;
    • 服务器接收 HTTP 请求并返回 HTTP 响应:服务器解析请求,定位请求资源,服务器将资源副本写到 TCP 连接,由客户端读取;
    • 释放 TCP 连接:若connection 模式为close,则服务器主动关闭TCP 连接,客户端被动关闭连接,释放TCP 连接;若connection 模式为keepalive,则该连接会保持一段时间,在该时间内可以继续接收请求;
    • 客户端浏览器解析HTML内容:客户端将服务器响应的 html 文本解析并显示。

    3. 测试代码

    #include <stdio.h>  
    #include <stdlib.h>  
    #include <string.h>                         
    #include <unistd.h>  
    #include <fcntl.h>
    #include <sys/socket.h>  
    #include <netinet/in.h>  
    #include <arpa/inet.h>
    
    int main()
    {
         // 创建通信端点:套接字
        int sockfd = socket(AF_INET, SOCK_STREAM, 0);  
        if(sockfd < 0)  
        {  
            perror("socket");  
            return -1;  
        }  
    
        // 设置本地地址结构体  
        struct sockaddr_in my_addr;  
        bzero(&my_addr, sizeof(my_addr));   // 清空      
        my_addr.sin_family = AF_INET;       // ipv4  
        my_addr.sin_port   = htons(8000);   // 端口  
        my_addr.sin_addr.s_addr = htonl(INADDR_ANY); // ip  
    
        // 绑定  
        int err_log = bind(sockfd, (struct sockaddr*)&my_addr, sizeof(my_addr));  
        if( err_log != 0)  
        {  
            perror("binding");  
            close(sockfd);        
            return -1;  
        }  
    
        err_log = listen(sockfd, 10); // 监听,监听套接字改为被动  
        if(err_log != 0)  
        {  
            perror("listen");  
            close(sockfd);        
            return -1;    
        }     
    
        printf("listen client @port=%d...\n", 8000); 
    
        int connfd;  
        connfd = accept(sockfd, NULL, NULL);    // 等待连接  
    
        char recv_buf[8*1024] = {0};
        read(connfd, recv_buf, sizeof(recv_buf));
        printf("%s", recv_buf);
    
        //获取客户端需要的网页内容
        char filename[200] = {0};
        sscanf(recv_buf, "GET /%[^ ]", filename); //获取文件名字
        printf("filename = %s\n", filename);
    
        int fd;
        fd = open(filename, O_RDONLY);//只读方式打开
        if(fd < 0)//打开文件失败
        {
            //HTTP 响应报文由状态行、响应头部、空行、响应包体4个部分组成
            char err[]= "HTTP/1.1 404 Not Found\r\n"    //状态行
                        "Content-Type: text/html\r\n"   //响应头部
                        "\r\n"                          //空行
                        "<HTML><BODY>File not found</BODY></HTML>";  //响应包体           
    
            perror("open"); 
            send(connfd, err, strlen(err), 0);//发送失败的响应报文头
    
            close(connfd);
            return -1;
        }   
    
        //HTTP 响应报文由状态行、响应头部、空行、响应包体4个部分组成
        char head[] = "HTTP/1.1 200 OK\r\n"     //状态行
                  "Content-Type: text/html\r\n" //响应头部
                  "\r\n";                       //空行
        send(connfd, head, strlen(head), 0); //发送成功的响应报文头
    
        //发送响应包体
        int len;
        char file_buf[4 * 1024];
        //循环读取并发送文件,读多少,发多少
        while((len = read(fd, file_buf, sizeof(file_buf))) > 0) 
        {
            send(connfd, file_buf, len, 0);
        }
    
        close(fd);
        close(connfd); 
    
        while(1)
        {
            NULL;
        }
    
        return 0;
    }

    终端运行服务器程序:
    这里写图片描述

    浏览器请求服务,得到相应内容:
    这里写图片描述

    4. 简单版Web服务器

    #include <stdio.h>
    #include <stdlib.h>
    #include <unistd.h>
    #include <fcntl.h>
    #include <string.h>
    #include <sys/socket.h>
    #include <netinet/in.h>
    #include <arpa/inet.h>
    
    /************************************************************************
    函数名称:   int main(int argc, char *argv[])
    函数功能:   通过进程创建webserver
    函数参数:   int argc, char *argv[]
    函数返回:   无
    ************************************************************************/
    int main(int argc, char *argv[])
    {
        unsigned short port = 8000;   //设置默认端口号
        if(argc > 1)
        {
            port = atoi(argv[1]);   //将参数2赋值给端口号变量
        }
    
        //创建TCP套接字
        int sockfd = socket(AF_INET, SOCK_STREAM, 0);
        if( sockfd < 0)
        {
            perror("socket");   
            exit(-1);
        }
    
        //服务器套接字地址变量赋值
        struct sockaddr_in my_addr;
        bzero(&my_addr, sizeof(my_addr));
        my_addr.sin_family = AF_INET;   //IPV4族
        my_addr.sin_port   = htons(port); //将端口号转换成网络字节序
        my_addr.sin_addr.s_addr = htonl(INADDR_ANY); //本机IP地址
    
        //绑定TCP套接字
        if( bind(sockfd, (struct sockaddr*)&my_addr, sizeof(my_addr)) != 0)
        {
            perror("bind");
            close(sockfd);      
            exit(-1);
        }
    
        //监听
        if( listen(sockfd, 10) != 0)
        {
            perror("listen");
            close(sockfd);      
            exit(-1);
        }
    
        printf("Listenning at port=%d\n",port);   //打印端口号信息
        printf("Usage: http://127.0.0.1:%d/html/index.html\n", port);
    
        while(1)
        {
            char cli_ip[INET_ADDRSTRLEN] = {0};  //存放客户端点分十进制IP地址
            struct sockaddr_in client_addr;
            socklen_t cliaddr_len = sizeof(client_addr);
    
            //等待客户端连接
            int connfd = accept(sockfd, (struct sockaddr*)&client_addr, &cliaddr_len);
            printf("connfd=%d\n",connfd); //打印已连接套接字
            if(connfd > 0)
            {
                if(fork() == 0)  //创建进程并判断返回值
                {
                    close(sockfd);
                    //子进程执行
                    int  fd = 0;
                    int  len = 0;
                    char buf[1024] = "";
                    char filename[50] = "";
    
                    //将网络字节序转换成点分十进制形式存放在cli_ip中
                    inet_ntop(AF_INET, &client_addr.sin_addr, cli_ip, INET_ADDRSTRLEN);
                    printf("connected form %s\n\r", cli_ip);   //打印点分十进制形式的客户端IP地址
                    recv(connfd, buf, sizeof(buf), 0);   //接收客户端发送的请求内容
                    sscanf(buf, "GET /%[^ ]", filename);   //解析客户端发送请求字符串
                    printf("filename=*%s*\n", filename);
    
                    fd = open(filename, O_RDONLY);   //以只读方式打开文件
                    if( fd < 0)   //如果打开文件失败
                    {
                        //HTTP失败头部
                        char err[]= "HTTP/1.1 404 Not Found\r\n"
                                    "Content-Type: text/html\r\n"
                                    "\r\n"  
                                    "<HTML><BODY>File not found</BODY></HTML>";
    
                        perror("open error");                   
                        send(connfd, err, strlen(err), 0);
                        close(connfd);  //关闭已连接套接字
                        exit(0);    //子进程退出
                    }
    
                    //打开文件成功后
                    //接收成功时返回的头部
                    char head[]="HTTP/1.1 200 OK\r\n"
                                "Content-Type: text/html\r\n"
                                "\r\n";
                    send(connfd, head, strlen(head), 0);  //发送HTTP请求成功头部
    
                    while( (len = read(fd, buf, sizeof(buf))) > 0)   //循环读取文件内容
                    {
                        send(connfd, buf, len, 0);       //将读得的数据发送给客户端
                    }
    
                    close(fd);   //成功后关闭文件
                    close(connfd);   //关闭已连接套接字
                    exit(0);     //子进程退出
                }
            }   
    
            close(connfd);   //父进程关闭连接套接字
        }
        close(sockfd);
        printf("exit main!\n");
    
        return 0;
    }
    

    本教程示例代码下载请点此链接:http://download.csdn.net/detail/tennysonsky
    github下载路径:https://github.com/mikejiangsky/http_communication.git

    展开全文
  • 这一篇跟大家分享 Web 客户端/网页与 Web 服务器的通信过程,并详细讲述通信协议HTTP 协议和 TCP 协议。 无论你是前端开发者还是后端开发者,以及测试工程师,这篇文章的知识都是你需要弄懂的。 读完这一篇文章,...

    这一篇跟大家分享 Web 客户端/网页与 Web 服务器的通信过程,并详细讲述通信协议:HTTP 协议和 TCP 协议。

    无论你是前端开发者还是后端开发者,以及测试工程师,这篇文章的知识都是你需要弄懂的。

    读完这一篇文章,将全面弄懂 HTTP 协议、TCP 协议,面试官再也难不倒你相关知识。

    下面为文章目录:

    • Web 客户端和服务端通信过程;
      • 会讲解 TCP/IP 协议族、数据处理流程、 URL 到服务器访问步骤、七层网络模型;
    • HTTP 协议;
      • 将详细 HTTP 介绍、特点、工作流程和原理、长连接、短连接;
      • 详细介绍请求报文、响应报文、HTTP 状态码、首部(通用首部、请求首部、响应首部、实体首部);
      • 讲解 GET 和 POST 的区别;
      • 讲解 HTTP2 新特性: 单一长连接、多路复用、二进制分帧、服务器推送;
    • TCP 协议;
      • 介绍 UDP、TCP 协议;
      • 讲解 TCP 相关机制: 三次握手、四次挥手、超时重发、应答机制、窗口控制。

    阅读全文: http://gitbook.cn/gitchat/activity/5ca1ee4e99783b2694026d8f

    您还可以下载 CSDN 旗下精品原创内容社区 GitChat App ,阅读更多 GitChat 专享技术内容哦。

    FtooAtPSkEJwnW-9xkCLqSTRpBKX

    展开全文
  • Web世界通信协议 - 学习/实践

    千次阅读 2019-12-18 11:04:23
    了解web世界中, 各种网络通信协议, 实现的手段, 区别和原理. 另外发现, 网上很多博客, 问答等都没有回答清楚web中的一些协议, 通信的准确定义以及原理和实质. 这里希望自己能逐步准确整理出来网络相关的...

    1.应用场景/目的

    了解web世界中, 各种网络通信协议, 实现的手段, 区别和原理.

    另外发现, 网上很多博客, 问答等都没有回答清楚web中的一些协议, 通信的准确定义以及原理和实质. 

    这里希望自己能逐步准确整理出来网络相关的概念,协议, 原理, 本质等. 

     

    再次发现, 弄清楚一个技术本质, 不下功夫是不行的.

    2.学习/操作

    1.App与后台通信协议

    TBD

     

    网上暂答:

    通用的语言有很多种,例如英语和中文.

    在网络的通讯中,通用的协议有很多,其中http是被最广泛使用的。如果是私有的协议,那就只能自己另外设计.

     

    用http是最方便的,如果是私有协议,包含协议的封装和拆解,工作量大,前端程序员和后端程序员都要增加很多额外的工作量。而且私有协议对程序员的要求高,不适合从web网站转过来的开发者。除非是手游,不然用http就好了。

     

    问题:

    App和服务器通讯使用长连接还是短连接?

     

    假设现在通过手机拨打另外一个人的手机,手机通话费用非常便宜[甚至可以忽略],但是有两个注意的地方:
    1.一台手机同一时间只能接听一个电话。
    2.一台手机接听电话前非常麻烦,要拨号啦,要等接听,这需要一段时间。

     

    App和服务器通讯使用长连接还是短连接这个问题,可以等同于上面电话模型,是一直保持着通话,还是有需要时才拨号通话这个问题?

     

    当App和服务器通讯使用长连接,就相当于一直保持着通话,服务器能保持的通讯数量有限,如果通讯满了,那其他App就不能和服务端通讯了。这种通讯方式,多数是使用socket或websocket连接长时间连接,对程序员的要求比较高,开发比较困难,除了手游和聊天推送服务外,不建议使用。

     

    当App和服务器通讯使用短连接,就相当于需要时才拨号通话。

    这种通讯方式,配合http协议,是现在主流的通讯方式,开发效率高,有大量的第三方资源,使用非常广泛,推荐使用这种方式。

    当App和服务器通讯使用短连接,就相当于需要时才拨号通话。这种通讯方式,配合http协议,是现在主流的通讯方式,开发效率高,有大量的第三方资源,使用非常广泛,推荐使用这种方式。

    当App调用api的时候,只需要明确下面3点
    1.这个api是干啥的(柜员机例子中,是取款功能,还是查询余额,还是转账)

    2.知道要输入什么(柜员机例子中,取款要输入金钱)

    3.知道结果是什么(柜员机例子中,取款是成功还是失败)

    至于api内部是怎么处理的,app根本无需理会。

    api,一般是以http的形式调用的,通过http传入参数,返回结果。

    其中,结果一般是以json格式返回的,因为json格式被众多计算机语言支持,而且省流量。

     

    2.浏览器与服务器通信
    TBD

     

     

     

    后续补充

    ...

    3.问题

    Q1: 浏览器只能支持http[包括http 1.0 / 1.1 / 2.0]协议吗?

    浏览器还支持: 

    ftp[文件传输协议], 用于Internet上的控制文件的双向传输。

    HTTPS [Hyper Text Transfer Protocol over Secure Socket Layer], 简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。 //另外查看资料

    File[本地文件传输协议] , File协议主要用于访问本地计算机中的文件,就如同在Windows资源管理器中打开文件一样。

    IT中的应用:要使用File协议,基本的格式如下:file:///文件路径,

    比如要打开I盘test文件夹中的1.txt文件,那么可以在资源管理器浏览器地址栏中键入:file:///I:/test/1.txt [可以省略file:///]并回车。

    浏览器如下:

    资源管理器中:

     

     

    Q2: http协议只能使用tcp协议吗?

    A: TCP三次握手[为了建立可靠连接]而不是HTTP,HTTP可以不用TCP协议。

     

    http协议只定义了应用层的东西,下层的可靠性要传输层来保证,但是没有说一定要用tcp,只要是可以保证可靠性传输层协议都可以承载http,比如有基于sctp的http实现。 http也不是不能通过udp承载,在手机上就有人自己开发基于reliable udp的http协议,不过都是非标准的.

     

    Q3: http连接, socket连接 , websocket连接有什么区别?

    TBD

     

    Q4: 服务器能维持的连接数是怎样的? 跟什么因素有关?

    TBD

     

     

    后续补充 

    ...

    4.参考

    https://www.zhihu.com/question/32095220/answer/55139710  //写一个即时通信的app,服务器端需要用到哪些技术?

    https://blog.csdn.net/Pony_18/article/details/78712215  //常见浏览器协议

    后续补充

    ...

    展开全文
  • web服务器工作原理及http协议通信

    千次阅读 2011-10-10 10:18:45
    一个 Web 服务器也被称为 HTTP 服务器,它通过 HTTP 协议与客户端通信。这个客户端通常指的是 Web 浏览器。  Web服务器的工作原理简单的可以归纳为:客户机连接服务器,客户端向服务器发送请求,服务器向...

    一个 Web 服务器也被称为 HTTP 服务器,它通过 HTTP 协议与客户端通信。这个客户端通常指的是 Web 浏览器。

        Web服务器的工作原理简单的可以归纳为:客户机连接服务器,客户端向服务器发送请求,服务器向客户机发送应答,客户机与服务器断开。一个简单的事务处理事件就是这样实现的,看起来不简单,做起来其实也是挺简单的,呵呵……需要注意的是客户机与服务器直接的通信是非连接的,也就是当服务器发送了应答后就与客户机断开连接,等待下一次请求。

      HTTP 是一种让 Web 服务器与浏览器(客户端)通过 Internet 发送与接收数据的协议。它是一个请求、响应协议--客户端发出一个请求,服务器响应这个请求。HTTP 运用可靠的 TCP 连接,通常用的 TCP 80 端口。

    在 HTTP 中,客户端总是通过建立一个连接与发送一个 HTTP 请求来发起一个事务。服务器不能主动去与客户端联系,也不能给客户端发出一个回叫连接。客户端与服务器端都可以提前中断一个连接。例如,当用一个浏览器下载一个文件时,你可以通过点击“停止”键来中断文件的下载,关闭与服务器的 HTTP 连接。
        http协议使Web服务器和浏览器可以通过Web交换数据。它是一种请求/响应协议,即服务器等待并响应客户方请求。H T T P不维护与客户方的连接,它使用可靠的T C P连接,通常采用TCP 80端口。客户/服务器传输过程可分为四个基一步骤:
     1) 浏览器与服务器建立连接;
     2) 浏览器向服务器请求文档;
     3) 服务器响应浏览器请求;
     4) 断开连接。
    H T T P是一种无状态协议,它不维护连接的状态信息。
    1. 客户请求
    客户请求包含以下信息:
    请求方法
    请求头
    请求数据
    (1)请求方法是用于特定U R L或We b页面的程序HTTP请求方法:
    方法       描述
    GET     请求指定的文档
    HEAD    仅请求文档头
    POST    请求服务器接收指定文档作为可执行的信息
    PUT     用从客户端传送的数据取代指定文档中的内容
    DELETE  请求服务器删除指定页面
    OPTIONS 允许客户端查看服务器的性能
    TRACE   用于测试—允许客户端查看消息回收过程
    (2)头信息是可选项,它用于向服务器提供客户端的其他信息
    如果客户采用某种方法获取数据(如P O S T ),数据就放在头( h e a d e r )之后;否则客户机等待
    从服务器传来的响应。
    2. 服务器响应
    服务器响应包括以下关键部分:
    状态码
    响应头
    响应数据
    HTTP定义了多组返回给浏览器的状态码。
    响应头向客户方提供服务器和/或请求文档的信息HTTP响应头:
    方法              描述
    Server         Web服务器信息
    Date           当前日期/时间
    Last Modified  请求文档最近修改时间
    Expires        请求文档过期时间
    Content-length 数据长度(字节)
    Content-type   数据M I M E类型
    WWW-authenticate 用于通知客户方需要的认证信息(如用户名、口令等)
    如果有客户方请求的数据,数据放在响应头之后,否则服务器断开连接。
    3.通信实例:
    1. 请求
    在本例中,浏览器请求文档的U R L为h ttp://www.hostname.com/index.html。所有的请求均以空行结束。
    GET /index.html HTTP/1.1
    Accept: text/plain
    Accept: text/html
    User-Agent: Mozilla/4.5(WinNT)
                       (blank line)
    (DATA)

    浏览器使用Get方法请求文档/index.html。浏览器声明它只能接收纯文本和html数据,它使用Mozilla/4.5(Netscape)引擎。
    2. 响应
    服务响应包括状态码、一些头信息(以空行结束)及请求数据,假设数据存在,则响应信息如下:
    HTTP/1.1 200 OK
    Date Sunday, 15-Jul-05 12:18:33 GMT
    Server: Apache/1.3.6
    MIME-version: 1.0
    Content-type: test/html
    Last-modified: Thursday,02-Jun-05 20:43:56 GMT
    Content-length: 1432
            (blank line)
    <HTML>              (此行开始为数据部分,与前面头部要空一行)
    <HEAD>
    <title>Example Server-Browser Communication</title>
    </HEAD>
    <BODY>
    ......
    </BODY>
    </HTML>

    假设文档未找到,响应信息如下
    HTTP/1.1 404 NOT FOUND
    Date Sunday, 15-Jul-05 12:19:33 GMT
    Server: Apache/1.3.6

    注意:每行换行时用:/r/n,头部与数据段之间要多空已行,即用两次/r/n

    特别的,请求的一个网页包含着图片或视频等内容时,服务器第一次先发送文本消息,断开连接,客户端再次发送请求,服务器再次发送图片信息,有多少张图片(即除文本标签以为的消息)服务器就要和客户机断开/连接多少次。下面是我用Java编写的一个简单的web服务器:

    如果想要代码的话,自己下载:

    现在解释一下运行的一些问题:

    while (true) {

    System.out.println("服务器在等待中……");

                  // 让服务器循环等待客户机的连接,如果没有whlie(true)语句,当客户机与服务器

                  // 断开时,web服务器也退出了程序,无法使用

                  Socket client = server.accept();

                  // 处理客户端

                  processClient(client);

    服务器在等待中……

    (此处为空行)

    服务器在等待中……

    2.jpg

    服务器在等待中……

    3.jpg

    服务器在等待中……

    1.gif

    服务器在等待中……

    sound.mp3

    服务器在等待中……

    其中的第一个“服务器在等待中……”是在服务器创建成功后输出的,之后等待客户机连接(即执行Socket client = server.accept();这句代码时,程序处于阻塞状态),当客户机来连接时,输出空行,也就是向请求主页,当服务器向客户机发送了文本时,断开,服务器再次进入等待,此时输出第二个“服务器在等待中……”,客户机再次发送1.jpg图片文件请求,依次类推,知道将客户机请求的全部信息都发送完,这也是web服务器与浏览器(客户机)之间通信的缺点之一,也就是http没连接一次只能完成一次请求,如果html文件中有多张图片,每传送一个图片,客户机和服务器之间都要单独建立一次连接。当然一个好的web服务器不仅仅是这么简单的,但是只要我们掌握了他们通信的原理,写出一个好的web服务器不是一件难事……

    展开全文
  • 使用SSL协议保证web服务通信安全

    千次阅读 2012-10-12 10:32:14
    因此,本文就将对SSL协议进行深入剖析,并介绍如何使用SSL技术保护Apache服务器通信。 1 SSL简介 通常的连接方式中,通信是以非加密的形式在网络上传播的,这就有可能被非法窃听到,尤其是用于认证的口令信息...
  • sockjs-web实时通信协议

    万次阅读 2015-06-22 15:12:12
    sockjs-web实时通讯应用解决方案 socksjs目标 客户端和服务器端api尽可能简洁,尽量靠近websocket api 支持服务端扩展和负载均衡技术 传输层应该全面支持跨域通信 如果收到代理服务器的限制,传输层能优雅地从...
  • JavaWeb第五讲 Web核心基础之HTTP协议

    万次阅读 2020-08-12 22:53:50
    HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。 主要特点: 简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与...
  • Web服务器与客户端的通信使用HTTP协议(超文本传输协议),所以也叫做HTTP服务器。用Java构造Web服务器主要用二个类,java.net.Socket和java.net.ServerSocket,来实现HTTP通信。因此,本文首先要讨论的是HTTP协议和...
  • Http通信协议

    千次阅读 2018-12-12 11:32:50
    HTTP是一个基于TCP / IP通信协议来传递数据(HTML文件,图片文件,查询结果等)。 HTTP是一个属于应用层的面向对象的协议,由于其简捷,快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与...
  • 在上一篇文章中,我简单的说了一下B/S架构的流程图,关于浏览器和服务器之间的通信过程知识含糊的说了一下,在这篇文章中我再总结一下B/S架构里是如何利用http协议去完成通信的。 (一)通讯过程  1:浏览器...
  • 什么是HTTP协议? 客户端连上web服务器后,若想获得web服务器中的某个web资源,需遵守
  • Android之Http通信——1.初识Http协议

    万次阅读 多人点赞 2015-06-02 17:16:10
    Android之Http通信——1.初识Http协议 本文内容: >1. 介绍了下HTTP协议的一些概念、 >2. 简单的说了下HTTP 1.0 和HTTP 1.1的区别 >3. HTTP请求的流程,包括SYN和ACK的概念,TCP/IP三次握手,HTTP操作的流程,HTTP请求...
  • Web实时通信技术

    千次阅读 2016-08-19 21:11:41
    本周在应用宝前端分享会上分享了Web实时通信技术,分享内容整理如下。一、传统Web数据更新传统的Web数据更新,必须要刷新网页才能显示更新的内容。这是浏览器采用的是B/S架构,而B/S架构是基于HTTP协议的。HTTP协议...
  • 精讲!!! Web服务器基础与http协议

    千次阅读 2020-08-30 17:17:12
    web服务器基础与http协议web基础版本Web 1.0Web 2.0域名概述域名注册网页的概念HTTP协议HTTP协议概述HTTP方法GET方法POST方法HTTP状态码生产环境常见的HTTP状态码 web基础 版本 Web 1.0 以编辑为特征,网站提供给...
  • http协议通信过程和请求格式

    千次阅读 2016-03-30 19:23:08
    HTTP通信机制是在一次完整的HTTP通信过程中,Web浏览器与Web服务器之间将完成下列7个步骤: (1)建立TCP连接 在HTTP工作开始之前,Web浏览器首先要通过网络与Web服务器建立连接,该连接是通过TCP来完成的,该...
  • 【Java Web】: HTTP协议详解

    千次阅读 2013-10-24 23:29:47
    web 开发与 Android 开发过程,要涉及到客户端与服务端的交互,这一点我们需要Http有深入的了解,这样才能更好的进行开发。 绝大多数的Web开发,都是构建在Http协议之上的Web应用,理解和掌握Http协议,将有助...
  • 目前串口调试助手很难提供灵活的数据可视化功能. 有时对于感兴趣信号的表示不够直观. 使用 HTML + JavaScript 语言制作了一个网页 WEB 应用, 在... 其中用到了 Web Serial API 实现串口通信, 使用 chart.js 绘制信号.
  • 如题,socket的好处到底在哪里?网上说socket其实是一个封装了传输层、网络层协议的API,难道直接使用TCP、IP协议就不方便吗?
  • HTTP协议——通信机制

    千次阅读 2011-08-22 11:47:50
    一、什么是HTTP HTTP(HyperText Transfer Protocol)是一套计算机通过网络进行...计算机专家设计出HTTP,使HTTP客户(如Web浏览器)能够从HTTP服务器(Web服务器)请求信息和服务,HTTP目前协议的版本是1.1.HTTP是一种
  • Http协议基础 Web技术发展【http://www.cnblogs.com/ProgrammerGE/articles/1824657.html】 静态WEB【网页】 动态WEB 属于一种应用程序基于数据库每个人看到的内容不同根据用户输入,返回不同结果 WEB...
  • 关键词:微信通信协议,用自己的程序收发微信,微信网页web版分析 这几天因为项目需要用自己的程序发送微信,研究了一下微信网页版的通信协议,自己写了个程序,实现微信的登录、初始化、读取联系人列表、发送...
  • QQ使用通信协议

    万次阅读 多人点赞 2018-07-02 18:47:26
    一、概述。...因此,假如你所在的网络开放了80...就是通常访问Web的端口,禁掉它的话,你的网络对你来说价值已经不大了),但没有屏蔽腾讯的服务器IP,恭喜你,你是可以登陆成功QQ的。二、聊天消息通信。 采用UDP协...
  • web前端必须掌握的HTTP协议知识

    千次阅读 2020-02-19 18:49:41
    web前端必会的HTTP协议知识 HTTP协议 HTTP<超文本传输协议>的缩写。是用于从WWW服务器传输超文本到本地浏览器的传输协议.HTTP是一个应用层协议,由请求和响应构成,是一个标准的个客户端和服务器模型。 HTTP...
  • socket通信和websocket通信协议

    千次阅读 2018-08-10 12:04:32
    socket通信 网络上的两个程序通过一个双向的通信链接实现数据的交换,这个链接的一端称为一个socket socket通信流程图 服务器端通过创建一个socket的通信链接,然后绑定socket和端口号并监听,就可以接收来自...
  • 深入理解HTTP协议(转) 浏览器和服务器如何通信(HTTP协议) 标签: 服务器浏览器sessionservlet文档web服务 2012-04-26 17:48 12966人阅读 评论(2) 收藏 举报  分类: C# ASP.NET(137)  ...
  • HTTP协议大家都是比较熟悉的...比如它是应用层协议,是基于TCP/IP协议的,用于web通信,可以GET、POST,可以通过脚本或者TELNET的方法 来发送一个HTTP请求并得到返回的内容,默认端口是80等。   最近
  • 本文第一部分记录了Tomcat安装配置,包括修改端口 、掌握tomcat启动问题解决,Tomcat和...第二部分记录了HTTP七种请求方式,GET和POST区别,HTTP 协议头信息、Referer防盗链案例、302结合Location进行重定向、在tom
  • web浏览器(客户端)和web应用服务器建立tcp连接 http协议是tcp/ip 模型中的应用层的协议,是高层的协议。传输控制协议TCP位于传输层,tcp是建立本地主机和目标主机的会话,只有建立tcp连接,应用层http协议才可以...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 270,420
精华内容 108,168
关键字:

web通信需要使用http协议