HTTP请求和响应
HTTP请求
HTTP请求是客户端向服务器发送的命令,用于获取、创建、更新或删除资源。HTTP请求主要有两种方法:GET和POST。
- GET方法:用于获取数据。在URL中,GET方法将数据作为查询参数附加在资源路径后面。
- POST方法:用于创建数据。POST方法将数据放在请求体中,而不是作为URL的一部分。
请求行
请求行包含了HTTP方法、请求的资源路径和HTTP协议的版本。例如,POST /user/info HTTP/1.1
表示使用POST方法向服务器请求/user/info
路径的资源,并使用HTTP/1.1协议。
资源路径和查询参数
资源路径是请求的特定部分,用于标识服务器上的特定资源。查询参数是附加在资源路径后面的键值对,用于向服务器传递额外的信息。例如,www.douban.com/movie/top250?start=75&filter=unwatched
中的start=75
和filter=unwatched
就是查询参数。
请求头
请求头包含了客户端提供给服务器的元数据,如主机域名、用户代理、接受类型等。这些信息有助于服务器更好地处理客户端的请求。
请求体
请求体包含了客户端发送给服务器的其他数据。在POST请求中,请求体通常包含要创建或更新的数据。在GET请求中,请求体通常为空。
HTTP响应
HTTP响应是服务器对客户端请求的回应。它包含了状态行、响应头和响应体。
状态行
状态行包含了HTTP协议的版本、状态码和状态消息。状态码是一个三位数字,用于表示请求的处理结果。例如,200表示请求成功,404表示资源未找到,500表示服务器内部错误等。
响应头
响应头包含了告知客户端的信息,如日期、时间、响应数据类型和编码等。这些信息有助于客户端正确地处理服务器的响应。
响应体
响应体包含了服务器返回的实际数据。它可以是HTML、JSON或其他格式的数据,具体取决于客户端的请求和服务器的内容类型(Content-Type)。