1. 1. Services and processes
    ❱
    1. 1.1. Processes and Threads
      ❱
      1. 1.1.1. Concurrency
      2. 1.1.2. Shared State
      3. 1.1.3. Java
        ❱
        1. 1.1.3.1. Threads
        2. 1.1.3.2. Design techniques
        3. 1.1.3.3. Join, interrupt and volatile
        4. 1.1.3.4. Sincronization
        5. 1.1.3.5. Java concurrent library
      4. 1.1.4. Message passing
    2. 1.2. Sockets and Services
      ❱
      1. 1.2.1. Protocols
      2. 1.2.2. Sockets
      3. 1.2.3. Services
      4. 1.2.4. HTTP APIs
    3. 1.3. Criptography
      ❱
      1. 1.3.1. Concepts
      2. 1.3.2. Cryptography in Java
      3. 1.3.3. Hashes, signatures and certificates
      4. 1.3.4. SSL communication with sockets
      5. 1.3.5. Key management
      6. 1.3.6. Certificate formats
    4. 1.4. Security
      ❱
      1. 1.4.1. Access control
      2. 1.4.2. Secure design
      3. 1.4.3. Tecnologies

notes.jg5.dev

Sockets and Services

Learning results:

  1. Program network communication mechanisms using sockets and analyzing the execution scenario.
  2. Develop applications that offer network services, using class libraries and applying efficiency and availability criteria.

References

  • OSI Model
  • HTTP (Mozilla)
  • HttpURLConnection
  • reqbin.com
  • A guide to Java sockets
  • Do a Simple HTTP Request in Java
  • Core Java Networking (eugenp)
  • Read an InputStream using the Java Server Socket
  • REST vs Websockets (baeldung)
  • A Guide to the Java API for WebSocket (baeldung)
  • All About Sockets (The Java Tutorials)
  • SSL Handshake Failures (baeldung)
  • HTTP: The Protocol Every Web Developer Must Know (part 1)
  • HTTP: The Protocol Every Web Developer Must Know (part 2)
  • REST API Tutorial
  • Blocking I/O and non-blocking I/O
  • A Guide to NIO2 Asynchronous Socket Channel
  • Java NIO Tutorial (Jenkov)
  • How Single-Page Applications Work
  • How Single-Page Web Applications actually work?
  • What Is a Single Page Application and Why Do People Like Them so Much?
  • Guía práctica para la publicación de Datos Abiertos usando APIs
  • Local-first software