Fichas
HTTP
Fichas del conjunto (74)
- 1HTTPHypertext Transfer Protocol
network protocol that runs on top of TCP/IP
governs communication over the Web - 2Network Protocolsrules that define how entities in a network communicate with each other
how to:
- identify and establish communication with the other party
- transmit and receive data
- message formats - 3HTTP is used to request and send resources such asHTML Pages
Style sheets
Scripts
Images
Fonts - 4HTTP was designed byTim Berners-Lee & Rober Cailliau
- 5HTTP has been the client-server protocol used by the web since its creationTRUE
- 6Latest version of HTTPHTTP/2.0
- 7Most used version of HTTPHTTP/1.1
- 8Characteristics of HTTP: Client-Serverrequests are sent to a server either by:
another server; or
client programs called user-agents - 9User-agentsprograms that make HTTP requests for human users
web browser, mobile apps, desktop apps, machine-automated user-agents (robots/crawlers) - 10Characteristics of HTTP: Request-ResponseHTTP communication is done through exchanges of request and response messages
usually not a direct connection between user-agent and web-server - 11Characteristics of HTTP: Statelessclient and server are only aware of each other during the current req-res exchange
- 12HTTP Transaction1:1 exchange of req and res
- 13Transaction process1. Brower extracts server's hostname from url
2. Browser resolves IP address via DNR
3. Browser extracts port from URL
4. Browser establishes TCP connection w/ the server
5. Browser sends an HTTP req to server
5. Browser receives res
6. TCP connection may or may not be closed - 14Proxiesweb servers that act as intermediaries between client and server
- 15Forward Proxyused to pass msgs from one part of the Internet to another
usually placed at the edge of a local network to direct internal traffic to the public Internet - 16Reverse Proxyused as an entrance to private networks
used for regulation of access from public to private network - 17Transparent Proxydoes not modify passing requests
- 18Non-transparent Proxymodifies passing requests
- 19Cachingcache data that may be commonly requested
reduces load on the actual server - 20Filteringfilter to block/prioritize certain requests
- 21Load Balancingfront-facing server accepts all reqs and distributes them across diff servers based on factors such as server load, proximity, etc.
- 22Authenticationonly pass request messages if they contain appropriate authentication details
- 23Loggingmaintain a log of the msgs that it passes along
- 24HTTP Request MessageRequest line: method, path, protocol ver (GET / HTTP/1.1)
Headers
Body (optional) - 25Method / HTTP Verbsdefines the operation that the client wants to perform
GET, POST, PATCH, DELETE, etc. - 26Headersconvey additional information about the sender or message payload
- 27Bodyactual payload of the message
may not be required depending on the method used - 28HTTP Response MessageStatus line: protocol ver, status code, reason phrase/status message
(HTTP/1.1 200 OK)
Headers
Body (optional) - 29Status Codeindicates if the req was successful or not
list of valid status codes are defined by the W3C - 30Reason Phrase / Status Messageshort eng description of the status code
- 31GETused to request/fetch a specific resource (identified by the path) from the server
meant to be read only; does not modify the server's state - 32POSTused to submit data to a server
1. annotation of existing resources
2. posting a msg to a bulletin board, newsgroup, etc.
3. providing a block of data (from submitting a form) to a data-handling process
4. extending database through an append operation
often results in some state change in the server - 33HEADresponse is identical to a GET response but w/o the response body
used for checking link validity, recent mod, or find out more without actually fetching resource - 34PUTreplace current resource with data in the req body
- 35DELETEdeletes the resource in the specified path
- 36CONNECTused by the client to establish a connection to the server over a tunnel proxy
- 37TRACEused to echo contents of an HTTP request back to the client
useful for checking how the req is modified by proxies; generally for debugging - 38OPTIONSused to ask the server about its supported methods
- 39PATCHapply partial modification to the data in the specified URL
- 40CRUD : METHODSCreate : PUT
Read : GET
Update : POST/PATCH
Delete : DELETE - 41Characteristics of HTTP Methods: Safethese do not alter the state of the server
read-only operation - 42Characteristics of HTTP Methods Idempotentcertain operations such that they can be applied several times without changing the result of the initial application
- 43Characteristics of HTTP Methods s: Cacheable Methodsonly HEAD and GET
- 44Status Code Groups100 -199 : Informational
200 - 299 : Success
300 - 399 : Redirection
400 - 499 : Client Error
500 - 599 : Server Error - 45200 Range200 OK
201 Created - 46300 Rangefurther action needs to be taken by the client
300 Multiple Choices
301 Moved Permanently
302 Found
304 Not Modified - refer to cache - 47400 Range400 Bad Request - invalid syntax
401 Unauthorized
403 Forbidden - no permission
404 Not found
405 Method Not Allowed
410 Gone
413 Request Entity Too Large
414 Request URI Too Long
415 Unsupported Media Type - 48500 Range500 Internal Error
501 Not Implemented
503 Service Unavailable - server overload/maintenance; retry-after
504 Gateway Timeout
505 HTTP Version Not Supported - 49100 Range100 Continue
101 Switching Protocols - 50General Headercan be used for both req and res
contain general info that does not apply to the contents of the msg body
e.g. date, cache-control, connection - 51Request Headeronly used in reqs
don't relate to contents of the req msg body
may contain info about the resource requested or client itself
e.g. accept, accept-charset, accept-encoding, accept-language - 52If-Modified-Sinceclient requests new copy of the resource if it has been modified since the specified date
- 53User-Agentdetails about hte browser, rendering engine, OS architecture
- 54CookieCookies set by the server
- 55Response Headersused to give more info about the response
they don't relate to the msg body - 56Agehow much time the response has been in a proxy cache
- 57Locationindicates redirection URL
- 58Serverdetails about the server's software
- 59Entity Headercan be used by both req and res msgs
describe the content of the message body
can contain info about the payload such as:
content length
language
encoding
location
type
date of last mod - 60Content-Type headerindicates the MIME type of the payload content
- 61MIMEMultipurpose Internet Mail Extension
help the receiving entity decide what to do w/ the data - 62MIME Typestext/css - design/layoout
text/html - render doc as HTML
application/zip - open a dl prompt
application/powerpoint - display as doc
application/pdf - display as doc - 63HTTP/0.9"one-line protocol"
GET was the only method and there were no headers
only HTML files existed on the web to be sent over HTTP
initially had no version number - 64HTTP/1.0interoperability problems were common
improvments:
res status lines
headers to req and res
==
content negotiation
authorization
caching
transfer of other media types - 65HTTP/1.1standardized protocol
features:
connection reuse
pipelining
chunked response
improvement of content negotiation - 66Connection reuseTCP connection could be kept alive for further requests
uses the Connection header - 67Pipeliningallowed the client to send another request before a response was received for the first req
- 68Chunked responseslarge responses could be split up over several msgs
- 69HTTP/2.0currently used by 50.2% of websites
improvements:
transport performance
^ reducing latency, increasing throughput
binary protocol msg formats
optimizations via compression
features:
multiplexing
server push - 70Binary protocolsreqs and res can't be manually created/read
+ more efficient to parse
+ msgs take up less space
+ less error-prone - 71Multiplexingmultiple requests and responses can be in flight at the same time
- 72Compresionheaders are compressed to remove duplication and save overhead on data transfer
- 73Server Pushallows servers to populate data in client cache, in advance of the data being required
- 74HTTP/3.0currently in the works, a draft has been released in Jan 2021
Información
- Descripción
- Computer Science Fichas sobre HTTP, creado por Do Bingu el 10/10/2024.
- Creado por
- Do Bingu
- Visitas
- 2
- Valoración