上一篇: XMLHttpRequest对象
下一篇: 数据格式
HTTP 请求和响应
什么是HTTP协议?
HTTP(Hypertext Transfer Protocol,超文本传输协议)是一种应用层协议,其主要功能是规定客户端与服务器之间如何进行数据交换。HTTP基于TCP/IP协议工作,采用请求-响应模式进行通信。
请求方法
HTTP定义了一系列请求方法来表示对资源的不同操作。以下是常见的HTTP请求方法:
- GET:从服务器检索信息。GET请求通常用于获取页面内容、查询数据等。
- POST:向服务器提交数据。POST请求常用在表单提交、上传文件等场景。
- PUT:更新服务器上的资源,需要提供完整的数据。
- DELETE:从服务器删除指定的资源。
- HEAD:类似于GET请求,但只返回响应头部,不返回实际数据。可用于测试连接或获取资源元信息。
- PATCH:局部更新服务器上的资源。
HTTP状态码
HTTP状态码是一个三位数字,表示服务器对请求的处理结果。状态码分为五类,根据第一个数字可以判断其大致含义:
- 1xx(临时响应):请求已接收,需要继续处理。
- 2xx(成功):请求已成功处理。
- 3xx(重定向):需要进一步操作以完成请求。
- 4xx(客户端错误):请求包含错误语法或无法完成。
- 5xx(服务器错误):服务器在处理请求的过程中发生了错误。
以下是一些常见的HTTP状态码:
- 200 OK:请求成功。
- 201 Created:请求已成功,且服务器已创建了新的资源。
- 204 No Content:请求成功,但没有内容返回。
- 400 Bad Request:客户端请求的语法错误,服务器无法理解。
- 401 Unauthorized:请求要求用户的身份认证。
- 403 Forbidden:服务器理解请求客户端的请求,但是拒绝执行此请求。
- 404 Not Found:服务器找不到请求的资源。
- 500 Internal Server Error:服务器内部错误。
请求头与响应头
HTTP请求和响应除了包含实际的数据(也称为消息主体)外,还有一些描述性的元数据,称为请求头和响应头。它们用于控制请求和响应的行为、传递附加信息等。
常见请求头:
- Accept:指定客户端可以接受的数据类型。
- Accept-Encoding:指定客户端支持的压缩格式。
- Authorization:提交用户认证信息。
- Cache-Control:指定缓存策略。
- Content-Length:指定请求主体的长度。
- Content-Type:指定请求主体的数据类型。
- User-Agent:提供有关客户端(浏览器、操作系统等)的信息。
常见响应头:
- Allow:列出服务器支持的请求方法。
- Cache-Control:指定缓存策略。
- Content-Encoding:指定响应内容采用的压缩格式。
- Content-Length:指定响应主体的长度。
- Content-Type:指定响应主体的数据类型。
- Expires:指定响应的过期时间。
- Set-Cookie:设置Cookie。
结束语
本教程介绍了HTTP请求和响应的基本概念和常见元素,包括协议、请求方法、状态码、请求头与响应头等。