/*
             HTTP是客户端与服务器端请求和响应的标准,当客户端与服务器端建立连接后,客户端会向服务器端发送一个请求,服务器接收到请求后做出响应
             在请求和响应过程中会传递一些数据,这些数据统称为消息
             
             
             HTTP消息分为:请求消息,响应消息
             
             */            /*
             1.请求消息:请求消息是指客户端向服务器端发送请求时所携带的数据,由四部分组成:1.请求行 2.请求头 3.空行 4.请求体
             
             (1)请求行
             请求行分为三部分:请求方式,请求资源路径,HTTP版本,中间用空格隔开 
             两种常用方式:GET(默认),POST
             (2)请求头
             请求头位于请求行之后,主要用于向服务器传递附加消息
             请求头一般有多个,每行一个
             每个请求头都由字段名和对应的值构成,中间用冒号":"和空格分隔
             (3)空行
             空行位于请求头后面,表示请求头结束。
             即使请求体为空,也必须要有空行
             (4)请求体
             当使用POST方式提交表单时,将用户填写的表单数据编码后放在请求体中,并通过请求头中的Content-Type和Content-Length字段来描述试题内容的编码格式和长度
             当在网页中使用表单发送POST方式请求时,表单的编码格式按照<form>标签的enctype属性来设定,默认值(application/x-www-form-urlencoded)表示URL编码格式
             当进行文件上传时,需要将其改为multipart/form-data
             */
            
            
            /*
            2.响应消息
            响应消息是指服务器向客户端进行响应时所携带的数据,由四部分组成:(1)状态行(2)响应头(3)空行和响应体
            (1)状态行
            状态行用于告知客户端本次响应的状态,由HTTP版本,状态码和描述信息组成
            其中状态码由三位数组成,表示请求是否被接收或处理,状态码第一位数字定义了响应的类别
            1**:请求已接收,需要继续处理
            2**:请求已成功被服务器接收或处理
            3**:重定向,需要进一步的操作以完成请求
            4**:客户端请求有错误
            5**:服务器端错误
            
            (2)响应头
            响应头用于告知客户端本次响应的基本信息,包括服务器程序名,内容的编码格式,缓存控制等。
            请求头和响应头是客户端和服务器之间交互的重要信息,由程序自动处理,通常不需要人为干预
            
            (3)空行
            空行位于响应头后,用于表示响应头结束,即使没有响应消息,空行也必须存在
            
            (4)响应体
            响应体也可以称为响应内容,有多种编码格式。
            服务器为了告知客户端响应内容的类型,会通过响应头中的Context-type字段来描述响应内容类型
            */