- Building RESTful Web Services with PHP 7
- Haafiz Waheed ud din Ahmad
- 320字
- 2021-07-03 00:02:15
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.
- Learning Scala Programming
- Learn Blockchain Programming with JavaScript
- CMDB分步構建指南
- Arduino by Example
- Mastering Kotlin
- C語言程序設計教程(第2版)
- HTML5入門經典
- C++新經典
- 學習正則表達式
- iOS開發實戰:從入門到上架App Store(第2版) (移動開發叢書)
- OpenResty完全開發指南:構建百萬級別并發的Web應用
- Android驅動開發權威指南
- 基于SpringBoot實現:Java分布式中間件開發入門與實戰
- BeagleBone Robotic Projects(Second Edition)
- OpenMP核心技術指南