Detect end of HTTP request body
Sérialisation
Un article de Wikipédia, l'encyclopédie libre. Le terme marshalling (mobilisation, canalisation, organisation) est souvent employé de façon synonyme, de même que le terme linéarisation. Les termes marshalling et unmarshalling s'emploient le plus souvent dans le contexte d'échanges entre programmes informatiques, alors que les termes sérialisation et désérialisation sont plus généraux[1]. Contexte[modifier | modifier le code] Comme pour beaucoup de choix algorithmiques, plus le mécanisme de sérialisation est spécialisé pour un type de données spécifique, plus il sera performant. Plus globalement, il est nécessaire de faire un a priori sur les ressources disponibles au moment de la désérialisation pour déterminer les informations que l'on pourra reconstruire à l'aide d'une simple référence et celles qu'il est nécessaire d'encoder. Encodage[modifier | modifier le code] Le choix de base est entre format binaire et format texte : Codages binaires[modifier | modifier le code]
Web Server Gateway Interface
WSGI was originally specified as PEP-333 in 2003.[2] PEP-3333, published in 2010, updates the specification for Python 3. Background[edit] In 2003, Python web frameworks were typically written against only CGI, FastCGI, mod_python, or some other custom API of a specific web server.[3] To quote PEP 333: Python currently boasts a wide variety of web application frameworks, such as Zope, Quixote, Webware, SkunkWeb, PSO, and Twisted Web -- to name just a few. By contrast, although Java has just as many web application frameworks available, Java's "servlet" API makes it possible for applications written with any Java web application framework to run in any web server that supports the servlet API. Specification overview[edit] The WSGI has two sides: Between the server and the application, there may be one or more WSGI middleware components, which implement both sides of the API, typically in Python code. WSGI Middleware[edit] A middleware component can perform such functions as:[4] Examples[edit]
Runtime system
Overview[edit] Every programming language specifies an execution model, and many implement at least part of that model in a runtime system. One, debatable, way to define a runtime system is that any behavior that is not directly the work of a program is runtime system behavior. This definition includes as part of the runtime system things such as putting parameters onto the stack before a function call, the behavior of disk I/O, and parallel execution related behaviors. By this definition, essentially every language has a runtime system, including compiled languages, interpreted languages, and embedded domain-specific languages. Many examples of discussions of runtime systems exist. [1][2][3] Examples[edit] Another example, which illuminates the nature of a runtime system, is the case of using an application programming interface (API) to interact with a runtime system. Advanced features[edit] History[edit] See also[edit] References[edit]
Execution model
An execution model specifies how work takes place. Every programming language has an execution model, which is specified as part of the language specification, and is implemented as part of the language implementation. Execution models can also exist independently from programming languages, an example of which would be the POSIX Threads library. The details in the specification of an execution model cover things such as what is an indivisible unit of work and what are the constraints on the order in which those units of work take place. An implementation of an execution model controls the order in which work takes place during execution. The static choices are most often implemented inside a compiler, in which case the order of work is represented by the order in which instructions are placed into the executable binary. However, an interpreter may also be constructed for any language, in which case all decisions on order of execution are dynamic. Overview[edit] See also[edit]