12. 2XX
● 200 OK
● 201 Created
● 202 Accepted
● 203 Non-Authoritative Information
● 204 No Content
● 205 Reset Content
● 206 Partial Content
● 207 Multi-Status
● 208 Already Reported
● 226 IM Used
13. 3XX
● 300 Multiple Choice
● 301 Moved Permanently
● 302 Found
● 303 See Other
● 304 Not Modified
● 305 Use Proxy
● 306 unused
● 307 Temporary Redirect
● 308 Permanent Redirect
14. 4XX
● 400 Bad Request
● 401 Unauthorized
● 402 Payment Required
● 403 Forbidden
● 404 Not Found
● 405 Method Not Allowed
● 406 Not Acceptable
● 407 Proxy Authentication Required
● 408 Request Timeout
● 409 Conflict
● 410 Gone
15. 5XX
● 500 Internal Server Error
● 501 Not Implemented
● 502 Bad Gateway
● 503 Service Unavailable
● 504 Gateway Timeout
● 505 HTTP Version Not Supported
● 506 Variant Also Negotiates
● 507 Insufficient Storage (WebDAV)
● 508 Loop Detected (WebDAV)
● 510 Not Extended
● 511 Network Authentication Required
16. HTTP 1.1 - Rest
REST is acronym for REpresentational State Transfer. It is architectural style
for distributed hypermedia systems and was first presented by Roy Fielding in
2000 in his famous dissertation.
19. Glory of Rest
● Richardson Maturity Model
○ Model of Restful Maturity
○ Integration Problems
20. Glory of Rest
● Level 0
○ HTTP - transport system for
remote interactions
● Level 1
○ Individual Resources
● Level 2
○ POST
○ GET
○ DELETE
○ PATCH / PUT
● Level 3
○ HATEOAS (Hypertext As The
Engine Of Application State)
21. HTTP/2
● In 2009, Mike Belshe and
Roberto Peon of Google proposed
SPDY
● HTTP/2 replaces SPDY
● Same semantics HTTP/1.x
● Binary Protocol
● Introduced to improve
performance
● HTTPBis Working Group
○ Specification HTTP
○ RFC 7540
○ HPACK - RFC 7541
23. What is GRPC?
gRPC is a modern open source high performance remote procedure call (RPC) framework
that can run in any environment. Initially developed at Google 2015 using HTTP/2
protocol. Use protobuf as a mechanism for serializing structure data.
https://grpc.io/
https://developers.google.com/protocol-buffers/
25. Where must I use GRPC?
● Microservices
○ Low-latency and high-throughput communication
○ Strong API contract
● Polyglot environments
● Point-to-Point real time communication
○ Bidirectional streaming
● Network Constrained environments
○ Lightweight message format (mobile application)
30. What is RSocket?
RSocket is a binary protocol, bi-directional, multiplexed, message-based based on
Reactive Streams semantics. It provides support for four interaction models. It is transport
protocol agnostic.
https://rsocket.io/
39. HTTP 3 - The Future
What is new in HTTP 3?
● It is a 3rd version of Hypertext Transfer Protocol (HTTP)
● New protocol specification (not ready for production yet)
● Use the same semantics of HTTP/1.* and HTTP/2, such as GET and POST operation
● August-2020 became Internet-Draft
40. HTTP 3 - QUIC - The Future
QUIC - Quick UDP Internet Connections
● Designed in 2012 by Jim Roskind at Google
● Reduce connection and transport latency
● Multiplexed transport over UDP
● Open source development in Chromium
● Google and Facebook are already using