Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 백준
- 자바스크립트
- RestAPI
- ROT13
- nestjs
- 피보나치 수
- 프로그래머스
- 코딩태스트
- typeorm
- 카카오
- vanila js
- mutation
- REST API
- kakao
- graphql
- js
- node
- typescript
- linux
- 실패율
- Query
- javascript
- tr명령어
- 모던 자바스크립트
- html
- await
- Bandit
- JavaStritp
- 코딩테스트
- 자바스크립트의 역사
Archives
- Today
- Total
꿀 떨어지는 코딩 양봉장
HTTP 헤더1 - 일반 헤더 본문
HTTP 헤더 게요
HTTP 헤더 형식
- header-field = field-name ":' OWS field-value OWS (OWS: 띄어쓰기 혀용)
- field-name은 대소문자 구분이 없다.
HTTP 헤더 용도
- HTTP 전송에 필요한 모든 부가정보가 들어있다.
HTTP 헤더 (과거: RFC2616)
과거에는 HTTP 헤더를 총 4가지로 분류했다. 하지만 2014년 RFC7230 ~7235 가 등장하면서 그전 RFC2616는 폐기되었다.
그전까지는 Entity라는 용어를 사용했지만 2014년 버전이 나오면서 Entity => Representation(표현)이라는 용어로 변경되었다.
Representatin = representation Metadata + representation Data
표현 = 표현 메타데이터 + 표현 데이터 를 뜻한다.
HTTP 표현 헤더
표현 헤더는 전송과 응답에 둘 다 사용할 수 있다.
Content - Type
- 표현 데이터의 형식을 설명한다.
- Content-body에 들어가는 표현 데이터 형식을 설명한다.
- 예) text/html: charset = utf-8, image/png...
Content - Encoding
- 표현 데이터를 압축하기 위해서 사용된다.
- 보내는 쪽에서 데이터를 압축 한 다음 인코딩하고 인코딩 헤더를 추가한다.
- 받는 쪽에서 인코딩 헤더를 보고 압축을 해제한다.
- 예) gzip, deflate...
Content - Language
- 표현 언어의 자연 언어를 표현한다. body에 들어있는 언어가 영어인지, 한국어인지, 중국어인지를 알려준다.
- 예) ko, en, en-US
Content - Length
- 표현 데이터의 길이이고 바이트 단위이다.
- Transfer-Encoding을 사용하면 Content-Length를 상용하면 안 된다.
HTTP 협상 헤더 (콘텐츠 네고시에이션)
협상 헤더는 요청 시에만 사용할 수 있다.
클라이언트가 선호하는 표현을 요청할 때 서버로 전송하는 것이다.
예를 들면 클라이언트가 선호하는 언어, 미디어 타입 등을 전송하고 서버는 그것을 보고 지원해 줄 수 있는 요청이면 응답을 해줄 때 지원한다.
Accept
- 클라이언트가 선호하는 미디어 타입을 주세요 하고 전달
Accept - Charset
- 클라이언트가 선호하는 문자 인코딩을 주세요 하고 전달
Accept - Encoding
- 클라이언트가 선호하는 압축 인코 등을 주세요 하고 전달
Accept - Language
- 클라이언트가 선호하는 자연언어를 주세요 하고 전달
HTTP 전송 방식
- 단순 전송: 메시지 바디에 대한 Content-Length를 지정하고 길이 값을 알 수 있을 때 사용
- 압축 전송: 서버에서 메시지 바디를 압축해서 전송
- 분할 전송: 분할해서 전송한다. 분할 전송을 사용할 때는 content-length를 사용하면 안 된다.
- 범위 전송: 범위를 지정해서 요청한다. 그러면 그만큼의 범위를 서버에서 전송
HTTP 일반 정보
- Form: 유저의 이메일 정보
- Refer: 이전 웹 페이지 주소, 유입 경로 분서 가능
- User-Agent: 유저 에이전트 애플리케이션 정보, 클라이언트의 애플리케이션 정보(웹 브라우저 정보 등등)
- Server: 요청을 처리하는 오리진 서버의 소프트웨어 정보
- Date: 메시지가 생성된 날짜
이렇게 헤더들이 많은지 처음 알았습니다.
아직 인증과 쿠키 관련 헤더들이 남았지만 다음 포스팅에서 설명하겠습니다.
'Computer Science > HTTP' 카테고리의 다른 글
HTTP 상태 코드 (0) | 2022.05.01 |
---|---|
HTTP 메서드 활용 (0) | 2022.04.09 |
HTTP 메서드 (0) | 2022.04.04 |
HTTP의 기본 (0) | 2022.04.03 |
HTTP 웹 기본 지식 공부하기 (2) | 2022.03.31 |