본문 바로가기

Web/HTTP

(25)
[모든 개발자를 위한 HTTP 웹 기본 지식] 16.HTTP 헤더 - 일반 헤더 - 특별한 정보( 6/8 ) 특별한 정보 Host: 요청한 호스트 정보(도메인) Location: 페이지 리다이렉션 Allow: 허용 가능한 HTTP 메서드 Retry-After: 유저 에이전트가 다음 요청을 하기까지 기다려야 하는 시간 1. Host 요청한 호스트 정보(도메인) 요청에서 사용 필수 하나의 서버가 여러 도메인을 처리해야 할 때 하나의 IP 주소에 여러 도메인이 적용되어 있을 때 여러 도메인을 가지고 있는 서버 애플리케이션일 경우에 아래와 같은 문제가 발생할 수 있다. a,b,c 중에서 어디로 들어가야하는지 알 방법이 없다. 그래서 Host header로 가상 호스팅을 구분해서 들어간다. 2. Location 페이지 리다이렉션 웹 브라우저는 3xx 응답의 결과에 Location 헤더가 있으면, Location 위치로 ..
[모든 개발자를 위한 HTTP 웹 기본 지식] 15.HTTP 헤더 - 일반 헤더 - 일반 정보( 5/8 ) 일반 정보 From : 유저 에이전트의 이메일 정보 Referer : 이전 웹 페이지 주소 User-Agent : 유저 에이전트 애플리케이션 정보 Server : 요청을 처리하는 오리진 서버의 소프트웨어 정보 Date : 메시지가 생성된 날짜 1. From 유저 에이전트의 이메일 정보 일반적으로 잘 사용되지 않음 검색 엔진 같은 곳에서, 주로 사용 요청에서 사용 2. Referer 이전 웹 페이지 주소 현재 요청된 페이지의 이전 웹 페이지 주소 A -> B로 이동하는 경우 B를 요청할 때 Referer:A 를 포함해서 요청 Referer를 사용해서 유입 경로 분석 가능 요청에서 사용 참고 : refer는 단어 referrer의 오타 3. User-Agent 유저 에이전트 애플리케이션 정보 user-age..
[모든 개발자를 위한 HTTP 웹 기본 지식] 14.HTTP 헤더 - 일반 헤더 - 전송 방식( 4/8 ) 전송 방식 설명 단순 전송 압출 전송 분할 전송 범위 전송 1. 단순 전송 Content-Length 2. 압축 전송 Content-Encoding 뭐로 압축했는지 알기 위해서 Content-Encoding을 넘겨줘야 한다. 3. 분할 전송 Transfer-Encoding Content-Length를 보내면 안된다. 처음에 보낼 데이터의 길이가 가늠이 안된다. 4. 범위 전송 Range, Content-Range 출처 https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC/dashboard 모든 개발자를 위한 HTTP 웹 기본 지식 - 인프런 | 강의 실무에 꼭 필요한 HTTP 핵심 기능과 올바른 HTTP AP..
[모든 개발자를 위한 HTTP 웹 기본 지식] 13.HTTP 헤더 - 일반 헤더 - 협상( 3/8 ) 협상( 콘텐츠 네고시에이션 ) 클라이언트가 선호하는 표현 요청 Accept: 클라이언트가 선호하는 미디어 타입 전달 Accept-Charset: 클라이언트가 선호하는 문자 인코딩 Accept-Encoding: 클라이언트가 선호하는 압축 인코딩 Accept-Language: 클라이언트가 선호하는 자연 언어 협상 헤더는 요청시에만 사용 1. Accept-Language 적용 전 적용 후 복잡한 예시 한국어로 왔지만 우리는 지원안하니까 default인 독일어로 응답 1) 협상과 우선순위 1 Quality Values( q ) Quality Values( q )값 사용 0 ~ 1, 클수록 높은 우선순위 생략하면 1 Accept-Language: ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7 1..
[모든 개발자를 위한 HTTP 웹 기본 지식] 12.HTTP 헤더 - 일반 헤더 - 표현( 2/8 ) 표현 Content-Type: 표현 데이터의 형식 Content-Encoding: 표현 데이터의 압축 방식 Content-Language: 표현 데이터의 자연 언어 Content-Length: 표현 데이터의 길이 표현 헤더는 전송, 응답 둘다 사용 1. Content-Type 표현 데이터의 형식 설명 미디어 타입, 문자 인코딩 ex. text/html; charset=utf-8 apllication/json image/png 2. Content-Encoding 표현 데이터의 인코딩 표현 데이터를 압축하기 위해 사용 데이터를 전달하는 곳에서 압축 후 인코딩 헤더 추가 데이터를 읽는 쪽에서 인코딩 헤더의 정보로 압축 해제 ex. gzip deflate identity 3. Content-Language 표현..
[모든 개발자를 위한 HTTP 웹 기본 지식] 11.HTTP 헤더 - 일반 헤더 - 개요( 1/8 ) HTTP 헤더 1. 용도 2. 분류 - RFC2616( 과거 ) HTTP BODY 1. message body - RFC2616( 과거 ) HTTP 표준 변화 1999년 RFC2616 : 폐기 처리 2014년 RFC7230 ~ 7235 등장 RFC723x 변화 엔티티( Entity ) -> 표현( Representation ) Representation = representation Metadata + Representation Data 표현 = 표현 메타데이터 + 표현 데이터 HTTP BODY message body - RFC7230( 최신 ) 출처 https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC/da..
[모든 개발자를 위한 HTTP 웹 기본 지식] 10.HTTP 상태코드 - 4xx, 5xx ( 2/2 ) 상태 코드 클라이언트가 보낸 요청의 처리 상태를 응답해서 알려주는 기능 1xx ( Informational ) : 요청이 수신되어 처리중 2xx ( Successful ) : 요청 정상 처리 3xx ( Redirection ) : 요청을 완료하려면 추가 행동이 필요 4xx ( Client Error ) : 클라이언트 오류, 잘못된 문법 등으로 서버가 요청을 수행할 수 없음 5xx ( Server Error ) : 서버 오류, 서버가 정상 요청을 처리하지 못함 만약 모르는 상태 코드가 나타나면? 클라이언트가 인식할 수 없는 상태코드를 서버가 반환하면? 클라이언트는 상위 상태코드로 해석해서 처리 미래에 새로운 상태 코드가 추가되어도 클라이언트를 변경하지 않아도 됨 ex. 299 ??? -> 2xx ( Suc..
[모든 개발자를 위한 HTTP 웹 기본 지식] 9.HTTP 상태코드 - 공통, 1xx, 2xx, 3xx ( 1/2 ) 상태 코드 클라이언트가 보낸 요청의 처리 상태를 응답해서 알려주는 기능 1xx ( Informational ) : 요청이 수신되어 처리중 2xx ( Successful ) : 요청 정상 처리 3xx ( Redirection ) : 요청을 완료하려면 추가 행동이 필요 4xx ( Client Error ) : 클라이언트 오류, 잘못된 문법 등으로 서버가 요청을 수행할 수 없음 5xx ( Server Error ) : 서버 오류, 서버가 정상 요청을 처리하지 못함 만약 모르는 상태 코드가 나타나면? 클라이언트가 인식할 수 없는 상태코드를 서버가 반환하면? 클라이언트는 상위 상태코드로 해석해서 처리 미래에 새로운 상태 코드가 추가되어도 클라이언트를 변경하지 않아도 됨 ex. 299 ??? -> 2xx ( Suc..