1. HTTP介绍
HTTP(Hyper Text Transfer Protocol)即超文本传输协议,是浏览器和服务器之间进行“沟通”的一种规范,客户端通过请求服务器发送请求消息给服务器;服务器端通过响应发送响应消息给客户端,实现客户端和服务器端之间的通信。
所有的WWW文件都必须遵守这个标准。它是TCP/IP协议的一个应用层协议。
2. HTTP请求
浏览器向服务器请求某个web资源时,称之为浏览器向服务器发送了一个http请求。
一个完整http请求应该包含三个部分:
- 请求行【描述客户端的请求方式、请求的资源名称,以及使用的HTTP协议版本号】
- 多个消息头【描述客户端请求哪台主机,以及客户端的一些环境信息等】
- 一个空行
2.1 请求行
格式:请求方式 请求URL 请求协议/版本
eg:GET /mySubmit.html HTTP/1.1
常用请求方式:GET
和 POST
- GET(点击超链接,通过地址栏访问):
– 请求参数在请求行中,在URL后
– 请求的URL长度有限,数据容量通常不能超过1K - POST(表单提交的数据):
– 请求参数在请求体中
– 请求的URL没有长度限制
2.2 请求头
2.3 请求空行
空行,用于分隔 POST 请求的请求头和请求体的
3. HTTP响应
一个HTTP响应代表着服务器向浏览器回送数据
一个完整的HTTP响应应该包含四个部分:
- 一个状态行【用于描述服务器对请求的处理结果。】
- 多个消息头【用于描述服务器的基本信息,以及数据的描述,服务器通过这些数据的描述信息,可以通知客户端如何处理等一会儿它回送的数据】
- 一个空行
- 实体内容【服务器向客户端回送的数据】
3.1 状态行
格式: HTTP版本号 状态码 原因叙述
状态行:HTTP/1.1 200 OK
响应状态码:服务器告诉客户端浏览器本次请求和响应的一个状态,状态码都是三位数字,一般是1xx、2xx、3xx、4xx、5xx 这五类。
- 1xx:服务器接收客户端消息,但没有接收完成,等待一段时间后,发送1xx状态码
- 2xx:表示成功
- 3xx:表示重定向
- 302:重定向
- 304:访问缓存
- 4xx:客户端错误
- 404:请求路径没有对应的资源
- 405:请求的方式没有对应的doxxx方法
- 5xx:服务器端错误
- 500:服务器内部出现异常
3.2 响应头
3.3 空行
3.4 响应体
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>LSTAR</title>
</head>
<body>
我的世界!
</body>
</html>