Http工作过程

一次HTTP操作称为一个事务,其工作整个过程如下:

1 ) 、地址解析,

如用客户端浏览器请求这个页面:http://localhost.com:8080/index.htm

从中分解出协议名、主机名、端口、对象路径等部分,对于我们的这个地址,解析得到的结果如下:
     协议名:http
     主机名:localhost.com
     端口:8080
     对象路径:/index.htm

在这一步,需要域名系统DNS解析域名localhost.com,得主机的IP地址。

2)、封装HTTP请求数据包

把以上部分结合本机自己的信息,封装成一个HTTP请求数据包

3)封装成TCP包,建立TCP连接(TCP的三次握手)

在HTTP工作开始之前,客户机(Web浏览器)首先要通过网络与服务器建立连接,该连接是通过TCP来完成的,该协议与IP协议共同构建Internet,即著名的TCP/IP协议族,因此Internet又被称作是TCP/IP网络。HTTP是比TCP更高层次的应用层协议,根据规则,只有低层协议建立之后才能,才能进行更层协议的连接,因此,首先要建立TCP连接,一般TCP连接的端口号是80。这里是8080端口

4)客户机发送请求命令

建立连接后,客户机发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可内容。

5)服务器响应

服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。

实体消息是服务器向浏览器发送头信息后,它会发送一个空白行来表示头信息的发送到此为结束,接着,它就以Content-Type应答头信息所描述的格式发送用户所请求的实际数据

6)服务器关闭TCP连接

一般情况下,一旦Web服务器向浏览器发送了请求数据,它就要关闭TCP连接,然后如果浏览器或者服务器在其头信息加入了这行代码

Connection:keep-alive

TCP连接在发送后将仍然保持打开状态,于是,浏览器可以继续通过相同的连接发送请求。保持连接节省了为每个请求建立新连接所需的时间,还节约了网络带宽。

时间: 2024-08-24 18:06:25

Http工作过程的相关文章

MapReduce程序的工作过程

还记得2.5年前就搭建好了Hadoop伪分布式集群,安装好Eclipse后运行成功了WordCount.java,然后学习Hadoop的步伐就变得很慢了,相信有很多小伙伴和我一样.自己对MR程序(特指Hadoop 1.x版本)的工作过程一直都不是很清楚,现在重点总结一下,为MR编程打好基础.由于MapReduce是基于HDFS的操作,因此要想深入理解MapReduce(解决的是分布式计算问题),首先得深入理解HDFS(解决的是分布式存储问题). 一. HDFS框架组成 HDFS采用master/

交换机的功能及工作过程

一.交换机概述: 交换机是一种工作在二层的设备,但是随着技术的不断进步,现在已经出现了诸如三层交换机,多层交换机产品.在本篇中讨论的是二层交换机的一些特性. 二.交换机的功能: 1.    地址学习 有些地方也叫做基于源MAC地址学习,这个功能主要就是学习和存储MAC地址. 2.    帧的转发/过滤 数据帧的转发主要是交换机能够根据MAC地址表来转发数据,过滤则是对一些受限制的数据进行阻止或丢弃. 3.    环路避免 由于交换机的某些特性会带来一些问题,比如形成环路,因此为了保证网络上数据的

测试或运维工作过程中最常用的几个linux命令?

大家在测试工作过程中,可能会遇到需要你去服务器修改一些配置文件,譬如说某个字段的值是1 则关联老版本,是0则关联新版本,这时候你可能就需要会下vi的命令操作:或者查看session设置的时长,可能需要cd到某个目录cat下某个文件.可能我们不需要精通linux,但是基础操作了解对大家的工作还是蛮有帮助的.今天TestYao就介绍几个常用的linux命令给大家认识: 1.ls命令 ls命令是列出目录内容(List Directory Contents)的意思,运行它就是列出文件夹里的内容,可能是文

servlet的作用和工作过程

servlet的作用: servlet能够使服务器根据运行时的情况动态生成web页面. 工作过程: 1 客户端向服务器端发送请求 2 服务器端将请求信息发送给Servlet 3 Servlet根据请求进行响应,产生响应的HTML语句,并将这些语句传回服务器 4 服务器将响应内容返回给客户端 Servlet内部采用线程的方式可以同时为多个请求服务,这是比CGI工作效率高的因素 Servlet完全运行在Java虚拟机上,所以同样具有平台无关性 Servlet是web容器的组件,所以要在web.xml

