HTTP 메시지 구성
1) Request
(1) 요청 라인
- 요청 메소드(GET, POST, PUT, DELETE)
- 요청 URL
- HTTP 버전
(2) 요청 헤더
(3) 요청 바디(Entity)
2) Response
(1) 응답 라인
- 버전
- 상태 코드
- 상태 메시지
(2) 응답 헤더
(3) 응답 바디
-HTML, XML 등
HTTP 헤더 내 일반 헤더(General Header) 항목
- 요청 및 응답 메시지 모두에서 사용 가능한 일반 목적의 헤더 항목
1) Date
- HTTP 메시지를 생성한 일시
2) Connection
- 클라이언트와 서버 간 연결에 대한 옵션 설정
3) Content-type
- 해당 개체에 포함되는 미디어 타입 정보
- 컨텐츠의 타입 및 문자 인코딩 방식 지정
4) Content-length
- 전달되는 해당 개체의 바이트 길이 또는 크기
5) Content-language
- 해당 개체와 가장 잘 어울리는 사용자 언어(자연어)
6) Content-location
- 해당 개체가 실제 저장되어있는 위치
7) Content-Disposition
- 응당 Body를 브라우저가 어떻게 표시할 지 알려주는 헤더
8) Content-Security-Policy
- 다른 외부 파일들을 불러오는 경우, 차단할 소스와 불러올 소스 명시
- XSS 공격에 대한 방어 가능
9) Location
- redirect될 주소
HTTP 헤더 내 요청 헤더(Request Header) 항목
- 요청 헤더는 HTTP 요청 메시지 내에서만 나타나며, 가장 방대
1) Host
- 요청하는 호스트에 대한 호스트명 및 포트번호
2) User-Agent
- 클라이언트 소프트웨어(브라우저 및 OS) 명칭과 버전 정보
3) Cookie
- 서버에 의해 Set-Cookie로 설정된 클라이언트의 쿠키 정보
4) Referer
- 바로 직전에 머물렀던 웹 링크 주소
- CSRF 공격을 막기 위한 Referer 검증에 사용됨
5) Authorization
- 인증 토큰(JWT/Bearer 토큰 등)을 서버로 보낼 때 사용
6) Origin
- POST 요청을 보낼 시, 요청이 어느 주소에서 시작되었는지 표시
- 요청을 보낸 주소와 받는 주소가 다르면 CORS 에러 발생
HTTP 헤더 내 응답 헤더(Response Header) 항목
1) Server
- 서버 소프트웨어 정보
2) Set-Cookie
- 서버 측에서 클라이언트에게 부여하는 쿠키 정보
3) Expires
- 리소스 캐시 만료 일시
4) Allow
- 해당 엔티티에 대해 서버 측에서 지원 가능한 HTTP 메소드의 리스트
5) Access-Control-Allow-Origin
- CORS 요청을 허용하는 도메인
'CS > Network' 카테고리의 다른 글
[네트워크] 오류 제어(Error Control) (0) | 2020.06.26 |
---|---|
[네트워크] HTTP Request/Response (0) | 2020.06.26 |
[네트워크] HTTP와 HTTPS (0) | 2020.06.24 |
[네트워크] TCP(Transport Control Protocol) (0) | 2020.06.24 |
[네트워크]TCP와 UDP (0) | 2020.06.24 |
댓글