Práctica de Intro a Distribuidos.
[z.facultad/75.43/practicas.git] / informe1.txt
1                                  Informe Nro. 1
2
3                   Análisis de protocolos de capa de aplicación
4
5                               Web (protocolo HTTP)
6
7                            Leandro Lucarella (77891)
8
9
10 1. Introducción
11
12 HTTP[1] (Hyper Text Transfer Protocol) es un protocolo de capa de aplicación
13 sin estado, utilizado principalmente para la World-Wide Web, aunque sus
14 aplicaciones van mucho más allá de ella. Debido a su gran generalidad y
15 flexibilidad puede ser utilizado para una gran variedad de aplicaciones, en
16 particular a través de extensiones, como por ejemplo WebDAV[2] (Web
17 Distributed Authoring and Versioning), que permiten implementar aplicaciones
18 para control de versiones distribuídas como Subversion[3].
19
20 Gran parte de esta flexibilidad proviene de la capacidad de negociar la
21 representación de los contenidos, y es lo que permite muy fácilmente montar
22 otros protocolos en él. Otro uso que va en forma creciente de este protocolo es
23 la llamada remota a procedimientos (RPC o Remote Procedure Call), siendo tal
24 vez el más difundido XMLRPC[4], aunque no sea un estándar de la IETF[5].
25
26 He tenido incluso yo la posibilidad de encapsular un protocolo sobre HTTP para
27 el desarrollo de un trabajo práctico para la asignatura Taller de Programación
28 I[6] (75.42), al desarrollar un protocolo para control y monitoreo de una
29 planta química[7].
30
31
32 2. Descripción del protocolo
33
34 El protocolo se compone básicamente de un Request, un requerimiento realizado
35 por el cliente, más un Response, la respuesta devuelta por el servidor. A su
36 vez cada una de estas partes se divide en Headers (información de control) y
37 Body (información del usuario).
38
39
40 3. Primitivas de servicios y unidades de protocolo asociadas
41
42 El protocolo se compone básicamente de un Request, un requerimiento realizado
43 por el cliente, más un Response, la respuesta devuelta por el servidor. A su
44 vez cada una de estas partes se divide en Headers (información de control) y
45 Body (información del usuario transmitida).
46
47
48 5. Preguntas
49
50 5.1 Sobre el punto 2, no entiendo bien a qué se refiere con "grupo de unidades
51     del protocolo". Para realizar el informe asumí que se trata de las
52     "primitivas".
53 5.2 No es una pregunta, pero se hace muy difícil describir un protocolo en
54     menos de 3 renglones.
55 5.3 
56
57
58 6. Referencias
59
60 [1] Fielding, R., Gettys, J., Mogul, J., Frystyk, H., Masinter, L., Leach,
61     P. and T.Berners-Lee, "Hypertext Transfer Protocol -- HTTP/1.1", RFC 2616,
62     Junio 1999.
63 [2] Clemm, G., Amsden, J., Ellison, T., Kaler, C. and Whitehead, J.,
64     "Versioning Extensions to WebDAV (Web Distributed Authoring and
65     Versioning)", RFC 3253, Marzo 2002.
66 [3] Ben Collins-Sussman, Brian W. Fitzpatrick, C. Michael Pilato: "Version
67     Control with Subversion", O'Reilly Media. ISBN: 0-596-00448-6, 2004,
68     http://svnbook.red-bean.com/, Capítulo 1, sección 4: "Subversion's
69     Architecture", Apéndice C: "WebDAV and Autoversioning"
70 [4] Winer, D., "XML-RPC Specification", Junio 1999, http://www.xmlrpc.com/.
71 [5] Internet Task Force: http://www.ietf.org/
72 [6] Taller de Programación I, Departamento de Computación, Universidad de
73     Buenos Aires: http://www.fi.uba.ar/materias/7542/
74 [7] Lucarella, L.: "Propuesta de servidor v0.4", Octubre 2003.
75     http://svn.llucax.hn.org/svn/plaqui/docs/server.txt