HTTP Status Codes

Total Page:16

File Type:pdf, Size:1020Kb

HTTP Status Codes WWW.OCTO.COM ERROR 418 I’m a teapot HTTP Status codes HTTP STATUS CODE DESCRIPTION RESTful API SUCCESS Design • Basic success code. Works for the general cases. 200 OK • Especially used on successful first GET requests or PUT/PATCH updated content. As soon as we start working on an API, design issues arise. A robust and strong design is a key factor for 201 Created • Indicates that a resource was created. Typically responding to PUT and POST requests. API success. A poorly designed API will indeed lead to misuse or – even worse – no use at all by its intended clients: application developers. • Indicates that the request has been accepted for processing. 202 Accepted • Typically responding to an asynchronous processing call (for a better UX and good performances). Creating and providing a state of the art API requires taking into account: RESTful API principles as described in the literature (Roy Fielding, Leonard Richardson, Martin Fowler, HTTP specification…) 204 No Content • The request succeeded but there is nothing to show. Usually sent after a successful DELETE. The API practices of the Web Giants Nowadays, two opposing approaches are seen. “Purists” insist upon following REST principles without compromise. 206 Partial Content • The returned resource is incomplete. Typically used with paginated resources. “Pragmatics” prefer a more practical approach, to provide their clients with a more usable API. The proper solution often lies in between. CLIENT ERROR Designing a REST API raises questions and issues for which there is no universal answer. REST best practices are still being debated and General error for a request that cannot be processed. consolidated, which is what makes this job fascinating. To facilitate and accelerate the design and development of your 400 Bad Request GET /bookings?paid=true → APIs, we share our vision and beliefs with you in this Reference Card. 400 Bad Request → {"error":"invalid_request", "error_description":"There is no ‘paid’ property"} They come from our direct experience on API projects. I do not know you, tell me who you are and I will check your permissions. GET /bookings/42 401 Unauthorized → 401 Unauthorized → {"error”:"no_credentials", "error_description":"You must be authenticated"} Your rights are not sufficient to access this resource. 403 Forbidden GET /bookings/42 → 403 Forbidden → {"error":"protected_resource", "error_description":"You need sufficient rights"} Why an API We believe that API The resource you are requesting does not exist. strategy ? GET /hotels/999999 404 Not Found → IS THE ENGINE OF 404 Not Found → {"error":"not_found", "error_description": "The hotel ‘999999’ does not exist"} DIGI+AL STRATEGY “Anytime, Anywhere, Any device” are the key problems that the Web infiltrates of digitalisation. API is the answer to “Business WE KNOW Either the method is not supported or relevant on this resource or the user does not have the permission. Agility” as it allows to build rapidly new GUI for upcoming devices. AND transforms COMPANIES 405 Method Not Allowed PUT /hotels/999999 → 405 Method Not Allowed → An API layer enables Embrace WOA WE WORK OGETHER, {"error":"not_implemented", "error_description":"Hotel creation not implemented"} + Cross device “Web Oriented Architecture” with passion, TO CONNECT Cross channel Build a fast, scalable & secured 2015 - All rights reserved © OCTO Technology 360° customer view REST API There is nothing to send that matches the Accept-* headers. For example, you requested a resource Based on: REST, HATEOAS, in XML but it is only available in JSON. Stateless decoupled BUSINESS & IT Open API allows 406 Not Acceptable µ-services, Asynchronous To outsource innovation GET /hotels patterns, OAuth2 and OpenID We help you CREATE Accept-Language: cn To create new business Connect protocols → 406 Not Acceptable → models Leverage the power of your {"error": "not_acceptable", "error_description":"Available languages: en, fr"} OPPORTUNITIES AND EMBRACE existing web infrastructure THE WEB Inside & Out SERVER ERROR DISCLAMER This Reference Card doesn’t claim to be absolutely accurate. The The request seems right, but a problem occurred on the server. The client cannot do anything about that. design concepts exposed result from our previous work in the REST area. Please check out our blog http://blog.octo.com, and feel free GET /users to comment or challenge this API cookbook. We are really looking 500 Internal Server Error → 500 Internal server error forward to sharing with you. → {"error":"server_error", "error_description":"Oops! Something went wrong…"} [email protected] WWW.OCTO.COM General concepts URLs nouns verbs user(s) KISS GRANULARITY SECURITY NOUNS PLURALS CRUD-LIKE OPERATIONS You should use nouns, not verbs (vs SOAP-RPC). You should use plural nouns, not singular Anyone should be able to use your API without Medium grained resources Use HTTP verbs for CRUD operations (Create/Read/Update/Delete). OAuth2/OIDC & HTTPS GET /orders not /getAllOrders nouns, to manage two different types of having to refer to the documentation. You should use medium grained, not fine nor coarse. Resources shouldn’t be nested more You should use OAuth2 to manage Authorization. resources: HTTP VERB COLLECTION: /ORDERS INSTANCE : /ORDER/{ID} Use standard, concrete and shared terms, OAuth2 matches 99% of requirements and client than two levels deep: Collection resource: /users not your specific business terms or acronyms. typologies, don’t reinvent the wheel, you’ll fail. Instance resource: GET Read a list of orders. 200 OK. Read the details of a single order. 200 OK. You should use HTTPS for every API/OAuth2 /users/007 Never allow application developers to do You should remain consistent. Create a new order. 201 Created. - request. You may use OpenID Connect to HIERARCHICAL POST things more than one way. GET /users/007 not GET /user/007 handle Authentication. PUT - Full Update: 200 OK./ Create a specific order: STRUCTURE 201 Created. Design your API for your clients (Application GET /users/007 developers), not for your data. PATCH - Partial Update. 200 OK. { "id”:"007", You should leverage the hierarchical nature Target main use cases first, deal with "first_name”:"James", of the URL to imply structure (aggregation or DELETE - Delete order. 204 OK. composition). Ex: an order contains products. exceptions later. "name":"Bond", www. API DOMAIN "address":{ GET /orders/1234/products/1 GET /orders, GET /users, GET /products, ... VERSIONING "street":”Horsen Ferry Road", NAMES POST is used to Create an instance of a collection. PUT is used for Updates to perform a full The ID isn’t provided, and the new resource replacement. ”city":{"name":"London"} You should make versioning mandatory in the You may consider the following five location is returned in the “Location” Header. } URL at the highest scope (major versions). } subdomains: CONSISTENT You may support at most two versions at the Production: https://api.fakecompany.com same time (Native apps need a longer cycle). PUT /orders/1234 {"state":"paid", "id_user":"007"} CASE POST /orders {"state":"running", «id_user":"007"} 200 Ok Test: https://api.sandbox.fakecompany.com GET /v1/orders 201 Created Developer portal: You may choose between snake_case or Location: https://api.fakecompany.com/orders/1234 CURL GET is used to Read a collection. https://developers.fakecompany.com camelCase for attributes and parameters, Production: but you should remain consistent. But remember that, if the ID is specified by You should use CURL to share examples, https://oauth2.fakecompany.com Test: the client, PUT is used to Create the resource. which you can copy/paste easily. https://oauth2.sandbox.fakecompany.com GET /orders /V1/ /V2/ 200 Ok [{"id":"1234", "state":"paid"} GET /orders?id_user=007 PUT /orders/1234 {"id":"5678", "state":"running"}] or GET /orders?idUser=007 201 Created CURL –X POST \ POST/orders {"id_user":"007"} or POST/orders {"idUser":"007"} GET is used to Read an instance. -H "Accept: application/json" \ PATCH is commonly used for partial Update. -H "Authorization: Bearer at-80003004-19a8-46a2-908e-33d4057128e7" \ -d ‘{"state":"running"}’ \ If you have to use more than one word in URL, you should use spinal-case (some servers /V3/ /V4/ GET /orders/1234 https://api.fakecompany.com/v1/users/007/orders?client_id=API_KEY_003 ignore case). PATCH /orders/1234 {"state":"paid"} 200 Ok 200 Ok {"id":"1234", "state":"paid"} POST /specific-orders Query strings Other key concepts URL RESERVED PARTIAL WORDS : CONTENT SEARCH I18N “NON RESOURCE” RESPONSES FIRST, LAST, COUNT NEGOTIATION SCENARIOS You should use /search keyword to perform You should use partial responses so Use /first to get the 1st element Use ISO 8601 standard for Date/Time/Timestamp: Content negotiation is managed only in a pure In a few use cases we have to consider operations a search on a specific resource. RESTful way. The client asks for the required developers can select which information they 1978-05-10T06:06:06+00:00 or 1978-05-10 or services rather than resources. GET /restaurants/search?type=thai need, to optimize bandwidth (crucial for content, in the Accept header, in order of You may use the “Google way” to perform a Add support for different Languages. You may use a POST request with a verb at the mobile development). preference. Default format is JSON. global search on multiple resources. Accept-Language: fr-CA, fr-FR not ?language=fr end of the URI. GET /orders/first Accept: application/json, text/plain not /orders.json GET /search?q=running+paid 200 OK {"id":"1234", "state":"paid"} GET /users/007?fields=firstname,name,address(street) POST /emails/42/send 200 OK POST /calculator/sum [1,2,3,5,8,13,21] { "id":"007", POST /convert?from=EUR&to=USD&amount=42 Use /last to retrieve the latest resource of a CROSS-ORIGIN FILTERS "firstname":"James", collection However, you should consider using RESTful "name":"Bond", REQUESTS resources first before going this way. You ought to use ‘?’ to filter resources address:{"street":"Horsen Ferry Road"} RESTFUL WAY GET /orders?state=payed&id_user=007 } Use CORS standard to support REST API or (multiple URIs may refer to the same resource) GET /orders/last requests from browsers (js SPA…).
Recommended publications
  • Proxysg Log Fields and Substitutions
    ProxySG Log Fields and Substitutions Version 6.5.x through 7.3.x Guide Revision: 12/10/2020 Symantec Corporation - SGOS 6.x and 7.x Legal Notice Broadcom, the pulse logo, Connecting everything, and Symantec are among the trademarks of Broadcom. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries. Copyright © 2020 Broadcom. All Rights Reserved. The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries. For more information, please visit www.broadcom.com. Broadcom reserves the right to make changes without further notice to any products or data herein to improve reliability, function, or design. Information furnished by Broadcom is believed to be accurate and reliable. However, Broadcom does not assume any liability arising out of the application or use of this information, nor the application or use of any product or circuit described herein, neither does it convey any license under its patent rights nor the rights of others. Thursday, December 10, 2020 2 of 182 sample-title Table of Contents "About this Document" on the next page Commonly Used Fields: n "Client/Server Bytes" on page 6 n "Connection Details" on page 9 n "DNS" on page 26 n "HTTP" on page 28 n "Request Headers" on page 29 n "Response Headers" on page 63 n "Request/Response Status" on page 102 n "SSL " on page 116 n "Time" on page 123 n "URL" on page 134 n "User Authentication" on page 145 n "WAF" on page 152 Additional Fields: n "CIFS " on page 155 n "MAPI and Office 365" on page 160 n "P2P Connections" on page 163 n "Special Characters" on page 164 n "Streaming Media" on page 167 n "WebEx Proxy" on page 175 "Substitution Modifiers" on page 176 n "Timestamp Modifiers" on page 177 n "String Modifiers " on page 179 n "Host Modifiers" on page 182 3 of 182 Symantec Corporation - SGOS 6.x and 7.x About this Document This document lists all valid ELFF and CPL substitutions for ELFF log formats, and some custom values for custom log formats.
    [Show full text]
  • BG95&BG77 HTTP(S) Application Note
    BG95&BG77 HTTP(S) Application Note LPWA Module Series Rev. BG95&BG77_HTTP(S)_Application_Note_V1.0 Date: 2019-08-12 Status: Released www.quectel.com LPWA Module Series BG95&BG77 HTTP(S) Application Note Our aim is to provide customers with timely and comprehensive service. For any assistance, please contact our company headquarters: Quectel Wireless Solutions Co., Ltd. Building 5, Shanghai Business Park Phase III (Area B), No.1016 Tianlin Road, Minhang District, Shanghai, China 200233 Tel: +86 21 5108 6236 Email: [email protected] Or our local office. For more information, please visit: http://www.quectel.com/support/sales.htm For technical support, or to report documentation errors, please visit: http://www.quectel.com/support/technical.htm Or email to: [email protected] GENERAL NOTES QUECTEL OFFERS THE INFORMATION AS A SERVICE TO ITS CUSTOMERS. THE INFORMATION PROVIDED IS BASED UPON CUSTOMERS’ REQUIREMENTS. QUECTEL MAKES EVERY EFFORT TO ENSURE THE QUALITY OF THE INFORMATION IT MAKES AVAILABLE. QUECTEL DOES NOT MAKE ANY WARRANTY AS TO THE INFORMATION CONTAINED HEREIN, AND DOES NOT ACCEPT ANY LIABILITY FOR ANY INJURY, LOSS OR DAMAGE OF ANY KIND INCURRED BY USE OF OR RELIANCE UPON THE INFORMATION. ALL INFORMATION SUPPLIED HEREIN IS SUBJECT TO CHANGE WITHOUT PRIOR NOTICE. COPYRIGHT THE INFORMATION CONTAINED HERE IS PROPRIETARY TECHNICAL INFORMATION OF QUECTEL WIRELESS SOLUTIONS CO., LTD. TRANSMITTING, REPRODUCTION, DISSEMINATION AND EDITING OF THIS DOCUMENT AS WELL AS UTILIZATION OF THE CONTENT ARE FORBIDDEN WITHOUT PERMISSION. OFFENDERS WILL BE HELD LIABLE FOR PAYMENT OF DAMAGES. ALL RIGHTS ARE RESERVED IN THE EVENT OF A PATENT GRANT OR REGISTRATION OF A UTILITY MODEL OR DESIGN.
    [Show full text]
  • Character Encoding Issues for Web Passwords
    and ÆÆÆ码码码 ,סיסמאות! ˜,Of contrasenas Character encoding issues for web passwords Joseph Bonneau Rubin Xu Computer Laboratory Computer Laboratory University of Cambridge University of Cambridge [email protected] [email protected] Abstract—Password authentication remains ubiquitous on of that wording. This process is prone to failure and usability the web, primarily because of its low cost and compatibility studies suggest that a significant number of users will be un- with any device which allows a user to input text. Yet text is not able to use a password they remember conceptually because universal. Computers must use a character encoding system to convert human-comprehensible writing into bits. We examine they cannot reproduce the precise representation [33]. for the first time the lingering effects of character encoding A further conversion must take place to convert the on the password ecosystem. We report a number of bugs at abstract concept of “text” into a sequence of bits suitable large websites which reveal that non-ASCII passwords are often for computer manipulation. For example, the letter m at the poorly supported, even by websites otherwise correctly sup- beginning of the password above is commonly represented porting the recommended Unicode/UTF-8 character encoding system. We also study user behaviour through several leaked using the eight bits 01101101. This process is known as data sets of passwords chosen by English, Chinese, Hebrew character encoding and, despite decades of work towards and Spanish speakers as case studies. Our findings suggest a universal standard, there remain dozens of schemes in that most users still actively avoid using characters outside of widespread use to map characters into sequences of bits.
    [Show full text]
  • Introduction
    HTTP Request Smuggling in 2020 – New Variants, New Defenses and New Challenges Amit Klein SafeBreach Labs Introduction HTTP Request Smuggling (AKA HTTP Desyncing) is an attack technique that exploits different interpretations of a stream of non-standard HTTP requests among various HTTP devices between the client (attacker) and the server (including the server itself). Specifically, the attacker manipulates the way various HTTP devices split the stream into individual HTTP requests. By doing this, the attacker can “smuggle” a malicious HTTP request through an HTTP device to the server abusing the discrepancy in the interpretation of the stream of requests and desyncing between the server’s view of the HTTP request (and response) stream and the intermediary HTTP device’s view of these streams. In this way, for example, the malicious HTTP request can be "smuggled" as a part of the previous HTTP request. HTTP Request Smuggling was invented in 2005, and recently, additional research cropped up. This research field is still not fully explored, especially when considering open source defense systems such as mod_security’s community rule-set (CRS). These HTTP Request Smuggling defenses are rudimentary and not always effective. My Contribution My contribution is three-fold. I explore new attacks and defense mechanisms, and I provide some “challenges”. 1. New attacks: I provide some new HTTP Request Smuggling variants and show how they work against various proxy-server (or proxy-proxy) combinations. I also found a bypass for mod_security CRS (assuming HTTP Request Smuggling is possible without it). An attack demonstration script implementing my payloads is available in SafeBreach Labs’ GitHub repository (https://github.com/SafeBreach-Labs/HRS).
    [Show full text]
  • Get Data from Post Request Node Js
    Get Data From Post Request Node Js Sabbathless Parker equalizing his petcocks dry-clean troublously. Ablaze Aubert always journalizes his rattening if Hersh is Swadeshi or retted certifiably. Immethodical Joab imbodies some Poznan and befogged his vermicides so unfashionably! Before executing the database to request data from post request is supposed to The comments should delight you rather the code well var posthandle functionrequest response if requestmethod 'POST' did all. Nodejs Handling POST Requests nodejs Tutorial. In the JS file we'd smile to make a patio we can reference node-fetch. Stringify version of our body can we created earlier in the code headers the header data we attach to sample on simple request Node-Fetch is promise. Contrary until the Nodejs implementation it left not guaranteed that early content and been. Post event Data With Axios Mastering JS. Expressjs Web Application TutorialsTeacher. In order to get data using a traditional react to finish rendering and servers? The Http Client in angularcommonHTTP offers a simplified client HTTP API for. I value a nodejs app where some wanted our unit test some HTTP requests. Email address already takes a get data from server and location of this js application with no new ideas to. Express post request query parameters are evidence by HTTP clients by forms. Find out stern to extract the knowledge sent as JSON through an HTTP request body using Node. How please Use Axios to Make HTTP Requests GET either and. Server from node js and post request gets a tricky question for getting the name is the one.
    [Show full text]
  • Rcurl: General Network (HTTP/FTP/...) Client Interface for R
    Package ‘RCurl’ September 17, 2021 Version 1.98-1.5 Title General Network (HTTP/FTP/...) Client Interface for R SystemRequirements GNU make, libcurl Description A wrapper for 'libcurl' <https://curl.se/libcurl/> Provides functions to allow one to compose general HTTP requests and provides convenient functions to fetch URIs, get & post forms, etc. and process the results returned by the Web server. This provides a great deal of control over the HTTP/FTP/... connection and the form of the request while providing a higher-level interface than is available just using R socket connections. Additionally, the underlying implementation is robust and extensive, supporting FTP/FTPS/TFTP (uploads and downloads), SSL/HTTPS, telnet, dict, ldap, and also supports cookies, redirects, authentication, etc. License BSD_3_clause + file LICENSE Depends R (>= 3.4.0), methods Imports bitops Suggests XML Collate aclassesEnums.R bitClasses.R xbits.R base64.R binary.S classes.S curl.S curlAuthConstants.R curlEnums.R curlError.R curlInfo.S dynamic.R form.S getFormParams.R getURLContent.R header.R http.R httpError.R httpErrors.R iconv.R info.S mime.R multi.S options.S scp.R support.S upload.R urlExists.R zclone.R zzz.R NeedsCompilation yes Author CRAN Team [ctb, cre] (de facto maintainer since 2013), Duncan Temple Lang [aut] (<https://orcid.org/0000-0003-0159-1546>) Maintainer CRAN Team <[email protected]> Repository CRAN Date/Publication 2021-09-17 06:19:14 UTC 1 2 R topics documented: R topics documented: AUTH_ANY . .3 base64 . .3 basicHeaderGatherer . .5 basicTextGatherer . .7 binaryBuffer . 10 CFILE . 11 chunkToLineReader . 12 clone .
    [Show full text]
  • SSRF Bible. Cheatsheet
    SSRF bible. Cheatsheet Revision 1.03 26 Jan 2017 Authors: @Wallarm @d0znpp research team Wallarm.com|lab.wallarm.com ​ ​ Try our new product. Wallarm FAST: security tests from traffic ​ ​ https://wallarm.com/wallarm-fast/ wallarm.com 1 Table of contents Table of contents Basics Typical attack steps File Descriptors exploitation way URL schema support Protocols SSRF smuggling Smuggling examples Apache web-server HTTP parser Nginx web-server HTTP parser Vulnerabilities Basics Examples Google Docs ZeroNights hackquest challenge Exploitation tricks Bypassing restrictions Input validation Unsafe redirect DNS pinning DNS pinning race condition PHP fsockopen() url parsing tricks Network restrictions Protocol fingerprinting Examples HTTP Memcached Retrieving data Examples HTTP response encapsulation into XML formatted response Console cURL wildcards URL responses concatenation SMBRelay exploitation Original request data sniffing Examples Memcached wallarm.com 2 Exploits PHP-FPM Syslog Exploits Zabbix agentd Exploits Postgres Exploits MongoDB Redis CouchDB Exploits FFmpeg References Tools Researches wallarm.com 3 Basics SSRF - Server Side Request Forgery attacks. The ability to create requests from the vulnerable server to intra/internet. Using a protocol supported by available URI schemas, you can communicate with services running on other protocols. Here we collect the various options and examples (exploits) of such interaction. See for introduction related researches. ​ ​ Typical attack steps 1. Scan internal network to determine internal infrastructure which you may access 2. Collect opened ports at localhost and other internal hosts which you want (basically by time-based determination) 3. Determine services/daemons on ports using wiki or daemons banners (if you may watch ​ ​ output) 4. Determine type of you SSRF combination: ○ Direct socket access (such as this example) ​ ​ ○ Sockets client (such as java URI, cURL, LWP, others) 5.
    [Show full text]
  • Context Request Cookies Add
    Context Request Cookies Add Dunc is filthiest: she air-condition implicatively and incensing her Lindisfarne. Is Anurag ingrate or loricate when refurnishes some jigs wash-outs anticipatorily? If invincible or befouled Finn usually disarrays his godmothers hypersensitised indistinguishably or bellylaugh exchangeably and unrecognisable, how transformed is Nathanil? In the server is to add context cookies are separated by accessing restricted content Other iterables yielding byte strings are not joined because money may produce too big and fit improve memory. You propose also subclass the Response class to implement his own functionality. For those using web forms and vb. HTTP GET more an idempotent method that returns a resource from below given URL. If there is a parsley root associated with the flaw, the best root network is included within the traversal path. This dispute be used to gracefully shutdown connections that have undergone ALPN protocol upgrade or bishop have been hijacked. Useful avoid the new medicine is a special case what an existing tag. These virtual attributes return unicode strings, even if there value goes missing or unicode decoding fails. Do have post message bit in the dom has loaded. Register create custom template filter. For each handled request, the tracer shows the swirl of rules and actions that were carried out, open the changes made green the fist request at each step across the sequence. Response occasion the coach Request. The actual WSGI application. National Academy of Sciences. You perhaps not logged in. Click will be handle exceptions and twirl them some error messages and the function will never visit but roll down your interpreter.
    [Show full text]
  • The Abcs of PROC HTTP, Joseph Henry
    Paper SAS3232-2019 The ABCs of PROC HTTP Joseph Henry, SAS Institute Inc., Cary, NC ABSTRACT Hypertext Transfer Protocol (HTTP) is the foundation of data communication for the World Wide Web, which has grown tremendously over the past generation. Many applications now exist entirely on the web, using web services that use HTTP for communication. HTTP is not just for browsers since most web services provide an HTTP REST API as a means for the client to access data. Analysts frequently find themselves in a situation where they need to communicate with a web service or application from within a SAS® environment, which is where the HTTP procedure comes in. PROC HTTP makes it possible to communicate with most services, coupling your SAS® system with the web. Like the web, PROC HTTP continues to evolve, gaining features and functionality with every new release of SAS®. This paper will dive into the capabilities found in PROC HTTP allowing you to get the most out of this magnificent procedure. INTRODUCTION PROC HTTP is a powerful SAS procedure for creating HTTP requests. HTTP is the underlying protocol used by the World Wide Web, but it is not just for accessing websites anymore. Web-based applications are quickly replacing desktop applications, and HTTP is used for the communication between client and server. PROC HTTP can be used to create simple web requests or communicate with complex web applications and you just need to know how. This paper goes into detail about the features, capabilities, and limitations of PROC HTTP, and which release of SAS® those are associated with.
    [Show full text]
  • Httpclient-Tutorial.Pdf
    HttpClient Tutorial Oleg Kalnichevski Jonathan Moore Jilles van Gurp Preface .................................................................................................................................... iv 1. HttpClient scope .......................................................................................................... iv 2. What HttpClient is NOT .............................................................................................. iv 1. Fundamentals ....................................................................................................................... 1 1.1. Request execution ...................................................................................................... 1 1.1.1. HTTP request .................................................................................................. 1 1.1.2. HTTP response ............................................................................................... 2 1.1.3. Working with message headers ........................................................................ 2 1.1.4. HTTP entity .................................................................................................... 3 1.1.5. Ensuring release of low level resources ............................................................ 5 1.1.6. Consuming entity content ................................................................................ 6 1.1.7. Producing entity content .................................................................................. 6 1.1.8. Response
    [Show full text]
  • Hyperlink Documentation Release 20.0.1
    hyperlink Documentation Release 20.0.1 Mahmoud Hashemi January 08, 2021 Contents 1 Installation and Integration 3 2 Gaps 5 3 Table of Contents 7 3.1 Hyperlink Design.............................................7 3.2 Hyperlink API..............................................9 3.3 FAQ.................................................... 19 Python Module Index 21 Index 23 i ii hyperlink Documentation, Release 20.0.1 Cool URLs that don’t change. Hyperlink provides a pure-Python implementation of immutable URLs. Based on RFC 3986 and RFC 3987, the Hyperlink URL balances simplicity and correctness for both URIs and IRIs. Hyperlink is tested against Python 2.7, 3.4, 3.5, 3.6, 3.7, 3.8, and PyPy. For an introduction to the hyperlink library, its background, and URLs in general, see this talk from PyConWeb 2017 (and the accompanying slides). Contents 1 hyperlink Documentation, Release 20.0.1 2 Contents CHAPTER 1 Installation and Integration Hyperlink is a pure-Python package and only depends on the standard library. The easiest way to install is with pip: pip install hyperlink Then, URLs are just an import away: import hyperlink url= hyperlink.parse(u'http://github.com/python-hyper/hyperlink?utm_ ,!source=readthedocs') better_url= url.replace(scheme=u'https', port=443) org_url= better_url.click(u'.') print(org_url.to_text()) # prints: https://github.com/python-hyper/ print(better_url.get(u'utm_source')[0]) # prints: readthedocs See the API docs for more usage examples. 3 hyperlink Documentation, Release 20.0.1 4 Chapter 1. Installation and Integration CHAPTER 2 Gaps Found something missing in hyperlink? Pull Requests and Issues are welcome! 5 hyperlink Documentation, Release 20.0.1 6 Chapter 2.
    [Show full text]
  • Deploying the BIG-IP System with Microsoft Sharepoint
    F5 Deployment Guide Deploying the BIG-IP System with Microsoft SharePoint Welcome to the F5 deployment guide for Microsoft® SharePoint®. This document contains guidance on configuring the BIG-IP system version 11.4 and later for Microsoft SharePoint 2010 and 2013 implementations, resulting in a secure, fast, and available deployment. This guide shows how to quickly and easily configure the BIG-IP system using the SharePoint iApp Application template. There is also an appendix with manual configuration tables for users who prefer to create each individual object. Why F5? F5 offers a complete suite of application delivery technologies designed to provide a highly scalable, secure, and responsive SharePoint deployment. In addition, the F5 solution for SharePoint Server includes management and monitoring features to support a cloud computing infrastructure. • F5 can reduce the burden on servers by monitoring SharePoint Server responsiveness across multiple ports and protocols, driving intelligent load balancing decisions. • The BIG-IP Access Policy Manager, F5’s high-performance access and security solution, can provide proxy authentication and secure remote access to Microsoft SharePoint. • Access Policy Manager enables secure mobile device access management, as well as pre-authentication to SharePoint. • CPU-intensive operations such as compression, caching, and SSL processing can be offloaded onto the BIG-IP system, which can extend SharePoint Server capacity by 25%. • F5 WAN optimization technology can dramatically increase SharePoint performance. • F5 enables organizations to achieve dramatic bandwidth reduction for remote office SharePoint users. • F5 protects SharePoint deployments that help run your business with powerful application-level protection, as well as network- and protocol-level security.
    [Show full text]