📅  最后修改于: 2023-12-03 15:31:20.735000             🧑  作者: Mango
HTTP(HyperText Transfer Protocol)是用于从万维网服务器传输超文本到本地浏览器的传输协议。HTTP是一种无状态协议,意味着服务器不会记录任何访问者的信息。此外,HTTP是一种应用层协议,它依赖于传输协议(通常是TCP),以在网络上传输数据。
HTTP由请求和响应组成。
当用户在浏览器中输入URL时,浏览器会发送一个HTTP请求到服务器,该请求由以下部分组成:
以下是HTTP请求的示例代码:
GET /index.html HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:61.0) Gecko/20100101 Firefox/61.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
当服务器接收到一个HTTP请求时,它会返回一个HTTP响应,该响应由以下部分组成:
以下是HTTP响应的示例代码:
HTTP/1.1 200 OK
Date: Wed, 02 Sep 2020 07:06:13 GMT
Server: Apache/2.2.14 (Win32)
Last-Modified: Wed, 02 Sep 2020 07:05:22 GMT
ETag: "10000000565a5-2c-3e94e03b29080"
Content-Length: 44
Content-Type: text/html
Connection: Closed
<html><body><h1>Hello, World!</h1></body></html>
HTTP定义了不同的方法,用于对服务器进行请求。
GET是HTTP中最常见的方法之一。它用于请求指定URL的内容。响应包含请求URL指向的资源的实际内容。GET方法没有请求正文。
以下是GET方法的示例代码:
GET /index.html HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:61.0) Gecko/20100101 Firefox/61.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
POST方法用于向指定URL提交实体,通常是表单数据。服务器处理请求后,可能会修改已存在的内容或创建新的资源。
以下是POST方法的示例代码:
POST /login HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:61.0) Gecko/20100101 Firefox/61.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Content-Type: application/x-www-form-urlencoded
Content-Length: 25
username=user&password=pass
HTTP状态码用于表示客户端请求的处理结果。
以下是一些常见的HTTP状态码:
HTTP是一种应用层协议,用于将超文本从服务器传输到本地浏览器。HTTP由请求和响应组成,请求由请求行,请求头和请求正文组成,响应由状态行,响应头和响应正文组成。HTTP定义了不同的方法,其中GET和POST方法是最常见的方法。HTTP状态码表示客户端请求的处理结果,200 OK表示请求成功,404 Not Found表示服务器未找到请求的资源,500 Internal Server Error表示服务器遇到错误。