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
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=/
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
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!