DHCP工作过程的六个主要步骤

对于学习DHCP来说,很重要的一部分就是对于DHCP工作过程的理解. DHCP分为两个部分:一个是服务器端,另一个是客户端. 所有客户机的IP地址设定资料都由DHCP服务器集中管理,并负责处理客户端的DHCP请求:而客户端则会使用从服务器分配下来的IP地址. 1. DHCP服务器IP分配方式 DHCP服务器提供三种IP分配方式: 自动分配(Automatic Allocation)自动分配是当DHCP客户端第一次成功地从DHCP服务器端分配到一个IP地址之后,就永远使用这个地址. 动态分配(Dy

Nginx reopen reload作用及工作过程

http://www.iigrowing.cn/nginx-reopen-reload-zuo-yong-ji-gong-zuo-guo-cheng.html Nginx reopen reload作用及工作过程 2012-12-05  categories:nginx  author:sch 原创文章,转载请指明出处并保留原文url地址 一.Nginx简介 Nginx (“engine x”) 是俄罗斯人Igor Sysoev(塞索耶夫)编写的一款高性能的 HTTP 和反向代理服务器.Ngin

煤泥烘干机工作过程中一些不足的问题

如今商场上的煤泥烘干机可以说现已达到了一个很高端的水平,可是经过查询发现仍旧有不少的疑问存在.商场上等待着各大机械设置配备铺排厂家研讨新的计划,来处理当时煤泥烘干机作业进程中一些缺少的疑问. 1.煤泥单调处置赏罚进程也存在疑问,易发作臭气,需求除尘脱臭处置赏罚,能耗或处置赏罚费用大,单调污泥的商场需求量动摇大,缺少销路,存在可燃性粉尘爆破的安全危险和设备严重磨损等技术疑问,煤泥单调处置赏罚本钱高; 2.热源地腐蚀性:有些技术直接将燃煤焚烧的烟气引进煤泥烘干机设置配备铺排,由于国内燃煤中普遍富含少

开发人员怎样减轻工作过程中遇到的压力

1.经常锻炼身体 身体是革命的本钱,如果身体不好,会影响工作的效率,即使你能力再强,如果身体不好,时不时的出现身体不舒服的问题,对工作效率也是会有影响的,所以经常锻炼身体显得特别重要. 运动时,不仅能分散注意力.忘掉不快,还能促进大脑分泌多巴胺.内腓肽等物质,它们是人体的“快乐因子”,有助于缓解不适.产生愉悦的情绪反应. 心情烦闷时,无论跑步或快步行走,只要出出汗,压力也会随着汗水,“溜”出你的身体. 另外要养成早睡早起的习惯,晚上11点以前睡觉比较好,再晚也尽量不要晚于12点,睡觉越晚,会越影

基于YARN的Spark程序工作过程

一. YARN的理解 YARN是Hadoop 2.x版本的产物,它最基本的设计思想是将JobTracker的两个主要功能,即资源管理,作业调度和监控分解成为两个独立的进程.再详细介绍Spark程序工作过程前,先简单的介绍一下YARN,即Hadoop的操作系统,不仅支持MapReduce计算框架,而且还支持流式计算框架,迭代计算框架,MPI并行计算框架等,实现时采用了基于事件的驱动机制. YARN的架构图,如下所示: 1. ResourceManager ResourceManager类似JobT

【转】MapReduce程序的工作过程

原文链接 http://www.cnblogs.com/shengshengwang/p/4852927.html 还记得2.5年前就搭建好了Hadoop伪分布式集群,安装好Eclipse后运行成功了WordCount.java,然后学习Hadoop的步伐就变得很慢了,相信有很多小伙伴和我一样.自己对MR程序(特指Hadoop 1.x版本)的工作过程一直都不是很清楚,现在重点总结一下,为MR编程打好基础.由于MapReduce是基于HDFS的操作,因此要想深入理解MapReduce(解决的是分布