전체 글

백엔드 개발자 취준생입니다:)
Spring/모든 개발자를 위한 HTTP 웹 기본 지식

[모든 개발자를 위한 HTTP 웹 기본 지식] 07. HTTP 헤더1(일반헤더) - 전송 방식

(인프런) 김영한님의 모든 개발자를 위한 HTTP 웹 기본 지식을 공부하고 리뷰한 글입니다. 4. 전송 방식 1. HTTP 메시지 전송 방식 1) 단순 전송 Content-Length 설정 - 데이터 전체를 한 번에 보낼 때 사용 2) 압축 전송 Content-Encoding 설정 - 전송해야하는 데이터가 커서 압축해서 보낼 때 사용(압축 방식은 다양함) 3) 분할 전송 Transfer-Encoding:chunked 설정, Content-Length 설정X - 대용량 데이터를 클라이언트에 보낼 때, 요청이 모두 처리되기 전까지 총 크기를 알 수 없을 때 사용 - r\n\ : 분할 전송의 끝을 나타냄 4) 범위 전송 Range 설정해서 요청 -> Content-Range 설정해서 응답 - 어떠한 이유로 중..

Spring/모든 개발자를 위한 HTTP 웹 기본 지식

[모든 개발자를 위한 HTTP 웹 기본 지식] 07. HTTP 헤더1(일반헤더) - 콘텐츠 협상

(인프런) 김영한님의 모든 개발자를 위한 HTTP 웹 기본 지식을 공부하고 리뷰한 글입니다. 3. 콘텐츠 협상 1. 콘텐츠 협상(Contents Negotiation) 클라이언트가 선호하는 표현 요청 - 협상 헤더는 요청시에만 사용 - 클라이언트 별로 선호하는 표현을 서버에서 처리해서 줄 수 있음 1) Accept: 클라이언트가 선호하는 미디어 타입 전달 2) Accept-Charset: 클라이언트가 선호하는 문자 인코딩 3) Accept-Encoding: 클라이언트가 선호하는 압축 인코딩 4) Accept-Language: 클라이언트가 선호하는 자연 언어 2. Accept-Language 1) Accept-Language 적용 전 한국어 브라우저로 외국에 있는 /event 에 접속 요청을 보내면, 서버..

Spring/모든 개발자를 위한 HTTP 웹 기본 지식

[모든 개발자를 위한 HTTP 웹 기본 지식] 07. HTTP 헤더1(일반헤더) - HTTP 헤더 개요, 표현

(인프런) 김영한님의 모든 개발자를 위한 HTTP 웹 기본 지식을 공부하고 리뷰한 글입니다. 1. HTTP 헤더 개요 1. HTTP 헤더 1) 헤더 용도 - HTTP 전송에 필요한 모든 부가 정보 e.g. 메시지 바디의 내용, 메시지 바디의 크기, 압축, 인증, 요청 클라이언트, 서버 정보, 캐시 관리 정보 등 - 표준 헤더가 너무 많음, 필요시 임의의 헤더 추가 가능 2) 헤더 분류-RFC 2616(과거) 1) General 헤더: 요청/응답 메시지 전체에 적용되는 정보 (e.g. Connection: close) 2) Request 헤더: 요청 정보 (e.g. User-Agent: Mozilla/5.0) 3) Response 헤더: 응답 정보 (e.g. Server: Apache) 4) Entity ..

Spring/모든 개발자를 위한 HTTP 웹 기본 지식

[모든 개발자를 위한 HTTP 웹 기본 지식] 06. HTTP 상태코드 - 4xx(클라이언트 오류), 5xx(서버 오류)

(인프런) 김영한님의 모든 개발자를 위한 HTTP 웹 기본 지식을 공부하고 리뷰한 글입니다. 5. 4xx(클라이언트 오류), 5xx(서버 오류) 상태코드 원인 클라이언트 오류 400 요청 구문, 메시지 오류(요청 파라미터 잘못됨, API 스펙이 맞지 않을 때) 401 인증이 되지않은 경우 403 인증은 됐지만 접근권한이 불충분한 경우 404 요청 리소스가 서버에 없는 경우 서버 오류 500 서버 문제(NullPointerException, DB 접근 불가) 애매하면 사용 503 일시적 과부하/예정 작업(서비스 이용 불가) 1. 4xx (Client Error) 클라이언트 오류 - 오류의 원인 = 클라이언트 (e.g. 클라이언트 요청에 잘못된 문법) (중요!) 클라이언트가 이미 잘못된 요청, 데이터를 보내..

