HTTP 简介
- 用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。
- 基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)
//TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)是指能够在多个不同网络间实现信息传输的协议簇。TCP/IP协议不仅仅指的是TCP 和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP等协议构成的协议簇, 只是因为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/IP协议 - 基于客户端/服务端(C/S)的架构模型
HTTP 工作原理
1.请求
浏览器作为–HTTP客户端–通过URL向–HTTP服务端–即WEB服务器发送所有请求
2.响应
Web服务器根据接收到的请求后,向客户端发送响应信息。
//HTTP默认端口号为80
3.http是无连接的(每次连接只能处理一个请求):服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间;
4.http是媒体独立的:只要客户端和服务器知道如何处理的数据内容,任何类型的数据都可以通过HTTP发送;
5.http是无状态的:对于事务处理没有记忆能力,缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大;
HTTP 消息结构
1.客户端请求消息
请求行(request line)、请求头部(header)、空行和请求数据四个部分组成
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200821173440865.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1ZhZWxpbmcwODE4,size_16,color_FFFFFF,t_70#pic_center
GET:向特定的资源发出请求。
POST:向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的创建和/或已有资源的修改。
2.服务器响应消息
HTTP响应也由四个部分组成,分别是:状态行、消息报头、空行和响应正文。
HTTP/1.1 200 OK
Date: Mon ,20 Jul 2019 05:52:53 GMT
Server: Apache
Accept-Ranges: bytes
Content-Length: 31
Content-Type: text/html;charset=utf-8
状态码
1** 信息,服务器收到请求,需要请求者继续执行操作
2** 成功,操作被成功接收并处理
3** 重定向,需要进一步的操作以完成请求
4** 客户端错误,请求包含语法错误或无法完成请求
5** 服务器错误,服务器在处理请求的过程中发生了错误