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/

  

HTTP请求与服务器响应流程的更多相关文章

  1. 客户端请求、服务器响应及其HTTP状态码

    一JSP客户端请求 当浏览器请求一个网页时,它会向网络服务器发送一系列不能被直接读取的信息,因为这些信息是作为HTTP信 息头的一部分来传送的.我们可以查阅HTTP协议来获得更多的信息. 下表列出了浏 ...

  2. Java Web学习(1): 客户端请求、服务器响应及其HTTP状态码

    一JSP客户端请求 当浏览器请求一个网页时,它会向网络服务器发送一系列不能被直接读取的信息,因为这些信息是作为HTTP信 息头的一部分来传送的.我们可以查阅HTTP协议来获得更多的信息. 下表列出了浏 ...

  3. 关于服务器响应,浏览器请求的理解以及javaWeb项目的编码问题

    1.服务器(Server)响应,浏览器(Brower)请求: 对于B/S的软件,数据的传递体现在,用户利用浏览器请求,以获得服务器响应.在JavaWeb项目中,大致包含.java文件的数据处理模块,和 ...

  4. JSP请求响应流程入门介绍

    一个完整的jsp请求响应流程可以简单的使用下图表示: 过滤器:直观的了解,就是对请求做一个过滤作用,比如身份验证,验证不通过的不让他继续往下走 Servlet:请求处理中心,这个也是我们写业务逻辑的地 ...

  5. Ajax中与服务器的通信【发送请求与处理响应】

    一.发送请求 Ajax中通过XMLHttpRequest对象发送异步方式的后台请求时.通常有两种方式的请求,一种是GET请求,另一种是POST请求.发送请求一般要经过4个步骤分别是: (1)初始化XM ...

  6. 001-http协议-请求报文以及服务器响应状态

    Http协议的几个概念: 1.连接(Connection):浏览器和服务器之间传输数据的通道. 一般请求完毕就关闭,http不保持连接.不保持连接会降低处理速度(因为建立连接速度很慢),保持连接的话就 ...

  7. 一次http请求响应流程

    前端客户端 发起http请求 web服务器接收并解析http报文 通过WSGI协议发送给web框架 web框架创建请求对象 中间层处理 具体的视图处理-业务处理 中间层处理 创建http响应对象 返回 ...

  8. Java开发微信公众号(三)---微信服务器请求消息,响应消息,事件消息以及工具处理类的封装

    在前面几篇文章我们讲了微信公众号环境的配置 和微信公众号服务的接入,接下来我们来说一下微信服务器请求消息,响应消息以及事件消息的相关内容,首先我们来分析一下消息类型和返回xml格式及实体类的封装. ( ...

  9. node——服务器根据不同请求作出不同响应+响应html文件等文件

    在浏览器中,不同的请求应该作出不同的响应 我们可以从请求req中的url获得请求的内容 然后我们就可以通过判断请求的url来做响应 代码如下: //根据用户的不同请求,服务器做出不同的响应 // // ...

随机推荐

  1. hadoop 常用hdfs命令

  2. 使用Faster R-CNN做目标检测 - 学习luminoth代码

    像玩乐高一样拆解Faster R-CNN:详解目标检测的实现过程 https://mp.weixin.qq.com/s/M_i38L2brq69BYzmaPeJ9w 直接参考开源目标检测代码lumin ...

  3. JavaScript高级程序设计--对象创建的三种方法

    创建对象的三种方法: 1.工厂模式 工厂模式是软件工程领域广为人知的设计模式,这种模式抽象了创建具体对象的过程.下面是使用工厂函数创建对象的的一个例子. 2.构造函数: 从上面的例子中,我们看到构造函 ...

  4. FZU 2202——犯罪嫌疑人——————【思维题】

    犯罪嫌疑人 Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Submit Status ...

  5. 如何绘制ER图

    先画出多个实体(用长方形表示),然后是联系类型(菱形),和属性(椭圆).

  6. MySQL(四)

    一.使用正则表达式查询 SELECT * FROM employee WHERE name REGEXP '^ale'; SELECT * FROM employee WHERE name REGEX ...

  7. Spring aop读写分离

    一.采用读写分离技术的目标 随着网站的业务不断扩展,数据不断增加,用户越来越多,数据库的压力也就越来越大,采用传统的方式,比如:数据库或者SQL的优化基本已达不到要求,这个时候可以采用读写分离的策略来 ...

  8. AngularJS 指令解析(一)

    AngularJS 指令解析(一) 前言 笔者AngularJS接触时间差不多是两年多,虽然这两年多AngularJS版本日新月异,但是笔者的版本是比较老的1.4.3,一方面是自己对这个版本比较熟悉, ...

  9. Struts2_模块包含

    <include file="login.xml"/> 包含其他的模块. 项目开发中,分模块协调开发有用. 链接: http://pan.baidu.com/s/1bo ...

  10. centos7 gearmand-1.1.15打包rpm

    wget https://github.com/gearman/gearmand/releases/download/1.1.15/gearmand-1.1.15.tar.gz -O /root/rp ...