sách gpt4 ai đã đi

URL yêu cầu HTTP không phải là một phần của tiêu đề yêu cầu HTTP sao?

In lại 作者:可可西里 更新时间:2023-11-01 13:11:32 37 4
mua khóa gpt4 Nike

这是维基百科文章的摘录:

In contrast to the GET request method where only a URL and headers are sent to the server, POST requests also include a message body.

据此,URL 似乎与 header 分开发送,但如果是这样,我们为什么要使用 PHP 中的 header() 方法来设置要重定向到的 URL?

header("Location: http://google.com");

1 Câu trả lời

当您想从浏览器中浏览一个 URL 时,您可以输入一个 URL。浏览器将 url 放入 HTTP REQUEST 中,如下所示:

GET /path/to/resource.php?var=data1&othervar=data2 HTTP/1.1
Host: example.com
Connection: keep-alive
"empty line"

然后网络服务器会给你这样的答案:

HTTP/1.0 200 OK
Date: Fri, 02 Sep 2011 14:37:36 GMT
Server: Apache
Cache-Control: private, s-maxage=0, max-age=0, must-revalidate
Content-Encoding: gzip
Vary: Accept-Encoding
Content-Length: 149
Content-Type: text/javascript; charset=utf-8
Connection: keep-alive
"empty line"
"149 bytes of Response data"

像“Header-Name: header_value\r\n”这样的每一行都是一个标题。
PHP header 函数在将响应发送到用户浏览器之前将 header 添加到响应中。
在您的示例中, header 是:

Location: http://google.com

它被添加到“空行”(这是一个只包含\r\n 的行)之前的最后一个标题之后。
POST 请求不同于 GET 请求,因为您在“空行”之后有一个请求主体:

POST /path/to/resource.php HTTP/1.1
Host: example.com
Connection: keep-alive
Content-Length: "number of bytes in the body"
"empty line"
variable=data&othervar=data2

总之,HTTP 请求是这样的:

  1. 请求/响应行(POST 或 GET 后跟请求的 url 和 http 版本,Http 版本后跟响应代码和响应字符串)以\r\n 结尾
  2. 请求/响应 header ( header 名称:header_value\r\n)
  3. 空行 (\r\n)
  4. 响应/请求正文

附言。行总是以“\r\n”字节结束(“空行”仅由这两个字节组成)。

关于php - HTTP 请求 URL 不是 HTTP 请求 header 的一部分吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7284953/

37 4 0
可可西里
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com