cs
-
헤더 - 일반 정보cs/HTTP 2023. 12. 1. 19:54
From 유저 에이전트의 이메일 정보 - 일반적으로 잘 사용되지 않음 - 검색 엔진 같은 곳에서 주로 사용 - 요청에서 사용 Referer 이전 웹 사이트의 주소 - 현재 요청된 페이지의 이전 웹 페이지 주소 - A > B 로 이동하는 경우 B를 요청할 때 Referer: A를 포함해서 요청 - Referer를 사용해서 유입 경로 분석 가능 - 요청에서 사용 - 참고: referer는 단어 referrer의 오타인데 어쩌다보니 정착했다 User-Agent 유저 에이전트 애플리케이션 정보 - user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/ 537.36 (KHTML, like Gecko) Chrome/86.0.4240.183 ..
-
헤더 - 전송 방식cs/HTTP 2023. 12. 1. 17:49
전송 방식 - 단순 전송 Content-Length - body길이를 예상해서 Length를 사용 - 압축 전송 Content-Encoding - 압축 방식 명시, 용량이 절반 이상으로 줄어듬 - 분할 전송 Transfer-Encoding: chunked - 큰 용량을 전송할 때, 분할하여 전송하기 때문에 표현을 위해 대기해야 하는 시간이 줄어듬, Length 사용 불가 - 범위 전송 Range, Content-Range - 전송중에 끊긴다는 등의 일이 일어났을 경우, 끊긴 부분부터 나머지까지의 범위를 전송
-
헤더 - 협상cs/HTTP 2023. 12. 1. 17:35
클라이언트가 선호하는 표현 요청 - Accept : 클라이언트가 선호하는 미디어 타입 전달 - Accept-Charset : 클라이언트가 선호하는 문자 인코딩 - Accept-Encoding : 클라이언트가 선호하는 압축 인코딩 - Accept-Language : 클라이언트가 선호하는 자연 언어 협상 헤더는 요청시에만 사용 협상과 우선순위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. ko-KR;q=1 (q생략) - 2. ko;q=0.9 - 3. en-US;q=0.8 - 4. en;q=0.7 협상과 우선순위2 Qual..
-
헤더 - 표현cs/HTTP 2023. 12. 1. 17:19
표현 - Content-Type : 표현 데이터 형식 - Content-Encoding : 표현 데이터의 압축 방식 - Content-Language : 표현 데이터의 자연 언어 - Content-Length : 표현 데이터의 길이 표현 헤더는 전송, 응답 둘다 사용 Content-Type - 미디어 타입, 문자 인코딩 -예) - text/html; charset=utf-8 - application/json - image/png Content-Encoding - 표현 데이터를 압축하기 위해 사용 - 데이터를 전달하는 곳에서 압축 후 인코딩 헤더 추가 - 데이터를 읽는 쪽에서 인코딩 헤더의 정보로 압축 해제 - 예) - gzip - deflate - identity (압축 안한다는 것) Content-La..
-
HTTP 헤더 개요cs/HTTP 2023. 12. 1. 17:10
헤더의 구조를 복습해 보자 - header-field = field-name ":" OWS field-value OWS (OWS : 띄어쓰기 허용) - field-name 은 대소문자 구분 없음 헤더 용도 - HTTP 전송에 필요한 모든 부가정보 - 예) 메시지 바디 내용, 메시지 바디 크기, 압축, 인증, 요청 클라이언트, 서버 정보, 캐시 관리 정보... - 표준 헤더가 너무 많음 - 필요시 임의의 헤더 추가 가능 - helloworld: hihi 헤더 분류 - General 헤더 : 메시지 전체에 적용되는 정보 Connection : close - Request 헤더 : 요청 정보 User-Agent: Mozilla/5.0 (Macintosh; ..) - Response 헤더 : 응답 정보 Serv..
-
HTTP 상태 코드cs/HTTP 2023. 12. 1. 16:30
상태코드 : 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능 - 1xx (information) : 요청이 수신되어 처리중 (거의 사용되지 않음) - 2xx (Successful) : 요청 정상 처리 - 3xx (Redirection) : 요청을 완료하려면 추가 행동이 필요 - 4xx (Clinet Error) : 클라이언트 오류, 잘못된 문법등으로 서버가 요청을 수행할 수 없음 - 5xx (Server Error) : 서버 오류, 서버가 정상 요청을 처리하지 못함 만약 클라이언트가 인식할 수 없는 상태코드를 서버가 반환한다면, 위에서 정의한 상위 상태코드로 해석해서 처리하면 된다 299 ??? > 2xx 로 처리 이제 각 x백번대에 대해 자세히 알아보자 1xx번대는 거의 사용하지 않으므로 ..
-
HTTP 설계 예시cs/HTTP 2023. 11. 30. 20:24
HTTP API - 컬렉션 - POST 기반 등록 - 예) 회원 관리 API 제공 HTTP API - 스토어 - PUT 기반 등록 - 예) 정적 컨텐츠 관리, 원격 파일 관리 HTML FORM 사용 - 웹 페이지 회원 관리 - GET, POST만 지원 메서드를 배우기 이전에 API를 설계하기에 URL만으론 식별하기가 어렵다는 것을 기억하고 있을 것이다 메소드를 배운 이후엔 아래와 같이 식별할 수 있게 된다 - 회원 목록 /members -> GET - 회원 등록 /members -> POST - 회원 조회 /members/{id} -> GET - 회원 수정 /members/{id} -> PATCH, PUT, POST - 회원 삭제 /members/{id} -> DELETE POST기반 API 설계 특징 ..
-
HTTP 메서드 활용cs/HTTP 2023. 11. 30. 18:03
HTTP 메서드 활용 -클라이언트에서 서버로 데이터 전송 -HTTP API 설계 예시 클라이언트에서 서버로 데이터 전송 - 쿼리 파라미터를 통한 데이터 전송 - GET - 주로 정렬 필터(검색어) -메시지 바디를 통한 데이터 전송 - POST, PUT, PATCH - 회원 가입, 상품 주문, 리소스 등록, 리소스 변경 크게 4가지 상황이 있다 정적 데이터 조회 - 이미지, 정적 텍스트 문서 - 조회는 GET 사용 - 정적 데이터는 일반적으로 쿼리 파라미터 없이 리소스 경로로 단순하게 조회 가능 동적 데이터 조회 - 주로 검색, 게시판 목록에서 정렬 필터(검색어) - 조회 조건을 줄여주는 필터, 조회 결과를 정렬하는 정렬 조건에 주로 사용 - 조회는 GET 사용 - GET은 파라미터 사용해서 데이터를 전달..