`
473687880
  • 浏览: 485385 次
文章分类
社区版块
存档分类
最新评论

完整的HTTP通信步骤

 
阅读更多
HTTP通信机制是在一次完整的HTTP通信过程中,Web浏览器与Web服务器之间将完成下列7个步骤:
1、建立TCP连接
在HTTP工作开始之前,Web浏览器首先要通过网络与Web服务器建立连接,该连接是通过TCP来完成的,该协议与IP协议共同构建Internet,即著名的TCP/IP协议族,因此Internet又被称作是TCP/IP网络。HTTP是比TCP更高层次的应用层协议,根据规则,只有低层协议建立之后才能,才能进行更层协议的连接,因此,首先要建立TCP连接,一般TCP连接的端口号是80
-
2、Web浏览器向Web服务器发送请求命令
一旦建立了TCP连接,Web浏览器就会向Web服务器发送请求命令
例如:GET/sample/hello.jsp HTTP/1.1
-
3、Web浏览器发送请求头信息
浏览器发送其请求命令之后,还要以头信息的形式向Web服务器发送一些别的信息,之后浏览器发送了一空白行来通知服务器,它已经结束了该头信息的发送。
-
4、Web服务器应答
客户机向服务器发出请求后,服务器会客户机回送应答,
HTTP/1.1 200 OK
应答的第一部分是协议的版本号和应答状态码
-
5、Web服务器发送应答头信息
正如客户端会随同请求发送关于自身的信息一样,服务器也会随同应答向用户发送关于它自己的数据及被请求的文档。
-
6、Web服务器向浏览器发送数据
Web服务器向浏览器发送头信息后,它会发送一个空白行来表示头信息的发送到此为结束,接着,它就以Content-Type应答头信息所描述的格式发送用户所请求的实际数据
-
7、Web服务器关闭TCP连接
一般情况下,一旦Web服务器向浏览器发送了请求数据,它就要关闭TCP连接,然后如果浏览器或者服务器在其头信息加入了这行代码
Connection:keep-alive
TCP连接在发送后将仍然保持打开状态,于是,浏览器可以继续通过相同的连接发送请求。保持连接节省了为每个请求建立新连接所需的时间,还节约了网络带宽。
分享到:
评论

相关推荐

    java网络编程http通信

    通过java网络编程深入理解http非阻塞通信和阻塞通信,以及http协议在网络中的应用 源码包每一行都有注释,在代码里面每一个类都有详细的注释来解释这个类的功能这个方法的功能,调用哪一个类的哪一个功能等等。 压缩...

    HTTP请求的全过程

    当我们开始在浏览器中输入网址的时候,浏览器其实就已经在智能的匹配可能得 url 了,他会从历史记录,书签等地方,找到已经输入的字符串可能对应的 url,然后给出智能提示,让你可以补全url地址。...

    Visual C++_Turbo C 串口通信编程实践.(电子工业.龚建伟.熊光明) 第二版 电子版

    由于编程步骤详尽,初学Visual C++/C(甚至是以前完全没有接触过Visual C++)的读者也能很快编写出Visual C++的串口通信程序。本书配光盘,书中实例源程序和相关资料可在对应章节的文件夹中找到。 本书是从事串口及...

    Spring Boot与Feign:微服务架构下的优雅通信

    我们将从Feign的基本原理讲起,然后逐步展开使用Feign的完整流程和步骤,包括代码示例和详细注释。通过本文,读者将能够轻松掌握Feign在Spring Boot微服务架构中的应用。 Feign是一个声明式的Web Service客户端,它...

    CEF:进程间通信 Demo(VS2013)

    CEF 进程间通信 Demo(VS2013)源码,详细步骤请见博客文章 http://blog.csdn.net/blackwoodcliff/article/details/78917001

    Python通过websocket与js客户端通信示例分析

    于是,使用 websocket 大致两个步骤:使用 HTTP 握手,通信。 js 处理 websocket 要使用 ws 模块; Python 处理则使用 socket 模块建立 TCP 连接即可,比一般的 socket ,只多一个握手以及数据处理的步骤。 握手 ...

    Visual C++_Turbo C 串口通信编程实践.(电子工业.龚建伟.熊光明) 源码光盘

    由于编程步骤详尽,初学Visual C++/C(甚至是以前完全没有接触过Visual C++)的读者也能很快编写出Visual C++的串口通信程序。本书配光盘,书中实例源程序和相关资料可在对应章节的文件夹中找到。 本书是从事串口及...

    gsoap开发步骤

    gsoap是和vs或者vc搭配开发http或https通信的工具,本文档包含基本开发的基本步骤,适合初学者

    C#基于TCP协议的服务器端和客户端通信编程的基础教程

    运行在TCP之上常见的网络应用协议有比如HTTP、FTP、SMTP、POP3、IMAP。 TCP是TCP/IP体系中最重要的传输协议,它提供全双工和可靠交付的服务,是大多数应用协议工作的基础。 TCP是一种面向连接(连接导向)的,可靠的,...

    android ftp上传功能实现步骤

    在本篇内容里小编给大家分享的是关于android ftp上传功能实现步骤内容,需要的朋友们可以学习下。

    WFetch 1.4是免费实用程序上提供一个作为是基础 " - "。 Microsoft 不支持工具, 但您可以使用它来提供客户端和服务器之间通信详细信息。

    Microsoft 不支持工具, 但您可以使用它来提供客户端和服务器之间通信详细信息。 警告 此工具提供高级功能可允许用户公开服务器以潜在安全风险。 由于这个原因, Microsoft 建议, 实用工具是用于仅在, 测试和生产...

    HP-Socket:高性能TCPUDPHTTP通信组件

    高性能网络框架 描述 服务器基于IOCP / EPOLL通信模型,结合内存池,私有堆等技术,实现了高效的内存管理,以支持大规模和高并发通信场景。 代理代理组件本质上是一个多客户端... 停止组件对象(可选:在步骤7中销毁组

    微信小程序后台,包含WebSocket(微信小程序通信)和Netty(物联网通信).zip

    爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL可以通过链接分析、站点地图、搜索引擎等方式获取。 请求网页: 爬虫使用HTTP...

    OV7670 无fifo(精英板STM32F103)--精品资源

    这里我总结了四个步骤: 1、写SCCB协议,使得OV7670可以和单片机通信 2、初始化OV7670(主要是寄存器配置) 3、配置DMA 4、开始DMA的传输,显示 博客参考: 1、...

    《Windows网络编程技术》高清PDF版+随书源码

    直接网络编程5.1 原始套接字编程5.1.1 原始套接字简介5.1.2 WinSock的原始套接字5.1.3 Winsock原始套接字编程步骤5.1.4 Winsock原始套接字实例5.2 基于winPcap网络数据包捕获5.2.1 WinPcap简介5.2.2 网络数据包捕获...

    基于python语音识别与蓝牙通信的温控系统源码.zip

    运行步骤 需要先安装Python的相关依赖:bs4,pymysql,Django=2.2.19 ,selenium, requests 使用pip install 安装 第一步:创建数据库, 第二步:执行SQL语句,打开sql文件,运行该文件中的SQL语句 第三步:修改...

    Java爬虫:实现信息抓取的完整实例源码

    Java爬虫的实现通常涉及以下几个关键步骤: 1. **发送请求**:使用Java的网络库向目标网页发送HTTP请求。 2. **解析网页**:获取响应的HTML内容,并使用解析库(如Jsoup)提取所需的数据。 3. **提取数据**:编写...

    webrtcchatde

    个demo是国内牛人赵书剑开发的视频聊天室,基于webrtc.io实现。...4. 在同一局域网中的其他设备上打开Chrome浏览器,地址栏输入http://10.100.156.83:8000,输入相同的room名称(随便起)即可开始多方视频通信。

    read-engine.io:engine.io是socket.io的重叠引擎,实现“双向”通信。

    在nodejs中,实现步骤是:监听upgrade事件,收到一个协议升级的http报文时,nodejs会触发该事件,处理http头,然后回复一个同意升级的http报文,并保存tcp层的socket。通过socket实现推送功能。适合客户端支持...

    Windows应用程序捆绑核心编程光盘代码

    4.3.1 用邮槽进行进程间通信的步骤 85 4.3.2 邮槽服务器端与客户端之间通信的实例 86 4.4 如何用Windows套接字进行进程间通信 90 4.4.1 套接字分类 90 4.4.2 流式套接字编程流程 91 4.4.3 套接字调用基本函数 ...

Global site tag (gtag.js) - Google Analytics