주 메뉴 열기

wwiki β

바뀜

HTTP

1,365 바이트 추가됨, 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
클라이언트(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: [아이피주소]
 
=== X-Forwarded-Host (XFH) ===
HTTP 요청 헤더에서 클라이언트가 요청한 원래 <code>Host</code> 헤더를 식별하는 사실상의 표준 헤더입니다.
=== X-Real-IP ===
X-Forwarded-For와 동일하다. mdn에 올라오지 않을 걸로 봐서는 사실상 표준도 아닌 것으로 보인다.
== Request Method ==https://developer.mozilla.org/ko/docs/Web/HTTP/Methods === GET ETag ===ETag HTTP 응답 헤더는 특정 리소스의 표시를 요청합니다버전의 리소스를 식별하는 식별자입니다=== HEAD ===<code>GET</code> 메서드의 요청과 동일한 응답을 요구하지만, 응답 본문을 포함하지 않습니다. === POST === === PUT ===
ETag === DELETE ==="ETag" ":" entity-tag
=== CONNECT ===목적 리소스로 식별되는 서버로의 터널을 맺습니다.Examples:
=== OPTIONS ===목적 리소스의 통신을 설정하는 데 쓰입니다.ETag: "xyzzy"
=== TRACE ===목적 리소스의 경로를 따라 메시지 loop-back 테스트를 합니다.ETag: W/"xyzzy"
=== PATCH ===리소스의 부분만을 수정하는 데 쓰입니다.ETag: ""
== 보안 ==
편집
2,431