www.naver.com이라고 입력하면 일어나는 일-1
·
CS/Computer Network
인터넷 브라우저에 www.naver.com 을 입력해보고 어떤 일이 일어나는지 설명해드리겠습니다. 먼저, 브라우저가 URL을 파싱하기 시작합니다. 즉 브라우저 측에서 URL의 구조를 확인하고 *어떤 프로토콜을 통해 어느 URL 및 포트에 요청할 것인지 * 해석을 하는거죠...! 이런 겁니다. https://www.naver.com:443 https는 프로토콜 www.naver.com 은 도메인 이름을 443은 포트 번호입니다. 만약 이때 포트번호를 주지 않았다면 (이렇게요 https://www.naver.com)) 앞의 프로토콜을 확인하고 HTTP라면 80번 포트를 주고, HTTPS라면 443번 포트를 주게 됩니다! HTTP와 HTTPS의 차이를 간단히 설명하자면 http는 HTML과 같은 문서를 웹 브..
HTTP 완벽 가이드 - 웹은 어떻게 동작하는가 서적 구입
·
CS/Computer Network
다른 팀원분들과 스프링 프레임워크를 활용한 REST API 서버를 구축중이었기도 하고, 프로젝트를 진행하면서 HTTP의 개념적인 부분에 대해서 많은 부족함을 느꼈기에 HTTP와 관련된 공부를 보조적으로 하고 있었다. 김영한님의 HTTP강의에 이어서 HTTP관련된 서적을 구매했는데 , 바로 이 책이다. 무려 700페이지에 달한다...!! 다행히 평소에 책 읽기에 거부감은 없는 편이라 아침에 refresh한다고 생각하고 조금씩 꾸준히 읽을 예정이다. 읽다가 이해가 잘 안되는 부분이 있다면 블로그에 나름대로 해당 지식에 대해 정리할 예정이다.
헤더
·
CS/Computer Network
헤더-표현: Content-Type: 표현 데이터의 형식이다. Content-Encoding: 표현 데이터의 압축 방식이다. Content-Language: 표현 데이터의 자연 언어를 표현한다. ex) ko en en-US Content-Length: 표현데이터의 길이를 나타낸다. (바이트 단위) 협상(콘텐츠 네고시에이션) Accept: 클라이언트가 선호하는 미디어타입 전달 Accept-Charset: 클라이언트가 선호하는 문자 인코딩 Accept-Encoding: 클라이언트가 선호하는 압축 인코딩 Accept-Language: 클라이언트가 선호하는 자연언어 협상과 우선 순위1 Quality Values(q) 0~1,클수록 높은 우선순위 생략하면 1 ex) Accept-Language: ko -KR; q..
HTTP 상태코드 - 1XX, 2XX, 3XX, 4XX, 5XX
·
CS/Computer Network
HTTP 상태코드란, 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능이다. 종류는 아래와 같다. 1XX(Informational) : 요청이 수신되어 처리중 2XX(Succesful) : 요청 정상처리 200 OK 201 Created -> 요청 성공해서 새로운 리소스가 생성됨 202 Accepted - > 요청이 접수되었으나 처리가 완료되지 않음 (예를 들어 요청 접수되고 1시간 뒤에 작업이 수행될때) 204 No Content -> 서버가 요청을 성공적으로 수행했지만, 응답 페이로드 본문에 보낼 데이터가 없을때(예컨대 웹 문서 편집기에서 save버튼 눌렀을때 같은 화면을 유지해야하기 때문에 결과로 아무 내용도 없어야한다. ) 3XX(Redirection):요청을 완료하려면 유저 에이전트(..
API URI 설계
·
CS/Computer Network
URI는 리소스만 식별한다. Resource를 기준으로 설계해야 함! - 회원 목록 조회 /members - 회원 조회 /members/{id} - 회원 등록 /members/{id} - 회원 수정 /members/{id} - 회원 삭제 /members/{id} 리소스와 행위를 분리해야 한다. 가장 중요한 것은 리소스를 식별하는 것 URI는 리소스만 식별하게 됨 리서스와 해당 리소스를 대상으로 하는 행위를 분리 여기서 리소스를 대상으로 하는 행위를 HTTP메서드라고 한다. HTTP 메서드 -GET: 리소스 조회 서버에 전달하고 싶은 데이터는 쿼리 스트링을 통해서 전달 메시지 바디를 사용해서 데이터를 전달할 수 있지만, 지원하지 않는 곳이 많아서 권장하지는 않음 -POST: 요청 데이터 처리, 주로 등록에..
HTTP 특징
·
CS/Computer Network
기반 프로토콜 TCP: HTTP/1.1 , HTTP/2 UDP: HTTP/3 현재는 HTTP/1.1 주로 사용 -> HTTP/2, HTTP/3도 점점 증가 HTTP 특징으로 4가지가 있다. -클라이언트 서버 구조 -무상태 프로토콜(스테이트리스), 비연결성 -HTTP 메시지 -단순함, 확장 가능 클라이언트 서버구조 클라이언트는 서버에 요청을 보내고, 응답을 대기하는 구조이다. 이때 서버는 요청에 대한 결과를 만들어서 응답을 한다, 무상태 프로토콜(stateless) 서버가 클라이언트의 상태를 보존하지 않음 장점: 서버의 확장성이 높다 ( 스케일 아웃 -수평 확장이라고 한다) 단점: 클라이언트가 추가 데이터를 전송해야 한다. 다만 모든 것을 무상태로 설계할 수 없는 경우도 있다. 예를 들어서 로그인 하는 경..
URI와 웹 브라우저 요청 흐름
·
CS/Computer Network
URI ( Uniform Resource Identifier) -> 자원 자체를 식별하는 방법 Uniform: 리소스 식별하는 통일된 방식 Resource: 자원, URI로 식별할 수 있는 모든 것(제한 없음) Identifier: 다른 항목과 구분할 수 있는 필요한 정보 URI는 URL과 URN을 포함한다 URL(Resource Locator) - Resource가 있는 위치를 지정 URN(Resource Name) - Resource의 이름을 부여 - 위치는 변할 수 있지만, 이름은 변하지 않음 - URN 이름만으로 실제 리소스를 찾을 수 있는 방법이 보편화 되지 않음 리소스 분석 https://www.google.com:443/search?q=hello&hi=ko scheme://[userinfo@..
인터넷 네트워크 - IP, TCP, UDP, PORT, DNS
·
CS/Computer Network
학부생 시절에 컴퓨터 네트워크 관련 전공 강좌를 들었지만 당시에도 굉장히 어렵게 들었었던 기억이 있기도 하고, 정보처리기사 자격증을 예전에 땄지만 피상적으로 이해한 부분이 많은 것 같다는 생각이 들었습니다. 또한 웹 개발을 하면서 네트워크 관련 지식이 탄탄하지 않으면 놓치는 부분이 많을 것 같아 네트워크 관련된 공부를 집중적으로 수행하기로 목표를 세우게 되었네요. 현재 컴퓨터 네트워크 관련 아주 간단한 기초 서적 정도는 읽은 상태이고- 이후 HTTP 네트워크 관련 전공 지식을 탄탄히 하고자 기초부터 다잡는 마음으로 김영한님의 '모든 개발자를 위한 HTTP 웹 기본지식' 강의를 수강하게 되었습니다. 이 강의를 수강한 이후에 부족한 내용은 서적을 구매하여 심도 있게 공부해나갈 예정입니다! 아래는 강의를 듣고..
다양한 페이지 교체 알고리즘
·
CS/Operating Systems
FIFO 페이지 교체 알고리즘 시간상 메모리에 가장 먼저 들어온 페이지를 스왑 영역으로 내쫓는 알고리즘. 큐로 구현하며 알고리즘이 가장 간단하다.(그저 가장 오래된 페이지를 내쫓으면 되니까..) 페이지 부재가 가장 많이 발생한다고 한다. 최적 페이지 교체 알고리즘 앞으로 사용하지 않을 페이지를 스왑 영역으로 옮기는 알고리즘. 가장 멀리 있는 대상 페이지로 교체한다. 하지만 미래에 어떤 페이지를 교체할지 모른다는 점에서 실현 불가능함. LRU 교체 알고리즘 사용한지 가장 오래동안 사용하지 않았던 페이지를 대상으로 교체한다, 각 페이지마다 시간기억영역을 따로 두어 사용한다. LFU 페이지 교체 알고리즘 최소 빈도 사용 알고리즘으로, 페이지가 몇번 이용되었느냐에따라 대상 페이지를 선택한다. 즉 사용 횟수가 가..
takoyummy
'CS' 카테고리의 글 목록 (3 Page)