http请求的详细过程.pdf

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
http请求的详细过程

  http 请求的详细过程      一个 http 请求的详细过程    我们来看当我们在浏览器输入 :8080/mydir/index.html,幕后所发 生的一切。    首先 http 是一个应用层的协议,在这个层的协议,只是一种通讯规范,也就是因为双方要 进行通讯,大家要事先约定一个规范。    1.连接  当我们输入这样一个请求时,首先要建立一个 socket 连接,因为 socket 是通过 ip 和 端口建立的,所以之前还有一个 DNS 解析过程,把 变成 ip,如果 url 里不包含端口号,则会使用该协议的默认端口号。    DNS 的过程是这样的:首先我们知道我们本地的机器上在配置网络时都会填写 DNS,这样本 机就会把这个 url 发给这个配置的 DNS 服务器,如果能够找到相应的 url 则返回其 ip,否则 该 DNS 将继续将该解析请求发送给上级 DNS,整个 DNS 可以看做是一个树状结构,该请求 将一直发送到根直到得到结果。现在已经拥有了目标 ip 和端口号,这样我们就可以打开 socket 连接了。    2.请求 连接成功建立后,开始向 web 服务器发送请求,这个请求一般是 GET 或 POST 命令 (POST 用于 FORM 参数的传递)。GET 命令的格式为: GET 路径/文件名  HTTP/1.0  文件名指出所访问的文件,HTTP/1.0 指出 Web 浏览器使用的 HTTP 版本。现在可以发送 GET 命令:    GET /mydir/index.html HTTP/1.0,    3.应答 web 服务器收到这个请求,进行处理。从它的文档空间中搜索子目录 mydir 的文件 index.html。如果找到该文件,Web 服务器把该文件内容传送给相应的 Web 浏览器。    为了告知浏览器,,Web 服务器首先传送一些 HTTP 头信息,然后传送具体内容(即 HTTP 体 信息),HTTP 头信息和 HTTP 体信息之间用一个空行分开。  常用的 HTTP 头信息有:  ①  HTTP 1.0 200 OK  这是 Web 服务器应答的第一行,列出服务器正在运行的 HTTP 版 本号和应答代码。代码200 OK表示请求完成。  ②  MIME_Version:1.0 它指示 MIME 类型的版本。  ③ content_type:类型 这个头信息非常重要,它指示 HTTP 体信息的 MIME 类型。如: content_type:text/html 指示传送的数据是 HTML 文档。  ④ content_length:长度值 它指示 HTTP 体信息的长度(字节)。      4.关闭连接:当应答结束后,Web 浏览器与 Web 服务器必须断开,以保证其它 Web 浏览器 能够与 Web 服务器建立连接。      下面我们具体分析其中的数据包在网络中漫游的经历    在网络分层结构中,各层之间是严格单向依赖的。“服务”是描述各层之间关系的抽象概念, 即网络中各层向紧邻上层提供的一组操作。下层是服务提供者,上层是请求服务的用户。服 务的表现形式是原语(primitive),如系统调用或库函数。系统调用是操作系统内核向网络 应用程序或高层协议提供的服务原语。网络中的 n 层总要向 n+1 层提供比 n‐1 层更完备的服 务,否则 n 层就没有存在的价值。    传输层实现的是“端到端”通信,引进网间进程通信概念,同时也要解决差错控制,流量控 制,数据排序(报文排序),连接管理等问题,为此提供不同的服务方式。通常传输层的服 务通过系统调用的方式提供,以 socket 的方式。对于客户端,要想建立一个 socket 连接, 需要调用这样一些函数 socket() bind() connect(),然后就可以通过 send()进行数据发送。    现在看数据包在网络中的穿行过程:    应用层    首先我们可以看到在应用层,根据当前的需求和动作,结合应用层的协议,有我们确定发送 的数据内容,我们把这些数据放到一个缓冲区内,然后形成了应用层的报文 data 。    传输层    这些数据通过传输层发送,比如 tcp 协议。所以它们会被送到传输层处理,在这里报文打上 了传输头的包头,主要包含端口号,以及tcp 的各种制信息,这些信息是直接得到的,因为 接口中需要指定端口。这样就组成了 tcp 的数据传送单位 segment 。 tcp 是一种端到端的协 议,利用这些信息,

文档评论(0)

jgx3536 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档