A Free Trial That Lets You Build Big!
Start building with 50+ products and up to 12 months usage for Elastic Compute Service
The more ideal method of interpretation should be defined by the expression pattern of "state: Task (target) + process + performance (or feature)".
In "Pragmatic Ajax A Web 2.0 Primer" accidentally see the introduction of Readystae state, feel this introduction is very real, selected passage as follows:
0: (uninitialized) the Send () method has a not yet been invoked.
1: (Loading) the Send () method has been invoked, request in progress.
2: (Loaded) the Send () method has completed, entire response received.
3: (Interactive) The response is being parsed.
4: (completed) The response has been parsed, was ready for harvesting.
0-(uninitialized) has not yet called the Send () method
1-(load) called the Send () method, sending the request
2-(loading complete) the Send () method executes and has received the full response content
3-(interactive) parsing response content
4-(complete) The response content resolution is complete and can be invoked on the client
Table 1. ReadyState levels readyState Status Code
Status of the XMLHttpRequest Object
The object has been created and not initialized. (The Open method has a not been called.)
(XMLHttpRequest) object has been created, but has not yet been initialized (the open method has not been called yet).
The object has been created, and the Send method has a not been called.
(XMLHttpRequest) object has been created, but the Send method has not been called.
The Send method has a been called, but the status and headers is not yet available.
The Send method has been called, and the (HTTP response) status and header are not yet available.
Some data has been received. Calling the Responsebody and ResponseText properties at this state to obtain partial results would return an error, because Status and response headers is not fully available.
Partial data has been received. However, if you call the Responsebody and ResponseText properties at this point the results will produce an error because the state and response headers are not fully available.
All the data have been received, and the complete data are available in the Responsebody and ResponseText properties.
All the data has been received, and the full data can be extracted in the Responsebody and ResponseText properties.
According to the above-mentioned five states of readystate, I think the pragmatic Ajax A Web 2.0 Primer is in place, because it mentions the parsing of the data received, which is not mentioned in other books, which is exactly "(3) Interaction "stage as a necessary conversion process exists in the" (2) Loading complete "to" (4) Completion "Reason, that is, what its task is. To sum up, I think the more ideal method of interpretation should be "State: Task (target) + process + performance (or feature)" expression pattern to define these states more accurate, and easy to understand. The present trial summarizes the following:
Table 2. ReadyState Status ReadyState Status
(0) not initialized
This phase confirms that the XMLHttpRequest object is created and is ready for an uninitialized call to the open () method. A value of 0 indicates that the object already exists, or the browser will error--the object does not exist.
This phase initializes the XMLHttpRequest object by invoking the open () method and setting the object state based on the parameter (method,url,true). and call the Send () method to start sending requests to the server. A value of 1 indicates that a request is being sent to the server.
(2) Loading completed
This stage receives server-side response data. However, only the raw data of the server response is obtained, and it cannot be used directly on the client. A value of 2 indicates that the full-part response data has been received. and prepare for the next phase of data parsing.
This phase resolves the received server-side response data. That is, the data is converted into a format that can be accessed through the responsebody, ResponseText, or Responsexml properties based on the MIME type returned by the server-side response header, ready for client invocation. State 3 indicates that the data is being parsed.
This phase confirms that all data has been resolved to the format available to the client, and the parsing is complete. A value of 4 means that the data is parsed and the data can be obtained from the corresponding properties of the XMLHttpRequest object.
In summary, the life cycle of the entire XMLHttpRequest object should contain the following phases:
Create-Initialize request-Send request-receive data-parse data-complete
In specific applications, it is clear that the meaning of the readystate's five states (each stage of the life cycle of the XMLHttpRequest object) can eliminate the mystery of the Ajax core (the vague behind is either a trick or a mystery, or "Ichica, Shoro") , the rapid grasp of its essence, to reduce frustration in learning and enhance self-confidence is extremely beneficial.
For example, through the following examples:
When you request a remote file in Ajax, or if the remote file is being dropped, you need to know the status of the remote server feedback to determine whether the file exists or not.
Of course, when we usually browse the Web page, we also find that some files do not exist when the display as "404 Error", which is the common HTTP request State (status)
When a Web server responds to a request from a browser or other client, its answer generally consists of a status line, several answer headers, a blank line, and a content document. Here is one of the simplest answers:
The status line contains the HTTP version, the status code, and a brief description of the status code. In most cases, all answer headers except content-type are optional. However, Content-type is required, and it describes the MIME type of the document that follows. Although most replies contain a document, there are also some that do not include, for example, a reply to a head request that never comes with a document. There are many status codes that are actually used to identify a failed request that does not contain a document (or contains only a brief description of the error message).
When a user tries to access content on a server that is running Internet information Services (IIS) over HTTP, IIS returns a numeric code that represents the status of the request. The status code can indicate whether a specific request has succeeded, and can reveal the exact cause of the request failure.
These status codes represent a temporary response. The client should be prepared to receive one or more 1xx responses before receiving a regular response.
· 100-continue the initial request has been accepted, the customer should continue to send the remainder of the request. (HTTP 1.1 new)
· 101-switching Protocols Server translates the client's request to another protocol (HTTP 1.1 new)
This type of status code indicates that the server successfully accepted the client request.
· 200-ok Everything is OK, the answer document for Get and post requests is followed.
· The 201-created server has created the document, and the location header gives its URL.
· 202-accepted has accepted the request, but the processing has not been completed.
· The 203-non-authoritative information document has returned normally, but some of the answer headers may be incorrect because a copy of the document is being used, non-authoritative (HTTP 1.1 new).
· 204-no Content does not have a new document, the browser should continue to display the original document. This status code is useful if the user refreshes the page on a regular basis and the servlet can determine that the user's document is new enough.
· 205-reset content is not new, but the browser should reset what it displays. Used to force the browser to clear the form input (HTTP 1.1 new).
· The 206-partial Content client sends a GET request with a range header that the server has completed (HTTP 1.1 new).
The client browser must take more action to implement the request. For example, the browser might have to request a different page on the server, or repeat the request through a proxy server.
· 300-multiple Choices Customer-requested documents can be found in multiple locations that are listed in the returned document. If the server wants to make a preference, it should be indicated in the location answer header.
· 301-moved permanently The document requested by the customer elsewhere, the new URL is given in the location header, and the browser should automatically access the new URL.
· 302-found is similar to 301, but the new URL should be treated as a temporary replacement, not a permanent. Note that the corresponding status information in HTTP1.0 is "Moved temporatily". When the status code appears, the browser can automatically access the new URL, so it is a useful status code. Note that this status code can sometimes be used with 301 substitutions. For example, if the browser mistakenly requests Http://host/~user (the trailing slash is missing), some servers return 301, and some return 302. Strictly speaking, we can only assume that the browser will automatically redirect only if the original request is get. See 307.
· 303-see other is similar to 301/302, except that if the original request is post,location, the redirect target document specified by the header should be fetched via get (HTTP 1.1 new).
· The 304-not Modified client has a buffered document and issues a conditional request (typically providing a if-modified-since header indicating that the customer only wants to update the document than the specified date). The server tells the customer that the original buffered document can continue to be used.
· 305-use Proxy The document requested by the client should be extracted via the proxy server indicated by the location header (HTTP 1.1 is new).
· 307-temporary Redirect and 302 (Found) are the same. Many browsers incorrectly respond to a 302 response for redirection, even if the original request is post, even though it can actually be redirected only if the answer to the POST request is 303. For this reason, HTTP 1.1 has been added in 307 to allow for more cleanup of the region in several status codes: When a 303 response occurs, the browser can follow the redirected get and post requests, and if the 307 answer, the browser can only follow the redirect to the GET request. (HTTP 1.1 new)
An error occurred and the client appears to be having problems. For example, a client requests a page that does not exist, and the client does not provide valid authentication information.
· 400-bad request syntax error occurred.
· 401-unauthorized access was denied and the customer attempted to access a password-protected page without authorization. A www-authenticate header is included in the answer, and the browser displays the user name/Password dialog box, and then makes a request again after filling in the appropriate authorization header. IIS defines a number of different 401 errors, which indicate a more specific cause of the error. These specific error codes are displayed in the browser, but are not displayed in the IIS log:
· 401.1-Login failed.
· 401.2-The server configuration caused the login to fail.
· 401.3-not authorized due to ACL restrictions on resources.
· 401.4-Filter Authorization failed.
· 401.5-ISAPI/CGI application authorization failed.
· 401.7– access is denied by the URL authorization policy on the WEB server. This error code is specific to IIS 6.0.
· 403-forbidden resource is not available. The server understands the customer's request, but refuses to process it. This is usually caused by the permissions set on the file or directory on the server. Forbidden Access: IIS defines a number of different 403 errors, which indicate a more specific cause of the error:
· 403.1-execution access is forbidden.
· 403.2-Read access is forbidden.
· 403.3-Write access is forbidden.
· 403.4-Requires SSL.
· 403.5-Requires SSL 128.
· The 403.6-IP address is rejected.
· 403.7-Requires a client certificate.
· 403.8-site access is denied.
· 403.9-Excessive number of users.
· 403.10-Invalid configuration.
· 403.11-Password change.
· 403.12-Deny access to the mapping table.
· 403.13-The client certificate is revoked.
· 403.14-Reject directory list.
· 403.15-Client access permission exceeded.
· 403.16-Client certificate is not trusted or invalid.
· 403.17-The client certificate has expired or is not yet valid.
· 403.18-The requested URL cannot be executed in the current application pool. This error code is specific to IIS 6.0.
· 403.19-CGI cannot be executed for clients in this application pool. This error code is specific to IIS 6.0.
· 403.20-passport Login failed. This error code is specific to IIS 6.0.
· 404-not Found could not find the resource at the specified location. This is also a common answer.
· 404.0-(None) – No files or directories found.
· 404.1-Unable to access the WEB site on the requested port.
· The 404.2-web service extension lockout policy blocks this request.
· The 404.3-mime mapping policy blocks this request.
· 405-method not allowed request method (GET, POST, HEAD, Delete, PUT, trace, etc.) does not apply to the specified resource, the HTTP verb used to access this page is not allowed (the method is not allowed) (HTTP 1.1 new)
· 406-not acceptable The specified resource has been found, but its MIME type is incompatible with the client specified in the Accpet header, the client browser does not accept the MIME type of the requested page (HTTP 1.1 new).
· 407-proxy authentication Required requires proxy authentication, similar to 401, to indicate that the client must be authorized by the proxy server first. (HTTP 1.1 new)
· 408-request Timeout The customer has not made any requests during the waiting time of the server license. Customers can repeat the same request at a later time. (HTTP 1.1 new)
· 409-conflict is usually associated with a put request. The request cannot succeed because the request conflicts with the current state of the resource. (HTTP 1.1 new)
· The document requested by 410-gone is no longer available, and the server does not know which address to redirect to. It differs from 404 in that returning 407 means that the document has permanently left the specified location, and 404 indicates that the document is unavailable for unknown reasons. (HTTP 1.1 new)
· The 411-length Required server cannot process the request unless the client sends a content-length header. (HTTP 1.1 new)
· 412-precondition Failed Some of the prerequisites specified in the request header failed (HTTP 1.1 new).
· 413–request Entity Too Large the size of the target document exceeds the size that the server is currently willing to handle. If the server thinks it can process the request later, it should provide a Retry-after header (HTTP 1.1 new).
· 414-request URI Too Long URI is too lengthy (HTTP 1.1 new).
· 415– media types not supported.
· The 416–requested range not satisfiable server does not meet the Range header specified by the customer in the request. (HTTP 1.1 new)
· 417– execution failed.
· 423– a locked error.
The server could not complete the request because it encountered an error.
· The 500-internal server Error server encountered unexpected conditions and was unable to complete the client's request.
· 500.12-The application is busy restarting on the WEB server.
· The 500.13-web server is too busy.
· 500.15-Direct Request Global.asa is not allowed.
· 500.16–unc authorization credentials are incorrect. This error code is specific to IIS 6.0.
· The 500.18–url authorization store cannot be opened. This error code is specific to IIS 6.0.
· 500.100-Internal ASP error.
· The 501-not implemented server does not support the functionality required to implement the request, and the header value specifies the configuration that is not implemented. For example, a customer sends a put request that is not supported by the server.
· When a gateway or proxy is 502-bad, the server returns an illegal response in order to complete the request to access the next server. It also says that the Web server received an invalid response when it was used as a gateway or proxy server.
· The 502.1-cgi application timed out.
· 502.2-CGI Application error.
· The 503-service unavailable service is unavailable and the server is unable to answer due to maintenance or overloading. For example, a servlet might return 503 if the database connection pool is full. A retry-after header can be supplied when the server returns 503. This error code is specific to IIS 6.0.
· When the 504-gateway Timeout network is timeout, it is used by the server acting as the proxy or gateway, indicating that the answer cannot be received from the remote server in a timely manner. (HTTP 1.1 new).
· The HTTP version indicated in the request is not supported by the 505-HTTP version not supported server. (HTTP
Ajax Response Status list [reprint]
Start building with 50+ products and up to 12 months usage for Elastic Compute Service