一、一个完整的HTTP请求,通常有7个步骤:

1、建立TCP连接;

2、web浏览器向web服务器发送请求命令;

3、浏览器发送请求头信息;

4、服务器应答;

5、服务器发送应答头信息;

6、服务器向浏览器发送数据;

7、服务器关闭TCP连接。

二、一个HTTP请求由四部分组成:

1、HTTP请求方法或动作,如:GET或POST;

2、正在请求的URL;

3、请求头,包含一些客户端环境信息、身份验证信息;

4、请求体,即请求正文,可包含提交的查询字符串信息、表单信息等。

三、一个HTTP响应一般由三个部分组成:

1、一个数字和文字组成的状态码,用来显示请求成功还是失败;

2、响应头,包含许多有用的信息,如:服务器类型、日期时间、内容类型和长度;

3、响应体,即响应正文。

四、readyState属性(返回请求的当前状态):

0:请求未初始化,open还没有调用;

1:服务器连接已建立,open已经调用;

2:请求已接收,即,接收到头部信息了;

3:请求处理中,即,接收到响应体了;

4:请求已完成,且响应已就绪,即,响应完成了。

五、HTTP状态码(返回请求结果)由3位数字构成:

1XX:信息性状态码,接收的请求正在处理;

2XX:成功状态码,请求正常处理完毕;

3XX:重定向状态码,需要进行附加操作已完成请求;

4XX:客户端错误状态码,服务器无法处理请求;

5XX:服务器错误状态码,服务器处理请求出错。

六、TCP三次握手、四次回收策略(TCP的标志为:SYN/ACK)

1、三次握手

(1)发送端-------数据包(SYN)------------->接收端

(2)接收端--------------数据包(SYN/ACK)------>发送端

(3)发送端-------数据包(ACK)------------->接收端

2、四次挥手

(1)主动关闭方------TIN(关闭数据传送)----------------->被动关闭方;

(2)被动关闭方------------ACK(确认序号为收到序号+1)-------------->主动关闭方;

(3)被动关闭方------------FIN(关闭数据传送)---------------------->主动关闭方;

(4)主动关闭方------ACK(确认序号为收到序号+1)---------->被动关闭方。

HTTP请求过程(http是一种无状态协议,即不建立持久的连接)的更多相关文章

  1. Flask基础(10)-->http的无状态协议解决办法一(客户端cookie)

    http的无状态协议 http是一种无状态协议,浏览器请求服务器时无状态的 什么是无状态? 无状态:指的是一次用户请求时,浏览器.服务器无法知道之前这个用户做过什么,每次请求都是一次新的请求. 无状态 ...

  2. HTTP协议是无状态协议,怎么理解?

     Http是一个无状态协议,同一个会话的连续两个请求互相不了解,他们由最新实例化的环境进行解析,除了应用本身可能已经存储在全局对象中的全部信息外,该环境不保存与会话有关的不论什么信息. 自己的理解,在 ...

  3. HTTP协议是无状态协议,怎么理解

    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp24 HTTP协议是无状态协议,怎么理解?  2010-02-23 09:4 ...

  4. HTTP无状态协议

    http://baike.baidu.com/view/4551466.htm HTTP协议是无状态协议. 无状态是指协议对于事务处理没有记忆能力.缺少状态意味着如果后续处理需要前面的信息,则它必须重 ...

  5. HTTP无状态协议理解

    TTP协议是无状态协议. 无状态是指协议对于事务处理没有记忆能力.缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大.另一方面,在服务器不需要先前信息时它的应 ...

  6. 《图解HTTP》读书笔记(三:无状态协议/cookie管理状态)

    HTTP是一种不保存状态,即无状态(stateless)协议.HTTP协议自身不对请求和响应之间的通信状态进行保存. ——HTTP/1.1虽然是无状态协议,但为了实现期望的保持状态功能,于是引入了Co ...

  7. http无状态协议,cookie和session详解(一)

    1.HTTP无状态协议 首先看百度百科给出的定义: HTTP无状态协议,是指协议对于事务处理没有记忆能力.缺少状态意味着如果后续处理需要前面的信息,则它必须重传, 这样导致可能每次连接传送的数据量增大 ...

  8. HTTP——无状态协议理解

    无状态服务器是指一种把每个请求作为与之前任何请求都无关的独立的事务的服务器. HTTP是一个属于应用层的面向对象的协议 ------未完待续

  9. 2019.3.26 为什么说HTTP是无状态协议/无连接

    无状态 1.协议对于事务处理没有记忆能力 2.对同一个url请求没有上下文关系 3.每次的请求都是独立的,它的执行情况和结果与前面的请求和之后的请求时无直接关系的,它不会受前面的请求应答情况直接影响, ...

随机推荐

  1. windows下利用nginx 做IIS负载均衡

    如果网站流量变大,就想加服务器分担压力,当然就要用到负载均衡,在windows 2003有自带的网络负载均衡,但配置还是挺麻烦的虽然有轮训和iphash的效果,但效果不算好. nginx小巧,下载不到 ...

  2. (转载)RESTful架构风格下的4大常见安全问题

    转载自<RESTful架构风格下的4大常见安全问题>,作者:马伟 伴随着RESTful架构风格的大量应用微服务架构的流行,一些本来难以察觉到的安全问题也逐渐开始显现出来.在我经历过的各种采 ...

  3. 我的three.js学习记录(二)

    通过上一篇文章我的three.js学习记录(一)基本上是入门了three.js,但是这不够3D,这次我希望能把之前做的demo弄出来,然后通过例子来分析操作步骤. 1. 示例 上图是之前做的一个dem ...

  4. windows server 2003安装 SQL server 2008r2 版本的步骤

    大家好,这里介绍的是在系统 windows server 2003安装 SQL server 20008r2版本,如有雷同,敬请谅解,如果错误,欢迎大家多提意见 1.下载好安装包解压以后,就会出现如下 ...

  5. linux组网笔记

    一直以为自己linux还说的过去,事实上已经跟不上日新月异的应用需要了. 现成文档都没法看,错太多.然而毕竟是多年积累,整理一个准确的文档还是能做到的. 本机ip设置: # static interf ...

  6. C++基础知识1

    1 初始C++ 1.1 编写一个简单的C++程序 1.1.1 程序结构 每个C++程序都包括一个或多个函数(function),但只有一个主函数main.操作系统通过调用 main来运行C++程序. ...

  7. 461. Hamming Distance(leetcode)

    The Hamming distance between two integers is the number of positions at which the corresponding bits ...

  8. LeetCode 628. Maximum Product of Three Numbers (最大三数乘积)

    Given an integer array, find three numbers whose product is maximum and output the maximum product. ...

  9. LeetCode 235. Lowest Common Ancestor of a Binary Search Tree (二叉搜索树最近的共同祖先)

    Given a binary search tree (BST), find the lowest common ancestor (LCA) of two given nodes in the BS ...

  10. LeetCode 64. Minimum Path Sum(最小和的路径)

    Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right which ...