주 메뉴 열기

wwiki β

바뀜

HTTP

3,412 바이트 추가됨, 2023년 10월 27일 (금) 08:17
X-Forwarded-Proto (XFP)
== 메시지 포맷 ==
[https://ko.wikipedia.org/wiki/HTTP#메시지_포맷 https://ko.wikipedia.org/wiki/HTTP#메시지 포맷]
 
=== 요청 메시지 ===
요청 내용과 헤더는 <CR><LF>로 끝나야 한다.
 
==== 요청 내용 ====
GET /images/logo.gif HTTP/1.1
 
===== 메서드 =====
https://developer.mozilla.org/ko/docs/Web/HTTP/Methods
 
====== HEAD ======
<code>HEAD</code> 메서드는 <code>GET</code> 메서드의 요청과 동일한 응답을 요구하지만, 응답 본문을 포함하지 않습니다.
 
====== PUT ======
목적 리소스 모든 현재 표시를 요청 payload로 바꿉니다.
 
====== CONNECT ======
목적 리소스로 식별되는 서버로의 터널을 맺습니다.
 
====== OPTIONS ======
목적 리소스의 통신을 설정하는 데 쓰입니다.
 
목적 리소스에서 지원되는 옵션을 보여주라는 뜻??
 
====== TRACE ======
목적 리소스의 경로를 따라 메시지 loop-back 테스트를 합니다.
 
====== PATCH ======
리소스의 부분만을 수정하는 데 쓰입니다.
 
==== 헤더 ====
Accept-Language: en
{| class="wikitable"
|+요약표
!HTTP 메서드
!RFC
!요청에 BODY가 있나?
!응답에 BODY가 있나?
!안전
!Idempotent
!캐시 가능?
|-
|GET
|
|
|
|
|
|
|-
|HEAD
|
|
|
|
|
|
|-
|POST
|
|
|
|
|
|
|-
|PUT
|
|
|
|
|
|
|-
|DELETE
|
|
|
|
|
|
|-
|CONNECT
|
|
|
|
|
|
|-
|OPTIONS
|
|
|
|
|
|
|-
|TRACE
|
|
|
|
|
|
|-
|PATCH
|
|
|
|
|
|
|}
 
=== 응답 메시지 ===
 
==== 상태표시 ====
status code+reason message
 
''HTTP/1.1 200 OK''.
 
==== 응답 헤더 ====
''Content-Type: text/html''
 
== 헤더 ==
출처: https://developer.mozilla.org/ko/docs/Web/HTTP/Headers
 
=== Accept-Language ===
어떤 언어를 클라이언트가 이해할 수 있는지, 그리고 지역 설정 중 어떤 것이 더 선호되는지를 알려줍니다.
=== Host ===
Host헤더의 필드는 HTTP/1.1 요청 메시지에 포함되어 전송되어야 한다. 없거나 한 개 이상이면 400(Bad Request) 상태코드가 전송될 것이다.
 
=== Connection ===
현재의 전송이 완료된 후에 네트워크 접속을 유지할지 말지 제어한다. keep-alive면 연결이 지속되고, 동일한 서버에 대한 요청을 수행할 수 있다.
Connection과 Keep-Alive와 같은 연결-지정 헤더 필드는 HTTP/2에서 금지되어 있다. 크롬과 파이어폭스는 무시하지만, 사파리는 해당 필드가 포함되어 있으면 응답을 처리하지 않는다.
표준 홉 간 헤더인 (Keep-Alive, Transfer-Encoding, TE (en-US), Connection, Trailer (en-US), Upgrade (en-US), Proxy-Authorization (en-US) 그리고 Proxy-Authenticate (en-US))를 제외하고, 메시지에 의해 사용되는 모든 홉 간 헤더들이 Connection 헤더 내에 연결되기에, 첫번째 프록시는 자신이 해당 헤더들을 소비해야 하며 포워드해서는 안된다는 것을 알게 됩니다.
=== X-Forwarded-Proto (XFP) ===
클라이언트(ex. 브라우저)와 프록시 또는 로드 밸런서에 접속하는데 사용했던 프로토콜(http, https)을 설정한다.
 
nginx의 경우에는 [[Nginx#proxy set header|proxy_set_header]]로 설정한다.
=== X-Forwarded-For (XFF) ===
HTTP 프록시나 로드 밸런서를 통해 웹 서버에 접속하는 클라이언트의 원 IP 주소를 식별하는 사실상의 표준 헤더다. 클라이언트와 서버 중간에서 트래픽이 프록시나 로드 밸런서를 거치면, 서버 접근 로그에는 프록시나 로드 밸런서의 IP 주소만을 담고 있다. 클라이언트의 원 IP 주소를 보기위해 X-Forwarded-For 요청 헤더가 사용된다.
X-Forwarded-For: 203[아이피주소] === X-Forwarded-Host (XFH) ===HTTP 요청 헤더에서 클라이언트가 요청한 원래 <code>Host</code> 헤더를 식별하는 사실상의 표준 헤더입니다. === X-Real-IP ===X-Forwarded-For와 동일하다.0mdn에 올라오지 않을 걸로 봐서는 사실상 표준도 아닌 것으로 보인다.113 === ETag ===ETag HTTP 응답 헤더는 특정 버전의 리소스를 식별하는 식별자입니다.195출처ETag = "ETag" ": https" entity-tag ExamplesETag: "xyzzy" ETag: W//developer.mozilla.org/ko/docs/Web/HTTP/Headers/X"xyzzy" ETag: "" == 보안 == === Strict-ForwardedTransport-ForSecurity ===HSTS라고도 하며, HTTP 대신 HTTPS만을 사용하도록 설정 ==== Preloading Strict Transport Security ====구글의 preload service를 허용하는 설정이다.
== 에러코드 ==
편집
2,431