`

一次完整的HTTP通信步骤(7步)

    博客分类:
  • 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连接在发送后将仍然保持打开状态,于是,浏览器可以继续通过相同的连接发送请求。保持连接节省了为每个请求建立新连接所需的时间,还节约了网络带宽。
2
0
分享到:
评论
4 楼 jyjava 2012-02-08  
DNS的两种解析方法,呵呵
3 楼 liupopo 2012-02-08  
不用补充,其实已经非常完整啦。
2 楼 wcily123 2012-02-08  
Java_Eye007 写道
DNS的解析过程都没有,怎么能称之为完整!



晚上回家补上~
1 楼 Java_Eye007 2012-02-08  
DNS的解析过程都没有,怎么能称之为完整!

相关推荐

    一次HTTP请求共经历7步

    7. **Web服务器关闭TCP连接**:默认情况下,一次HTTP请求完成后,服务器会关闭TCP连接,释放资源。但若请求头中的`Connection`字段设置为`keep-alive`,则表明浏览器希望保持连接,以便后续请求能复用此连接,减少...

    HTTP通信协议 工作原理详解

    HTTP(超文本传输协议)是互联网上...总结来说,HTTP通信协议的工作原理涉及域名解析、TCP连接建立、HTTP请求发送、服务器处理和响应、资源加载以及连接关闭。理解这一过程对于开发Web应用程序和优化网络性能至关重要。

    网络通信调试工具 用于一次性连续运行多个客户端

    本资源提供了一个特别的工具,它允许一次性连续运行多个客户端,从而简化了网络通信程序的测试流程,便于评估服务器性能。 标题中的“网络通信调试工具 用于一次性连续运行多个客户端”指的是一款专为开发人员设计...

    [c#源码]通过TCP http 通信发送大文件.rar

    TCP通信的基本步骤包括建立连接(三次握手)、数据传输和断开连接(四次挥手)。为了发送大文件,我们需要考虑如何将大文件拆分成小的数据块,逐个发送,并在接收端重新组合。 HTTP通信则更为简单,通常基于请求-...

    erlang与C#一次通信.rar

    标题“erlang与C#一次通信.rar”暗示了这是一个关于如何在Erlang和C#之间建立通信的示例项目。可能包含了一个或多个示例程序,演示了具体的通信过程。描述中的链接“http://www.cnblogs.com/hejava/”可能指向了一篇...

    基于SIMATIC IOT2040的Node-red S7通信 20190107.pdf

    Node-red 是一种基于浏览器的编程工具,提供了一个基于浏览器的编辑器,可以很容易地使用节点栏中的大量节点来组成流,这些节点可以通过一次点击完成部署。Node-red 可以用于连接硬件设备、API 和在线服务,实现数据...

    udp/tcp通信

    TCP提供的是面向连接、可靠的通信服务,确保数据包按顺序到达且无丢失,适合于对数据完整性要求较高的应用,如HTTP、FTP等。而UDP则是一种无连接、不可靠的协议,它的优点在于传输速度快,延迟低,适用于实时性要求...

    卫星系统操作步骤应急通信车卫星系统的硬件安装

    #### 一、硬件安装步骤 **1. 架设卫星接收盘** - 首先需要将卫星接收盘放置于合适的位置,并确保其稳定。 **2. 安装支撑脚** - 拧开四个垫板后,正确地安装四个支撑脚,以提供足够的稳定性。 **3. 调整水平** ...

    移动通信工程理论和应用

    随着技术的发展,移动通信已经经历了从1G(第一代)到5G(第五代)的迭代,每一次升级都带来了更高的数据传输速度、更低的延迟和更大的连接容量。 二、移动通信系统结构 一个完整的移动通信系统包括用户设备(UE)...

    利用wireshark分析tcp-smtp-ftp-http通信过程

    利用Wireshark分析TCP、SMTP、FTP、HTTP通信过程,首先需要了解这些协议的基本概念以及如何通过Wireshark这个网络协议分析工具来捕获和分析网络上的数据包。 首先,Wireshark是一个网络协议分析工具,它可以捕获...

    基于TCP、UDP和HTTP的网络通信

    它通过三次握手建立连接,并在数据传输过程中采用确认机制、序列号和重传策略来确保数据的正确性与完整性。TCP适合于对数据完整性要求较高的场景,如电子邮件、文件传输和数据库连接等。在Linux系统中,可以使用...

    PHP的Socket通信

    Socket并不是一个程序也不是一种协议,而是一组由操作系统提供的抽象API,用于简化网络通信的复杂性。 #### Socket的作用 Socket作为一种通信机制,它的作用主要体现在以下几个方面: 1. **抽象化**:Socket将...

    Android与服务器通信(TCP&UDP

    在Android中,还可以使用HTTP、HTTPS、WebSocket等更高级的通信协议,它们通常基于TCP,提供了更丰富的功能和更高的抽象层次,比如HTTP/2提供了多路复用,WebSocket实现了双向通信。 为了更好地理解和实践Android的...

    计算机网络课程设计 TCP通信程序设计

    1. 建立连接:TCP通信始于三次握手(SYN-SYN/ACK-ACK)过程,客户端发送一个SYN报文到服务器,服务器响应一个SYN/ACK报文,客户端再回应ACK报文,完成连接建立。 2. 数据传输:连接建立后,客户端和服务器可以双向...

    HTTP Debugger Pro 中文版安装包.rar

    2. **抓包与记录**:HTTP Debugger Pro可以实时捕获系统上的所有HTTP和HTTPS流量,记录下每一次请求和响应的详细信息,包括方法(GET, POST等)、URL、状态码、头部信息和数据体等。 3. **会话管理**:软件提供会话...

    httpdebug HTTP协议调试器

    1. **抓包与记录**:httpdebug能够捕获网络中的HTTP通信,记录每一次请求和响应的详细信息,包括请求头、响应头、请求体和响应体,这对于分析网络问题非常有用。 2. **请求分析**:通过httpdebug,可以查看请求的...

    http.rar_DEMO_HTTP_vc6 http

    7. **接收响应**:调用`recv`函数接收服务器返回的HTTP响应,可能需要多次调用来接收完整响应。 8. **处理响应**:解析HTTP响应头部,提取状态码、头部信息和内容长度等。 9. **关闭连接**:完成通信后,使用`...

    socket通信 文件传输等的功能

    Socket通信是计算机网络编程中的重要组成部分,主要用于实现进程间的网络通信。它提供了低级别的、面向连接的、双向的数据通信接口,让两个运行在网络上的程序能够相互通信。在这个主题下,我们将深入探讨Socket通信...

Global site tag (gtag.js) - Google Analytics