Spring/모든 개발자를 위한 HTTP 웹 기본 지식

[모든 개발자를 위한 HTTP 웹 기본 지식] 06. HTTP 상태코드 - 3xx(리다이렉션1), 3xx(리다이렉션2)

(인프런) 김영한님의 모든 개발자를 위한 HTTP 웹 기본 지식을 공부하고 리뷰한 글입니다. 3. 3xx - 리다이렉션1 1. 3xx (Redirection) 요청을 완료하기 위해 유저 에이전트(웹 브라우저)의 추가 조치 필요 종류 상태코드 리다이렉트 시 사용 여부 영구 301 요청 메서드가 GET으로 변하고, 본문이 제거 될 수 있음 디폴트로 자주 사용 308 요청 메서드, 본문 유지 거의 사용X 일시 302 요청 메서드가 GET으로 변하고, 본문이 제거 될 수 있음 디폴트로 자주 사용 307 요청 메서드, 본문 유지 권장 303 요청 메서드가 GET으로 변함 권장 기타 300 사용X 304 자주 사용, 캐시 목적으로 사용 301=302, 308=307 2. 리다이렉션 이해 웹 브라우저는 3xx 응답의..

Spring/모든 개발자를 위한 HTTP 웹 기본 지식

[모든 개발자를 위한 HTTP 웹 기본 지식] 06. HTTP 상태코드 - HTTP 상태코드 소개, 2xx(성공)

(인프런) 김영한님의 모든 개발자를 위한 HTTP 웹 기본 지식을 공부하고 리뷰한 글입니다. 1. HTTP 상태코드 소개 1. 상태 코드 상태코드는 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능이다. 1) 1xx (Informational): 요청이 수신되어 처리중 2) 2xx (Successful): 요청 정상 처리 3) 3xx (Redirection): 요청을 완료하려면 추가 행동이 필요 4) 4xx (Client Error): 클라이언트 오류, 잘못된 문법등으로 서버가 요청을 수행할 수 없음 5) 5xx (Server Error):서버 오류, 서버가 정상 요청을 처리하지 못함 2. 만약 모르는 상태 코드가 나타나면? 클라이언트가 인식할 수 없는 상태코드를 서버가 반환하면, 클라이언트는..

Java

mac git 설치 및 Intellij github 연동

1. git 설치 [참고] https://velog.io/@wijoonwu/Mac-OS-%EC%97%90%EC%84%9C-Git-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0 맥에서 Git 설치하기 Mac OS 에서 Git 설치하기 velog.io 2. Intellij github 연동 [참고] https://suyeoniii.tistory.com/41

Spring/모든 개발자를 위한 HTTP 웹 기본 지식

[모든 개발자를 위한 HTTP 웹 기본 지식] 05. HTTP 메서드 활용 - HTTP API 설계 예시

(인프런) 김영한님의 모든 개발자를 위한 HTTP 웹 기본 지식을 공부하고 리뷰한 글입니다. 1) 리소스를 식별하여 리소스만으로 URI를 설계한다. 2) 문서, 컬렉션, 스토어로 해결하기 어려운 상황의 경우, 컨트롤 URI를 사용한다. 2. HTTP API 설계 예시 POST 기반으로 등록, PUT기반으로 등록하는 2가지 경우의 특징을 아는 것이 중요하다. 대부분 POST 기반 신규 자원 등록 방법(컬렉션)을 많이 사용한다. 1) HTTP API - 컬렉션 - POST 기반 등록 e.g. 회원 관리 API 제공 2) HTTP API - 스토어 - PUT 기반 등록 e.g. 정적 컨텐츠 관리, 원격 파일 관리 3) HTML FORM 사용 - 웹 페이지 회원 관리 - GET, POST 만 지원 1. 회원 관..

HSY_mumu
mumu 개발 블로그