HTTP请求与服务器响应流程

  1. HTTP 简介

    1.1定义

    1.2 请求/响应报文格式

    1.3请求方式--GET/POST     状态码

    1.4 响应状态

  2. HTTP请求,浏览器做了什么, 服务端处理解析过程

1:HTTP简介

  1.1

  HTTP(HyperText Transfer Protocol,超文本传输协议)最早就是计算机与计算机之间沟通的一种标准协议,这 种协议限制了通讯内容的格式以及各项内容的含义。

  随着时代的发展,技术的变迁,这种协议现在广泛的应用在各种领域,也不仅仅局限于计算机与计算机之间,手 机、电视等各种智能设备很多时候都在使用这种协议通讯,所以一般现在称 HTTP 为端与端之间的通讯协议。

  Web 属于 B/S 架构的应用软件,在 B/S 架构中,浏览器与服务器沟通的协议就是 HTTP 协议,作为一个合格的 Web 开发者,了解 HTTP 协议中约定的内容是一门必修课。

  应用软件架构一般分为两类: B/S 架构:Browser(浏览器) ←→ Server(服务器),这种软件都是通过浏览器访问一个网站使用, 服务器提供数据存储等服务。 C/S 架构:Client(客户端) ←→ Server(服务器),这种软件通过安装一个软件到电脑,然后使用, 服务器提供数据存储等服务。

  1.2请求报文的格式

  请求行    ---》请求方式 请求路径 HTTP协议版本  (一般GET请求主观上都是去‘拿东西’,所以使用需要看情况)

  请求头    ---》客户端想要告诉服务端的一些额外信息

  空行

  请求体   ---》客户端想要发送给服务端的数据正文

    

  

   1.3请求的方式GET/POST    状态码

  根据HTTP标准,HTTP请求可以使用多种请求方法。

  HTTP1.0定义了三种请求方法: GET, POST 和 HEAD方法。

  HTTP1.1新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。

具体的请查看官方文档:

  http://www.runoob.com/http/http-methods.html

  http://www.w3school.com.cn/tags/html_ref_httpmethods.asp

 

   状态码:了解即可

  状态代码由三位数字组成,第一个数字定义了响应的类别,且有五种可能取值。

  1xx:指示信息 —— 表示请求已接收,继续处理。

  2xx:成功 —— 表示请求已被成功接收、理解、接受。

  3xx:重定向 —— 要完成请求必须进行更进一步的操作。

  4xx:客户端错误 —— 请求有语法错误或请求无法实现。

  5xx:服务器端错误 —— 服务器未能实现合法的请求。

  常见状态代码、状态描述的说明如下。

  200 OK:客户端请求成功。

  400 Bad Request:客户端请求有语法错误,不能被服务器所理解。

  401 Unauthorized:请求未经授权,这个状态代码必须和 WWW-Authenticate 报头域一起使用。

  403 Forbidden:服务器收到请求,但是拒绝提供服务。

  404 Not Found:请求资源不存在,举个例子:输入了错误的URL。

   500 Internal Server Error:服务器发生不可预期的错误。 503 Server Unavailable:服务器当前不能处理客户端的请求,一段时间后可能恢复正常。

2. HTTP请求,浏览器做了什么, 服务端处理解析过程

  下面这张图我觉得比任何文字描述都清晰了,我这里就不再做详细介绍了,此图根据不同的操作系统,会有不同的概念,此为:Windows下的Apache+PHP环境。

     结语:以上过程仅是个人理解,或许有错误的地方,也或者有还未理解到的层面,如果看到有错误或者有所指点的还希望不吝赐教指正!抱拳,感谢!O(∩_∩)O哈哈~附上个人博客:https://dobinspark.com.cn/

  

原文地址:https://www.cnblogs.com/Dobin/p/9227955.html