HTTP 웹/Http 웹 기본
-
(17) HTTP - 인증 & 쿠키HTTP 웹/Http 웹 기본 2021. 7. 6. 22:23
1. 인증 헤더 1-1) 정의 Authorization: 헤더를 이용하여 클라이언트 인증 정보를 서버에 전달하는 기능 WWW-Authenticae: 헤더를 이용하여 리소스 접근시 필요한 인증 방법을 정의 1-2) 방식 클라이언트 인증 정보를 서버에 전달 > Authorization: - ex) Authorization: Basic xxxxxxxxxxxxx - Basic 이외 수많은 방식들이 있음 OAUTH1, 2 등등... - 헤더에 정보가 들어가는 것이 핵심(어떤 방식으로든 이 헤더는 인증과정에서 포함됨) + 헤더의 value는 바뀔수 있음 인증 방식을 클라이언트에 서버가 전달 > WWW-Authenticate: - 리소스 접근시 필요한 인증 방법 정의 - 401 Unauthorized 응답과 함께 사..
-
(16) HTTP - 일반 정보 & 특별한 정보HTTP 웹/Http 웹 기본 2021. 7. 5. 04:41
1. 일반 정보 헤더 1-1) 정의 단순히 일반적인 정보에 대한 것만 포함하는 헤더 1-2) 종류 From 유저 에이전트의 이메일 정보 - 일반적으로 잘 사용되지 않음 - 검색 엔진 같은곳에서 주로 사용 (크롤링하는 봇들에게 응답이메일 정보 뿌릴 때 - 접근하지 마라고) - 요청에서 사용 Refer 이전 웹 페이지의 주소 - 현재 요청된 페이지의 이전 웹페이지 주소 - A → B로 이동하는 경우, B를 요청할 때 Refer: A를 포함해서 요청 - 참고 : referer는 단어 referrer의 오타 - Refer를 사용해서 유입 경로 분석 가능, 데이터 분석에 사용 - 요청에서 사용 - 예시 : 구글에서 "Hello" 검색 이후, 위키로 "Hello"를 들어갈 시 User-Agent 유저 에이전트 에플..
-
(15) HTTP - 전송 방식HTTP 웹/Http 웹 기본 2021. 7. 5. 00:40
1. 전송 방식 1-1) 종류 > 복잡하게 데이터를 다시 주는 형식이기 때문에, 보통 응답에서 전송방식을 선택하는 의미가 있음 단순 전송 압축 전송 분할 전송 범위 전송 2. 단순 전송 2-1) 정의 단순히 전송만 하는 것, 한번에 쭉 받는 형식 2-2) 특징 Content-Length에 대한 길이 값을 알고 있어야 응답에 넣어줄 수 있음 3. 압축 전송 3-1) 정의 압축방식을 선택하고 압축을 하여 전송하는 방식 3-2) 특징 Content-Length와 더불어, Content-Encoding까지 넣어주어야 압축을 해제할 때 클라이언트가 해제할 수 있음 4. 분할 전송 4-1) 정의 바이트 단위로 분할하여 전송하는 방식 4-2) 특징 Transfer Encoding 값을 chunked 로 넣어서 응답해..
-
(14) HTTP - 콘텐츠 네고시에이션HTTP 웹/Http 웹 기본 2021. 7. 3. 18:36
1. 협상(콘텐츠 네고시에이션)이란? 1-1) 정의 클라이언트가 선호하는 표현 요청을 우선순위로 하여 달라고 함 - 요청시에만 사용(클라이언트가 서버에 전달) - 서버에서 제공 가능하면 제공해줌 Accept : 클라이언트가 선호하는 미디어 타입 전달 Accept-Charset : 클라이언트가 선호하는 문자 인코딩 Accept-Encoding : 클라이언트가 선호하는 압축 인코딩 Accept-Language : 클라이언트가 선호하는 자연 언어 1-2) Accept-Language 적용 전 (a) 과정 /event 경로로 Host에 접속 서버는 기본en, 지원ko인 상황인데, Client가 언어 정보를 보내주지 않으므로 기본 en으로 서버가 정보 전송 1-3) Accept-Language 적용 후 (a) 과..
-
(14) HTTP - 표현HTTP 웹/Http 웹 기본 2021. 7. 2. 17:26
1. 표현이란? 1-1) 표현관련 정의 표현 : 전송하고자 하는 정보의 원본 그 자체를 의미 표현 데이터 : 표현하고자 하는 데이터 표현 헤더 : 표현 데이터를 해석할 수 있는 정보 메세지 본문 : 표현 데이터가 담겨서 전송되는 영역 1-2) 표현 헤더의 종류 ※ 표현 헤더는 전송, 응답 둘다 사용 Content-Type : 표현 데이터의 형식 Content-Encoding : 표현 데이터의 압축 방식 Content-Language : 표현 데이터의 자연 언어 Content-Length : 표현 데이터의 길이 2. 표현 데이터 상세 2-1) Content-Type (a) 정의 표현 데이터의 형식 설명 (b) 형식 미디어타입, 문자 인코딩 - ex) ① text/html; charset=utf-8 ② ap..
-
(13) HTTP - 헤더 개요HTTP 웹/Http 웹 기본 2021. 7. 2. 00:04
1. HTTP 헤더 1-1) 양식 Form header-field = field-name + ": " + OWS field-value OWS (※ OWS 띄어쓰기 허용) : 앞은 띄워쓰고 뒤는 OWS로 공백 줘도/안줘도 됨 > field name은 대소문자 구분이 없음 1-2) HTTP 헤더 용도 HTTP 전송에 필요한 모든 부가정보 - 메세지 바디 내용, 메세지 바디 크기(길이), 압축, 요청 클라이언트, 서버 정보, 캐시 관리 정보.... 표준 헤더가 매우 다양하게 존재 필요시 임의의 헤더 추가가능 - ex) helloworld: hihi 1-3) HTTP 헤더 종류 HTTP 메세지 안의 Header의 종류 > 헤더 분류 - General 헤더 : 메세지 전체에 적용되는 정보 - ex) Connect..
-
(13) HTTP - HTTP 상태코드HTTP 웹/Http 웹 기본 2021. 6. 30. 11:33
1. 상태코드란? 1-1) 정의 HTTP 응답을 서버에서 받았을 때 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능 > 모든 응답 번호 3xx : 요청을 완료하려면 추가 행동이 필요 4xx : 클라이언트 오류, 서버가 요청 수행할 수 없음 5xx : 서버오류, 서버 정상 요청 처리 못할 때 1-2) 상태코드 상위성 정해져 있지 않은 상태코드여도( 새로운 상태코드 ) 백의자리 숫자가 곧 meaning을 가지고, 상위 상태코드로 해석되어 처리됨 ex) 1-3) 상태코드의 사용 (a) 클라이언트 입장 서버에서 클라이언트의 메세지를 받고 응답을 주는 것에 대해서 클라이언트의 처리를 구현하면 됨 (b) 서버 입장 RESTFUL하게 구현하여 적절한 응답을 띄우도록 해야 함, 500번대는 반드시 피하도록..
-
(12) HTTP - HTTP 매서드의 속성HTTP 웹/Http 웹 기본 2021. 6. 26. 18:45
1. HTTP 메서드 속성의 종류 1-1) 속성 종류 안전( Safe Methods ) - 호출/사용해도 리소스를 변경하지 않음 ※ 계속 호출시, db server에 로그같은 것이 쌓여서 장애가 발생하면? - 해당 리소스의 변경여부만 Safe의 scope로 생각 멱등( Idempotent Methods ) - f( f(x) ) = f(x) : 한번 더 호출하여도 결과가 동일하기에, n번 호출도 1번 호출과 결과가 동일한 것이 멱등 - 멱등 메서드 GET : 한번 / n번 조회도 같은 결과가 조회 됨 PUT : 같은 url 절대 경로에 결과를 대체하므로, 최종 리소스의 결과는 같음 DELETE : 같은 url 절대 경로에 결과를 삭제하므로, 최종 리소스의 삭제는 같음 POST : 데이터 + 서버의 Stat..
-
(11) HTTP - HTTP 매서드 - PUT, PATCH, DELETEHTTP 웹/Http 웹 기본 2021. 6. 26. 16:53
1. PUT 1-1) 정의 리소스를 대체하는 메서드 리소스가 있으면 대체 리소스 없을 시 생성 결론 : 리소스 없건 있건, 완전히 덮어쓰는 용도 폴더에 새 파일을 작성하는 것과 동일, 없으면 생성 / 있으면 덮어써짐 > 클라이언트가 리소스를 식별하는 것이 다른점 클라이언트가 리소스 위치를 알고 있음 ( POST는 URI 전체 경로가 아니지만, PUT은 /100까지 인식 ) 1) POST 2) PUT 1-2) 리소스가 있거나 없음 (a) Client가 url 지정하여 데이터를 담아 전달 (b-1) 리소스 있으므로 대체 (b-2) 리소스 없는 경우 1-3) 리소스의 완전한 대체 (a) Client가 url 지정하여 데이터를 담아 전달 (b) 기존 리소스의 대체 > 유저 name 필드가 없어짐 → 완전 대체하..
-
(10) HTTP - HTTP 매서드 - GET, POSTHTTP 웹/Http 웹 기본 2021. 6. 24. 22:46
1. HTTP 메서드란? 1-1) 정의 Client / Server 관계에서 요청할 때 기대하는 행동 양식 > URL(URI)로 resource의 위치와 HTTP매서드로 행동을 분리 > 주요 HTTP 메서드 종류 ※ 주요 메서드 GET : 리소스 조회 POST : 요청 데이터 처리, 주로 등록에 사용 PUT : 리소스를 대체, 해당 리소스가 없으면 생성 PATCH : 리소스 부분 변경 DELETE : 리소스 삭제 ※ CRUD 비교 (GPPD) Create = PUT with a new URI POST to a base URI returning a newly created URI Read = GET Update = PUT with an existing URI Delete = DELETE 1-2) 기타 메서..