일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 역방향 반복자
- AWS
- 순열
- github action
- 스프링
- 분할정복
- 그래프
- 도커
- 그리드
- 재귀
- TCP
- 백준
- CI/CD
- 그리드 알고리즘
- 이분탐색
- 트리
- 자료구조
- GIT
- 다이나믹 프로그래밍
- HTTP
- 자바
- dfs
- 알고리즘
- BFS
- 분할 정복
- 컴퓨터 네트워크
- Spring
- 브루트포스
- 다이나믹프로그래밍
- SQL
- Today
- Total
코딩성장스토리
HTTP 헤더:일반 헤더 본문
HTTP 헤더
HTTP 전송에 필요한 모든 부가정보
- General 헤더: 메시지 전체에 적용되는 정보, 예) Connection: close
- Request 헤더: 요청 정보, 예) User-Agent: Mozilla/5.0 (Macintosh; ..)
- Response 헤더: 응답 정보, 예) Server: Apache
- Entity 헤더: 엔티티 바디 정보, 예) Content-Type: text/html, Content-Length: 3423
Content-Type: 표현 데이터의 형식
미디어 타입, 문자 인코딩
예) text/html; charset=utf-8 , application/json , image/png
Content-Encoding: 표현 데이터의 압축 방식
표현 데이터를 압축하기 위해 사용
데이터를 전달하는 곳에서 압축 후 인코딩 헤더 추가
데이터를 읽는 쪽에서 인코딩 헤더의 정보로 압축 해제
예) gzip , deflate , identity
Content-Language: 표현 데이터의 자연 언어
표현 데이터의 자연 언어를 표현
예) ko , en , en-US
Content-Length: 표현 데이터의 길이
바이트 단위
1.협상(콘텐츠 네고시에이션) 클라이언트가 선호하는 표현 요청 - 협상 헤더는 요청시에만 사용
- Accept: 클라이언트가 선호하는 미디어 타입 전달
- Accept-Charset: 클라이언트가 선호하는 문자 인코딩
- Accept-Encoding: 클라이언트가 선호하는 압축 인코딩
- Accept-Language: 클라이언트가 선호하는 자연 언어
협상과 우선순위1
Quality Values(q) 값 사용
0~1, 클수록 높은 우선순위
생략하면 1
Accept-Language: ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7
협상과 우선순위2
구체적인 것이 우선한다.
ex)1. text/plain;format=flowed
2. text/plain
3. text/*
4. */*
협상과 우선순위3
구체적인 것을 기준으로 미디어 타입을 맞춘다.
Accept: text/*;q=0.3, text/html;q=0.7, text/html;level=1, text/html;level=2;q=0.4, */*;q=0.5
2.전송 방식
단순 전송
Content-Length: 3423
압축 전송
Content-Encoding: gzip
분할 전송
Transfer-Encoding
범위 전송
Range, Content-Range: bytes 1001-2000 / 2000
3.일반 정보
From: 유저 에이전트의 이메일 정보
Referer: 이전 웹 페이지 주소
User-Agent: 유저 에이전트 애플리케이션 정보
Server: 요청을 처리하는 오리진 서버의 소프트웨어 정보
Date: 메시지가 생성된 날짜
4.특별한 정보
Host: 요청한 호스트 정보(도메인)
Location: 페이지 리다이렉션
Allow: 허용 가능한 HTTP 메서드
Retry-After: 유저 에이전트가 다음 요청을 하기까지 기다려야 하는 시간
5.인증
Authorization: 클라이언트 인증 정보를 서버에 전달
WWW-Authenticate: 리소스 접근시 필요한 인증 방법 정의
6.쿠키 -http가 무상태 프로토콜이라서 로그인을 해도 유지가 안된다. 그래서 쿠키 저장소에 저장한다음에 서버에 요청할때마다 쿠키에 있는 걸 꺼내서 보낸다.
Set-Cookie: 서버에서 클라이언트로 쿠키 전달(응답)
Cookie: 클라이언트가 서버에서 받은 쿠키를 저장하고, HTTP 요청시 서버로 전달
ex)set-cookie: sessionId=abcde1234; expires=Sat, 26-Dec-2020 00:00:00 GMT; path=/; domain=.google.com; Secure
쿠키 - 생명주기
Set-Cookie: expires=Sat, 26-Dec-2020 04:39:21 GMT
만료일이 되면 쿠키 삭제
Set-Cookie: max-age=3600 (3600초)
0이나 음수를 지정하면 쿠키 삭제
세션 쿠키: 만료 날짜를 생략하면 브라우저 종료시 까지만 유지
영속 쿠키: 만료 날짜를 입력하면 해당 날짜까지 유지
쿠키 - 도메인
명시: 명시한 문서 기준 도메인 + 서브 도메인 포함
domain=example.org를 지정해서 쿠키 생성
생략: 현재 문서 기준 도메인만 적용
example.org 에서 쿠키를 생성하고 domain 지정을 생략
쿠키 - 경로
이 경로를 포함한 하위 경로 페이지만 쿠키 접근
쿠키 - 보안
Secure, HttpOnly, SameSite
'웹(HTTP)' 카테고리의 다른 글
HTTP 헤더-캐쉬와 조건부 요청 (0) | 2022.01.18 |
---|---|
HTTP 상태코드 (0) | 2022.01.12 |
HTTP 메서드 활용 (0) | 2022.01.06 |
HTTP 기본 (0) | 2022.01.05 |
URL (0) | 2022.01.03 |