일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- sort
- 인프런
- 자바스크립트
- 인프런강좌
- 코딩
- Blazor
- 자바스크립트함수
- 이벤트리스너
- 고차함수
- 콜백함수
- 인프런강의
- HTTP
- slice
- c#
- .NET
- 자바스크립트파라미터
- 자바스크립트객체리터럴
- 인프런자바스크립트
- 인프런무료강좌
- NPM
- 제로초
- 객체의비교
- 인터넷프로토콜
- 자바스크립트틱택토
- EntityFramework
- 자바스크립트recude
- 비주얼스튜디오
- 틱택토구현
- 인프런인강
- 객체리터럴
- Today
- Total
목록HTTP 웹 기본지식 (13)
샐님은 개발중

인증 - Authorization : 클라이언트 인증 정보를 서버에 전달, 인증 메커니즘에 따라 정보가 달라짐. - WWW-Authenticate : 리소스 접근시 필요한 인증 방법 정의 401 Unauthorized 응답과 함께 사용 인증이 잘못되었을 때 어떤식으로 해야하는지 정보 제공 쿠키 HTTP 기본지식 Stateless : 클라이언트가 요청을 하면 서버는 이전 요청에 대한 기억이 없음. 즉 클라이언트와 서버는 서로 상태를 유지하지 않음 서버에서 쿠키에 대한 정보를 클라이언트로 보내주면 클라이언트는 쿠키저장소에 그 정보를 저장하고 서버에서는 필요할 때 마다 꺼내서 사용할 수 있다. 쿠키의 생명주기 - Expires, max-age - Set-Cookie : 만료일이 되면 쿠키 삭제 - Set-Co..

일반정보 1. From : 유저 에이전트 이메일 정보 - 일반적으로 잘 사용되지 않음 - 검색 엔진 같은 곳에서 주로 사용 예를 들어 누군가 내 사이트를 크롤링 할때 그 유저에서 이메일을 보내고 싶을 때 사용 2. Referer : 이전 웹 페이지 주소 3. User-Agent : 유저 에이전트 애플리케이션 정보 - 클라이언트의 애플리케이션 정보 , 통계 정보, 어떤 종류의 브라우저에서 장애 발생했는지 파악 가능(서버에서 확인 가능) 4. Server : 요청을 처리하는 origin 서버의 소프트웨어 정보 - 응답에서 사용 5. Date : 메시지가 발생한 날짜와 시 - 응답에서 사용 특변한 정보 1. Host : 요청한 호스트 정보(도메인) - 요청에서 사용 , 필수 - 하나의 서버가 여러 도메인을 처..
1. 단순 전송 : 한번에 요청하고 한번에 모든 정보를 받음 2. 압축 전송 : zip파일로 압축을 해서 보냄 3. 분할 전송 : 데이터를 분할해서 보냄. 용량이 커서 한번에 보낼 수 없을때 분할해서 전송함. Content-Length 가 예상이 안되서 함께 보낼 수 없다. 4. 범위 전송 : 특정 범위만큼 데이터를 받았을 때 처음부터 다시 받는 것이 아니라 나머지 데이터만 요청할 수 있다.

협상 - 클라이언트가 선호하는 표현 요청 Accept: 클라이언트가 선호하는 미디어 타입 전달 Accept-Charset: 클라이언트가 선호하는 문자 인코딩 Accept-Encoding: 클라이언트가 선호하는 압축 인코딩 Accept-Language: 클라이언트가 선호하는 자연 언어 협상 헤더는 요청시에만 사용한다. 클라이언트에서 어떤 사이트를 호출할때 서버쪽에 언어에 대한 정보를 보내지 않으면 서버는 기본언어를 지원한다. 그러나 클라이언트에서 특정 언어(ex) 한국어)를 요청해서 보내면 한국어를 지원하면 실제 메세지 바디에 한국어로 넣어서 응답을 보낸다.

예를 들어 회원 리소스(전달할 데이터) 가있다고 가정해보자. 회원 리소스를 json 표현(형식)으로 전달할건지 html 표현(형식)으로 전달할건지 정해야한다. 이런 데이터를 http 헤더 안에 넣어 전달한다. 1. Content-Type : 표현 데이터 형식 설명 - 미디어 타입, 문자 인코등 등 (text/html;charset=utf-8) 2. Content-Encoding : 표현 데이터 인코딩 - 표현 데이터를 압축하기 위해 사용 - 데이터를 전달하는 곳에서 압축 후 인코딩 헤더에 추가 - 데이터를 읽는 쪽에서 인코딩 헤더 정보로 압축 해제 ex) gzip, deflate 등 3.Content-Language : 표현 데이터의 자연 언어를 표현 ex) ko, en 4. Content-Length ..

HTTP 헤더 용도 - HTTP 전송에 필요한 모든 부가 정보 ex) 메시지 바디 내용, 메시지 바디 크기, 압축, 인중, 요청 클라이언트 , 서버 정보, 캐시 관리 정보 등 -표준 헤더가 너무 많다. -필요시 임의의 헤더 추가 가능 ex) helloworld : hihi HTTP BODY (message body - RFC7230(최신)) - 메시지 본문(message body)를 통해 표현 데어티 전달 - 메시지 본문 = 페이로드 - 표현은 요청이나 응답에서 전달한 실제 데이터 - 표현 헤더는 표현 데이터를 해석할 수 있는 정보를 제공 (데이터 유형(html, json), 데이터 길이, 압축 정보 등)
API URI 설계 예) 회원 목록 조회 /read-member-list 회원 조회 /read-member-by-id 회원 등록 /create-member 회원 수정 /update-member 회원 삭제 /delete-member 리소스 식별하는 것이 가장 중요하다. 회원이라는 개념 자체가 바로 리소스이다. 리소스를 어떻게 식별할까? - 회원을 등록하고 수정,조회 하는 것을 모두 배제 - 회원이라는 리소스만 식별하면 됨 -> 회원 리소스를 uri 에 매핑 리소스 식별, uri 계층 구조 활용 회원 목록 조회 /members 회원 조회 /members/{id} 회원 등록 /members/{id} 회원 수정 /members/{id} 회원 삭제 /members/{id} * 참고 : 계층 구조상 상위를 컬렉션으..
HTTP (Hyper text transper protocol) - html ,text, 이미지, 영상 음성 파일 ,json, xml (api) 등 거의 모든 형태의 데이터 전송가능 - 서버간에 데이터를 주고 받을 때도 대부분 http 사용 http/1.1 1997년: 가장 많이 사용, 가장 중요한 버전 기반 프로토콜 tcp: http/1.1, http/2 udp: http/3 현재 http/1.1 주로 사용 HTTP 특징 - 클라이언트 서버 구조 - 무상태 프로토콜, 비연결성 -HTTP 메시지 - 단순함, 확장 가능 클라이언트 서버 구조 - Request Response 구조 - 클라이언트는 서버에 요청을 보내고 응답을 대기 - 서버가 요청에 대한 결과를 만들어서 응답

URL(Uniform Resource Identifier) URL 전체 문법 Scheme://[userinfo@]host[:port][/path][?query][#fragment] https://www.google.com:443/search?q=hello 프로토콜(https) 호스트명(www.google.com) 포트번호(443) 패스(/search) 쿼리 파라미터(q=hello) scheme 는 주로 프로토콜 사용 - 프로토콜 : 어떤 방식으로 자원에 접근할 것인가 하는 약속 규칙 예) http,https,ftp 등 - http 는 80포트, https 는 443포트를 주로 사용, 포트는 생략 가능 https는 http에 보안 추가