-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[2부 5장] 웹 서버 #6
Comments
[p130, 웹 서버가 하는 일]
|
[CRLF 관련]
|
[Note]
|
The End of the Line ConventionEOL(End-of-Line) 시퀀스에 대한 규약입니다. 텍스트 줄의 끝은 문자 시퀀스 캐리지 리턴 줄 바꿈(CR, LF)으로 표시되어야 합니다. 이 규칙은 송신 및 수신 메커니즘 모두에 적용됩니다. |
상황에 따라 달라질 수 있습니다was에서 만든 것을 사용할 수도 있고, webserver에서 만들어서 처리할 수 있습니다. |
여기서 의미하는 스레드란?커널 레벨 스레드를 의미합니다. 단일 스레드 I/O 아키텍처한 번에 하나씩 req를 처리한다. node.js로 구성한 웹서버는 단일 스레드에 해당합니다. 다중 I/O 아키텍처모든 커넥션은 동시에 그 활동을 감시당한다 : 모든 커넥션을 미리 연결시켜 놓는다는 뜻입니다. 차이점단일 스레드 방식은 커넥션 연결 -> 작업 수행 -> 커넥션 종료로 매번 커넥션을 연결, 종료해야 하는 수고로움이 있습니다. |
5. 웹 서버
5.1 다채로운 웹 서버
5.1.1 웹 서버 기능
5.1.2 다목적 소프트웨어 웹 서버
apache
같은 오픈 소스 또는microsoft
같은 상용 소프트웨어들이 있다.5.2 웹 서버가 하는 일
5.3 웹 서버가 HTTP 트랜잭션을 처리하는 방법
1. 클라이언트 커넥션 수락
새 커넥션 다루기
클라이언트 호스트 명 식별
2. 요청 메세지 수신
웹 서버는 입력 데이터를 네트워크로부터 불규칙적으로 받는다. 커넥션이 언제 끊킬지 모르니,
파싱해서 데이터를 이해할 수 있는 수준의 분량을 확보할 때까지 메시지 일부분을 메모리에 임시로 저장한다.
커넥션 입력/출력 처리 아키텍처
단일 스레드 문제점
멀티 프로세스와 멀티 스레드 웹 서버 문제점
다중 I/O 서버
3. 요청 처리
4. 리소스의 매핑과 접근
Docroot : 정적 컨텐츠 리소스 매핑
일반적으로 웹 서버 파일 시스템의 특별한 폴더를 웹 콘텐츠를 위해 예약해둔다.
이 폴더는 문서 루트 혹은 Docroot라고 부른다.
가상 호스팅 된 docroot
사용자 홈 디렉터리 docroots
디렉터리 목록
동적 콘텐츠 리소스 매핑
서버사이드 인클루드(Server-Side Includes, SSI)
접근 제어
5. 응답 만들기
응답 엔터티
MIME 타입 결정하기
mime.types
리다이렉션
리소스가 영구적으로 옮겨진 경우
임시로 리소스가 옮겨진 경우
URL 증강
부하 균형(Load Balancing)
친밀한 다른 서버가 있을 때
디렉토리 이름 정규화
6. 응답 보내기
7. 로깅
The text was updated successfully, but these errors were encountered: