Summary of relevant information on PHP http protocol post request parameters

伊谢尔伦
Release: 2023-03-12 13:46:02
Original
1935 people have browsed it

This article will introduce you to the Http protocol post request parameters in PHP. The specific content is as follows:

Information in WEB development is basically all in POST and GETRequest and response , GET is easy for us to understand because of its intuitive URL-based nature, but POST request, because of the concealment of information, is not only safe, but also brings trouble to developers to simulate sending. In the next few blog posts, I will combine my own notes and understanding to explain in detail several methods of PHP making POST requests. If there are any errors, please correct me.

HTTP protocol information is an important content in WEB development. Understanding it can help us understand BS interaction more deeply, and also help us understand WEB development from a lower level. The HTTP protocol is a simple, flexible and convenient communication protocol, and it should be remembered that it is a stateless protocol, that is, it is a memoryless protocol, and each interaction is separate.

We can use the "Network" panel of the browser's development tools (IE's F12, Firefox's FireBug, etc.) to view HTTP header information.

Generally, HTTP header information is divided into three categories: Request information, response information and interactive information (I personally think it is also a type of request information).

1, Request information:

When accessing a website, the client will issue a request information. This information does not contain data, but simply contacts the server. Causes the server to return response information.

Its format is two parts: request line and message header.

A. Request line: method (Request method) path (request site address) HTTP/version (protocol/version information)

Common request methods are GET/ POST/HEAD/OPTION, etc.

B. Message header:

Host (required): host and port number, the port number defaults to 80

Accept: the content type expected to be received (image/gif text/html */*)

Accept-Encoding: The compression type expected to be received (gzip deflat)

Accept-Charset: The character set expected to be received (utf-8)

Accept-Language(zh-CN)

Cookie: User’s Cookie information

Connection: Connection control

User-Agent: Client information

... ...

The following is a typical request header information:

GET  index.php  HTTP/1.1
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding:gzip, deflate, sdch
Accept-Language:zh-CN,zh;q=0.8
Cache-Control:max-age=0
Connection:keep-alive
Cookie:SOHUHOMETAB=visit:2; IPLOC=CN1407; SUV=1510312046259910
Host:www.sohu.com
If-Modified-Since:Sat, 31 Oct 2015 12:45:22 GMT
Upgrade-Insecure-Requests:1
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.99 Safari/537.36
Copy after login

2, response information

Server Return data

The response information is divided into three parts: status line message header response text

A. Status line: HTTP/version (protocol/version information) status code status text (for status code Text description)

There are 5 categories of status codes:

1XX: Indicates a temporary response and the requester needs to continue the operation

2XX: Indicates a successful response and the server successfully responded to the request

3XX: Indicates redirection and requires further operation by the requester

4XX: Indicates client error and the server cannot respond normally

5XX: Indicates server error and the server cannot respond normally Response

For specific information, please refer to:HTTP status codeDetailed explanation

B. Message header:

Server: Server information

Content -Encoding: Data compression format

Content-Length: Data length

Content-Type:Data type

Cache-Control: Cache control

Connection: Connection control

Date: Date information

Expires: Expiration information of returned data

Last-Modified: Returns the last modification time

Set-Cookie: Set the client's Cookie information

... ...

C. Response text

That is, the returned page data, in the page as an HTML document form manifested.

The following is a common response message

HTTP/1.1 200 OK

Cache-Control:no-cache
Connection:close
Content-Encoding:gzip
Content-Length:6947
Content-Type:text/html; charset=GBK
Date:Sat, 31 Oct 2015 13:30:11 GMT
Expires:-1
Pragma:no-cache
Proxy-Connection:keep-alive
Server:nginx/1.2.5
Set-Cookie:JSESSIONID=yiuug4yejhc1cdbzydoxlcpn;Path=/
Copy after login

3, the interaction information

contains the request Data request information is common in user uploaded file registration, etc.

It is divided into three parts: request line message header request body

A. The same as the request line for request information

B. Added data about the request body based on the request header

Content-Type: Content type of the uploaded information

Content-Length: Length of the uploaded information

... ...

C. Request text:

That is the specific data string requested (name=xxx&passwork=xxx). Of course, for the sake of security, the POST information is sometimes encrypted and encoded.

The following is a typical request message:

GET  login.php  HTTP/1.1
Host:passport.sohu.com
Accept:text/html,application/xhtml+xml,application/xml
Accept-Encoding:gzip, deflate
Accept-Language:zh-CN,zh;q=0.8
Cache-Control:max-age=0
Connection:keep-alive
Content-Length:166
Content-Type:application/x-www-form-urlencoded
Referer:http://mail.sohu.com/
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.99 Safari/537.36
Form Data
domain=sohu.com&callback=passport20008375022711697966_cb1446298206568&appid=1113&userid=FDFFDF%40sohu.com&password=a3f4384c2bc44fa909ffd0ecc5fa8eb9&persistentcookie=0
Copy after login

Once you understand what the browser sends to the server, it is not difficult to use other methods to disguise yourself as a server.

The above is the detailed content of Summary of relevant information on PHP http protocol post request parameters. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template