美文网首页程序员
http之tcp具体实现

http之tcp具体实现

作者: 进击的码奴 | 来源:发表于2019-08-19 11:45 被阅读0次

       我这人比较懒,之前计划每周至少一篇博客,但是自从写了几篇之后再也没减持下去。最近有个小伙伴在http长连接下面@我。因此呢,为了避免以后有人还问。所以这次我写一个http之tcp具体实现,帮助大家具体理解所谓的通信协议到底是什么。

       *******所谓的通信协议就是通信双方约定的规则*******

        比如对于tcp来说,双方约定建立链接时,相互hello对方一个,发起这多hello一次。结束时双方bye一次,并相互确认bye听到了。这就是tcp协议的一部分。当然tcp协议很复杂,还有很多其他约定。

        http是以消息封装在tcp消息体里的。在传输层来看,http协议就是一个消息。网上具体背书式的介绍http协议我就不介绍了。请参看我写的http协议那篇里面有链接。下面直接讨论http实现的主干逻辑。  

        本文是使用ServerSocketChannel实现的。这个东西依赖于java。不知道其他语言怎么搞得,没考究过。不过应该万变不离其宗。

        上图为通过线程绑定端口,注册通道,让后通过线程启动,来监听web服务。

上图为接受tcp连接是个SocketChannel对象,让后将SocketChannel放到线程池中处理。

读通道里的tcp连接内容。

        这里的解析我就不贴代码了,因为太长。解析就是读tcp消息体,让后http协议格式,解析http消息。http协议格式:

就按照这个一行一行解析tcp消息体

        然后根据URL里面 链接地址,解析出对应的处理方法进行响应处理。这就是http整个协议使用tcp实现的逻辑。因为我是使用公司代码。很多有业务逻辑代码我没有贴。所以看起来可能有点缺失。

        建议大家可以去看jetty源码,就可以理解了。

相关文章

  • http之tcp具体实现

    我这人比较懒,之前计划每周至少一篇博客,但是自从写了几篇之后再也没减持下去。最近有个小伙伴在http长连接下...

  • note_20.1_web

    Web Service 应用层:http, https实现某类具体应用: 传输层协议:TCP, UDP, SCTP...

  • HTTP协议笔记

    HTTP协议 https的实现原理 TCP三次握手

  • 了解一些关于HTTP与HTTPS协议的知识

    HTTP(超文本传输协议),HTTP就是通过TCP/IP协议建立连接,实现服务器和客户端之间的通信。TCP/IP协...

  • SSH服务

    SSH secure shell,protocol,22/tcp,安全的远程登录 具体的软件实现 OpenSSH:...

  • 怎么查看移动app和server的通信?

    测试移动客户端的同学一定会涉及到客户端和服务端的通信,包括HTTP和TCP通信。查看具体的HTTP、TCP通信应该...

  • Android面试题

    具体介绍下TCP/IP: TCP/IP一般指的是TCP/IP协议簇,主要包括了多个不同网络间实现信息传输涉及到的各...

  • HTTP的报文样子

    HTTP的报文的样子 在HTTP的工作过程中,TCP/IP协议负责了底层具体的传输工作,HTTP协议就不用关心这方...

  • 网络

    1、http协议内容 2、TCP具体是通过怎样的方式来保证数据的顺序化传输呢? 主机每次发送数据时,TCP就给每个...

  • SSH,SCP,rsync,sftp

    1.ssh: secure shell, protocol, 22/tcp, 安全的远程登录 (1)具体的软件实现...

网友评论

    本文标题:http之tcp具体实现

    本文链接:https://www.haomeiwen.com/subject/gyfssctx.html