官术网_书友最值得收藏!

Stateless

Client server communication is stateless. Each request coming from the client will have all the information required to serve a request. This means there is no state in this communication other than what is in the request. The response which the client will get will be based on the request without looking at any state other than what is in request.

If the session needs to be maintained, the session will be stored based on a token or identifier which is coming in the request. So if we look at an example of a web request, then the flow of HTTP is no more than a request sent by the client to the server and a response, sent back to the client from the server, as shown in the following diagram:

If a session needs to be maintained, the session data will be stored on the server, while the session identifier will be sent back to the client. In subsequent requests, the client will include that session identifier in every request by which the server will identify the client and load the related session's data as explained in the following diagram:

And in subsequent requests:

So REST is stateless. To maintain the state, one needs to pass an identifier or any other information, to logically group different requests to maintain a session in the request. If no such identifier is passed in the request, the server will never know if those two requests are from same client.

The advantage of statelessness is simplicity. The same requests will not result in different responses unless the request parameters are changed. It will return different results based on different request parameters not due to some sort of state. Even the state depends on requests, as shown in the preceding example. So that session identifier is in the request, which can result in a different state and, hence, results in a different response.

主站蜘蛛池模板: 平南县| 西贡区| 舟曲县| 波密县| 澳门| 章丘市| 乌兰察布市| 名山县| 渭南市| 荔波县| 黄骅市| 大荔县| 普定县| 衡南县| 鄱阳县| 桃江县| 泊头市| 易门县| 榆林市| 玉林市| 凌云县| 长岭县| 垣曲县| 台江县| 天等县| 桦甸市| 隆昌县| 富裕县| 盐池县| 安吉县| 梧州市| 黔西| 武冈市| 梓潼县| 昌都县| 水城县| 阿荣旗| 镇雄县| 贵阳市| 射洪县| 资源县|