一次完整请求的过程

原创 2018年04月17日 20:57:13

一次较为完整的请求过程:输入url,回车,到可以看到页面,这期间发生了什么。


1:域名解析:dns服务,将输入的域名和主机ip进行对应

2:浏览器请求基于http请求或者https请求(https就是在http的基础上在会话层加了TSL,SSL等协议),http是应用层协议,它基于传输层的tcp协议。这里就要说到通信系统的互联模型,如tcp/ip五层模型

3tcp/ip五层模型的协议:应用层(这里是http协议),传输层(这里是tcp协议),网络层(ip协议),数据链路层,物理层,数据链路层和物理层完成比特流转高低电平的协议等。

4:发送方发送一个请求发出后,这个请求的数据经过每一层都会被package一次,最终转换成高低电平,在接收方,由下(物理层)到应用层,一层解开一个package,最后得到请求参数。再根据url和参数返回资源。在这个过程中涉及到tcp的三次握手和四次挥手。http协议是无状态的协议,不会记录你的访问history

5:在ip层,数据包根据通过路由算法,在路由器之间找寻较为合适的路径来传递数据包。

6http 协议是无状态协议,这里可以谈一谈postget的区别以及 RESTFul接口设计,然后可以讲服务器 server模型 epollselect等。

然后现在流行的nginx的请求分发和过滤(比如ip黑名单)

7:浏览器对.html(使用超文本协议)的渲染,如果是请求一个页面,那么这个请求的页面会带有很多静态的.js.css资源,浏览器负责利用这些资源和返回的数据渲染页面。有些页面带有ajax类型请求,所以一次访问实际会请求多次服务器。


PS:后台程序的运行是先将程序转换成二进制文件,CC++会被在运行前被编译成和平台相关的二进制代码(不能跨平台运行),.java文件会被编译成.class的二进制文件,java二进制文件运行在jvm中,jvm屏蔽各平台的差异,实现java语言的跨平台。后台程序运行时从io中获取到输入流,处理后,返回输出流。



一次完整的http请求过程

HTTP协议是无状态协议,依赖瞬间或者近乎瞬间的请求处理。请求信息被立即发送,理想的情况是没有延迟地进行处理;不过,延迟还是客观存在的。HTTP 协议有一种内置机制,在消息的传递时间上有一定的灵活性:...
  • hfhwfw
  • hfhwfw
  • 2014-07-23 09:32:00
  • 5018

一次完整的HTTP事务全过程详解

当我们在浏览器的地址栏输入 www.linux178.com ,然后回车,回车这一瞬间到看到页面到底发生了什么呢? 以下过程仅是个人理解: 域名解析 --> 发起TCP的3次握...
  • STFPHP
  • STFPHP
  • 2016-11-15 23:17:32
  • 1167

SpringMVC一次请求过程源码分析

今天来探索SpringMVC一次请求过程的源码,首先需要找到程序运行的类及主要方法: 我们使用StringMVC首先需要在web.xml中设置一个前端控制器来处理请求,这个前端控制器是:org....
  • OnlyLove_longshao
  • OnlyLove_longshao
  • 2016-12-15 22:21:51
  • 1546

一次完整的HTTP事务是怎样一个过程

转载至:http://www.linux178.com/web/httprequest.html 声明:本文章中的说法仅是个人理解总结,不一定完全正确,但是可以有助于理解。 ...
  • laven90
  • laven90
  • 2015-02-11 10:36:50
  • 2138

NetWork——描述一次完整的网络请求过程

0.  前言从我们在浏览器的地址栏输入http://blog.csdn.net/seu_calvin后回车,到我们看到该博客的主页,这中间经历了什么呢?简单地回答这个问题,大概是经历了域名解析、TCP...
  • SEU_Calvin
  • SEU_Calvin
  • 2017-01-10 18:53:05
  • 4103

一次完整http请求的7个过程

http请求一共有7个步骤 1、建立tcp数据连接      在HTTP工作开始前,web浏览器向服务器发起连接请求,并建立建立。http协议是比tcp协议更高层次的应用层协议,根据规则,...
  • poison_biti
  • poison_biti
  • 2017-06-22 10:25:13
  • 305

一次完整的网络请求过程

从地址栏输入http://www.gaxis.cn这个URL之后,直到我的个人主页加载完成,中间到底发生了什么呢? 大概经历了以下过程: 1. 分析域名(gaxis) 2. TCP三次握手(...
  • V_Axis
  • V_Axis
  • 2018-01-05 16:44:52
  • 325

一次完整的http请求处理过程

Web服务请求处理步骤 一次完整的http请求处理过程 1、建立连接:接收或拒绝连接请求 2、接收请求:接收客户端请求报文中对某资源的一次请求的过程 3、处理请求:服务器对请求报文进行...
  • qq_37187976
  • qq_37187976
  • 2018-01-25 21:57:28
  • 281

一个完整的请求与响应过程

实现一个完整的请求和响应需要: 请求(给请求起一个名字,比如register,login,每个请求对应一个处理方法)----> 1.请求url通过web.xml配置文件来匹配相应Servlet...
  • krystal_sl
  • krystal_sl
  • 2016-10-19 12:07:31
  • 779

一次完整的HTTP请求与响应

作者:Ruheng 地址:http://www.jianshu.com/p/c1d6a294d3c0 本文以HTTP请求和响应的过程来讲解涉及到的相关知识点。 第一 HTTP请求和相应...
  • u010538015
  • u010538015
  • 2017-03-24 15:45:47
  • 1111
收藏助手
不良信息举报
您举报文章:一次完整请求的过程
举报原因:
原因补充:

(最多只允许输入30个字)