HTTP Protocol

  • Designed to transfer hypertext

  • Designed as a request-response Application layer protocol where a client requests hypertext from a server

  • HTML Entity

    • A way of telling the browser to display those characters it would otherwise look at as a tag or part of the programming itself

    Reserved Character in HTML

    HTML Entity Version

    "

    "

    '

    '

    &

    &

    <

    <

    >

    >

HTML Request Methods

  • GET Method

    • retrieves whatever information is identified by the Request-URI

    • Visible in a browser

    • can also be used to send data (problem is that it adds the data to the URL)

      • For example: http://www.example.com/checkout?7568.asp/credit1234567890123456

  • HEAD Method

    • the server does not have to return a message-body in the response

    • usually used for testing hypertext links for validity, accessibility and recent modification

    • Also used to request headers and metadata

  • POST Method

    • Used to request that a web server accepts the data enclosed in the body of the request message, usually by just storing it

    • It is a better and safer method than GET to submit data to a resource for processing

    • Safer because admins can make it so it is not stored in browser history or in the server logs

    • Does not display returned data in the URL

    • Visible with a Wireshark capture

  • PUT Method

    • Requests that the enclosed entity be stored under the supplied Request-URI

    • If it points to an existing resource - the enclosed entity should be considered as a modified version of the one already on the origin server

    • If it points to a resource that does not exist - the origin server creates the resource

  • DELETE Method

    • Requests that the origin server delete the resource identified by the Request-URI

  • TRACE Method

    • Used to invoke a remote, Application layer loopback of the request message

    • Final recipient of the request should reflect the message received back to the client as a 200 (OK) response

  • CONNECT Method

    • Reserved for use with a proxy that can dynamically switch to being a tunnel

HTTP Response Messages

  • The first digit of the Status Code defines the class or response

  • The last two digits do not have any categorization role but define the response intent

    • 1xx: Informational - Request received, continuing process

    • 2xx: Success - Successfully received, understood and accepted

    • 3xx: Redirection - Action has to be taken to complete the request

    • 4xx: Client Error - Request contains bad syntax or cannot be fulfilled

    • 5xx: Server Error - Server failed to fulfill an apparently valid request

Last updated