22 Haziran 2018 Cuma

Http Cevap Parametreleri - Response Header Fields

Giriş
Liste şöyle. Bu parametreler sadece cevap ile kullanılır.

Accept-Ranges Parametresi
Örnek ver

Age Parametresi
Örnek ver

Cache-Control Parametresi
Cache-Control parametresi hem request hem de response ile kullanılabilir. Response ile kullanırken şu değerleri alabilir
Cache-Control: must-revalidate
Cache-Control: no-cache
Cache-Control: no-store
Cache-Control: no-transform
Cache-Control: public
Cache-Control: private
Cache-Control: proxy-revalidate
Cache-Control: max-age=<seconds>
Cache-Control: s-maxage=<seconds>
no-store ise sunucu tarayıcının cache'lemesini istemiyordur.
private
 Şöyledir.
HTTP/1.1 200 OK
Cache-Control: private
...
Content-Encoding Parametresi - Sıkıştırma İçindir
Bu alan gzip, deflate, br değeri alabiliyor
Örnek
gzip şöyle
Content-encoding: gzip
Tüm istek şöyle
HTTP/1.1 200 OK
Date: Mon, 29 Sep 2014 10:43:29 GMT
Content-Type: text/html
Transfer-Encoding: chunked
X-Powered-By: VideoHosting Framework/1.0.1
Cache-Control: no-cache, must-revalidate, no-cache="Set-Cookie", private
Content-Encoding: gzip
Vary: Accept-Encoding
Server: Videohost/1.0.1
İsteği gönderen tarafın da Accept-encoding: gzip göndermesi gerekir. Çoğu modern tarayıcı gzip sıkıştırmasını açabildiği için sorun olmaz.

ETag Parametresi
Örnek ver

Location Parametresi
Örnek ver

Proxy-Authenticate Parametresi
Örnek ver

Retry-After Parametresi
Açıklaması şöyle
Servers send the "Retry-After" header field to indicate how long the user agent ought to wait before making a follow-up request.  

When sent with a 503 (Service Unavailable) response, Retry-After indicates how long the service is expected to be unavailable to the client.

When sent with any 3xx (Redirection) response, Retry-After indicates the minimum time that the user agent is asked to wait before issuing the redirected request.

The value of this field can be either an HTTP-date or a number of seconds to delay after the response is received.
Server Parametresi
Örnek ver

Strict-Transport-Security Parametresi
HTTP Strict Transport Security yazısına taşıdım

Vary Parametresi
Örnek ver

WWW-Authenticate Parametresi - Sunucu Doğrulama Yapmak İstediğini Belirtir
Açıklaması şöyle.
If the protected resource request does not include authentication credentials or does not contain an access token that enables access to the protected resource, the resource server MUST include the HTTP WWW-Authenticate response header field [...].
Sunucu doğrulama (authentication) yapmak isterse bu parametreyi kullanır. İstemci credentials bilgilerini Authorization parametresi ile gönderir.

Örnek
Sunucu tarayıcıya Basic authentication başlatmak için şöyle yapar. Tarayıcı popup gösterir.
WWW-Authenticate: Basic realm="myRealm"
Örnek
Sunucu tarayıcıya Digest authentication başlatmak için şöyle yapar. Tarayıcı popup gösterir.
WWW-Authenticate: Digest realm="...", qop="...", nonce="...", opaque="..."\r\n
Örnek
İstemci isteğinde token göndermezse, Sunucu 401 ve Bearer authentication hatası göndermek için şöyle yapar
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Bearer realm="example"
Eğer token'da hata varsa sunucu şöyle yapar.
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Bearer realm="example",
                         error="invalid_token",
                         error_description="The access token expired"
Bazen sunucu realm göndermez. O zaman şöyle yapar
HTTP/1.1 401
Set-Cookie: JSESSIONID=316DCFD55C302A8D69EFD865411DFA77; Path=/; HttpOnly
WWW-Authenticate: Bearer
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 0
Date: Thu, 09 Jan 2020 15:46:34 GMT
X İle Başlayan Parametreler
Açıklaması şöyle
There are also many custom headers that you will see frequently in your life as a developer. Here is a list of some that I’ve seen frequently:

1. X-Total-Count: This is a server-side header for pagination, and it gives you the total number of resources returned by your query. This way you can reflect how many pages of results remain for the user to browse.
2. X-Server: This is a server-side header to tell teh client which server is responding to the request, generally in the situation where load-balancing is occurring so the request could be from one of many servers.

3. X-Powered-By: This server side header communicated the technology of the server. Generally not recommended if security is a primary concern, but nevertheless commonly used.
X-Auth-Token Parametresi
"Token based authentication" için kullanılır. Authentication sonucu olumlu ise gönderilir. Standart bir header değildir. Açıklaması şöyle.
Please note that with X-Auth-Token being an unregistered header, it is subject to no formal specification and its presence and content is always tied to a respective application. No general assumptions can be made on it.
Şöyledir. Bu key/value değerleri daha sonra Http isteklerinde aynen kullanılır.
x-auth-token: 00661f53-8453-4daf-89f1-e748a3326040
XSRF-TOKEN Parametresi
Angular tarafından kullanılır. Sunucu ve istemci token'ı bu alan ile gönderir.

Hiç yorum yok:

Yorum Gönder