본문 바로가기

HTTP14

HTTP(16) - 쿠키, 캐시 우리가 알게 모르게 많이 사용하는 쿠키에 대해서 알아보자. 보통 사용처는 사용자 로그인 세션 관리 / 광고 정보 트래킹에 많이 쓰인다. 쓰는 이유는 무엇일까? 우리가 네이버에 로그인 하면 XXX님 어서오세요. 와 같이 내가 누구인지 띄워주곤 한다. 이러한 정보를 페이지에 접근할 때마다 '내가 누구인지' 요청에 하나하나 담아서 보내야할까? 당연히 번거롭고 좋은 방안이 아니라는 생각이 든다. (예를 들어, 내가 친구한테 전화하는데 전화할 때마다 누군지 안 떠서 내가 누구인지 말하는 것과, 친구 핸드폰에 내 이름이 떠서 한번에 아는 건 다르다) 따라서 쿠키를 사용하여 기본적으로 요청에 내가 누구인지 늘 알 수 있는 데이터를 서버로 넘어가도록 한다면 (상황에 따라) 더 효율적이라고 볼 수 있다! 쿠키의 정보는 .. 2022. 1. 2.
HTTP(15) - HTTP 헤더(3) 전송 방식, 일반 정보, 특별한 정보 HTTP 전송 방식에는 대표적인 4가지 방식이 있다. 1. 단순 전송 - Content-Length만 담아서 보낸다. 2. 압축 전송 - Content-Encoding을 추가로 보내어 압축 방법을 알려준다 3. 분할 전송 - Transfer-Encoding으로 chunkded를 넣어서 보낸다. 이 경우 Content-Length는 있으면 안된다. 4. 범위 전송 - Content-Range를 넣어서 보낸다. 일반 정보에 대해서도 알아보자. 이 역시 자주 본 것들이다. 1. From - 유저 에이전트의 이메일 정보다. 일반적으로 잘 사용하지 않으나 검색 엔진에서는 주로 사용하며, 요청 시 담아 보낸다. 2. Referer - 이전 웹 페이지의 주소를 뜻한다. 예를 들어 A사이트 -> B사이트로 이동하면 B.. 2021. 12. 14.
HTTP(14) - HTTP 헤더(2) 표현 Content-Type: 표현 데이터의 형식 Content-Encoding: 표현 데이터의 압축 방식 Content-Language: 표현 데이터의 자연 언어 Content-Length: 표현 데이터의 길이 협상 - 클라이언트가 선호하는 표현을 요청하는 것을 의미한다. 요청 시에만 사용한다. 예를 들어, Accept-Language 헤더의 값을 ko로 요청하면 응답의 Content-Language가 ko로 넘어오게 할 수도 있다. 만약 응답 서버가 독일어, 영어만 지원을 한다면 어떻게 해야할까? 이 때는 Quality Value를 써서 우선 순위를 지정할 수 있다. Accept-Language:ko-KR,ko;q=0.9,en-US;q=0.8 이렇게 보내게 되면 en-US의 우선 순위(q) 값이 0... 2021. 12. 7.
HTTP(13) - HTTP 헤더(1) HTTP 헤더 HTTP 헤더도 많이 들어본 단어이다. 그렇다면 막연하게 쓰기만 하는 이 헤더라는 녀석은 무엇일까. 헤더의 용도는 HTTP의 전송에 필요한 모든 부가 정보를 담는 것이라고 생각하면 된다. 형식은 아래와 같으며 대소문자의 구분은 없다. field-name ":" OWS field-value OWS (OWS : 띄어쓰기 허용) 그동안 몰랐던 헤더의 분류에 대해서도 조금 알게 됐다. 옛날 과거의 RFC2626 분류 시절 헤더의 종류는 아래와 같다. General 헤더 : 메시지 전체에 적용되는 정보 Request 헤더 : 요청 정보 Response 헤더 : 응답 정보 Entity 헤더 : 엔티티 바디 정보 - 엔티티 본문의 데이터를 해석할 수 있는 정보 제공 ex : 데이터 유형(HTML, js.. 2021. 11. 10.
HTTP(12) - HTTP 상태 코드(2) 4XX - 클라이언트 오류 4XX 오류는 우리가 제일 많이 본 오류 중 하나일 것이다. 기본적으로 클라이언트의 요청에 잘못된 문법 등으로 서버가 요청을 수행할 수가 없는 것을 뜻한다. 이 오류에서 제일 중요한 의미는 오류의 원인이 클라이언트에 있다는 부분이다. 즉, 이미 잘못된 요청과 데이터를 보내고 있기 때문에 똑같은 재시도를 하면 실패한다는 점이 중요하다. 400 Bad Request : 클라이언트가 잘못된 요청을 해서 서버가 요청을 처리할 수 없음 요청 구문이나 데이터 형식, 또는 API 스펙 등이 맞지 않을 때 401 Unauthorized : 클라이언트가 해당 리소스에 대한 인증이 필요함 인증(Authentication)이 되지 않음 401 오류 발생 시 응답에 WWW-Authenticate 헤.. 2021. 11. 6.
HTTP(11) - HTTP 상태 코드(1) 이번엔 우리가 자주 보게 되는 것 중 하나인 HTTP 상태 코드에 대해서 알아보자. HTTP 상태 코드는 클라이언트가 보낸 요청에 대해서 기본적인 처리 상태를 응답에서 알려주는 기능이다. 대표적으로는 아래와 같다. 1XX (Informational) : 요청이 수신되어 처리 중 2XX (Successful) : 요청 처리 성공 3XX (Redirection) : 요청을 완료하려면 추가 행동 필요 4XX (Client Error) : 클라이언트 오류 5XX (Server Error) : 서버 오류 XX 에는 세부적인 상태 코드들에 따른 숫자가 들어간다. 기본적으로 1~5로 시작하는 상태 코드를 기반으로 어떤 상태인지를 파악 가능하다는 것이 핵심이다. 00~99까지 들어갈 수 있는 상황이므로 모르는 코드가 .. 2021. 11. 1.
반응형