Skip to content

Latest commit

 

History

History
58 lines (38 loc) · 3.03 KB

File metadata and controls

58 lines (38 loc) · 3.03 KB

🏁 첫번째 모임


OOO 님이 생각하는 HTTP 는 ?

YHJ : HTTP 는 Stateless 한 통신방법이고 버전으로 0.9/1.0/1.1/2.0/3.0 이 있으며 최근에는 전송계층의 통신방법이 TCP 에서 UDP 통신으로 바뀌었다.
KYS : HTTP는 Client의 요청이 있어야 Server가 응답할 수 있는 단방향 통신이지만, 양방향 통신을 구현하기 위해 계속 노력해왔다.
CHH : HTTP는 OSI 5계층에 속하며, HyperText 문서를 인터넷 상에서 주고 받을 수 있도록 하는 규약(protocol)이다.
KDH : HTTP는 요청과 응답으로 나누어진다. 보안상으로 취약점이 존재하는데 그 중 하나는 xss(크로스 사이트 스크립트)이다.
KDH : HTTP는 request,reponse 메세지 포맷을 갖추고 있으며 쿠키를 이용해 인증을 수행하기도 한다. HTTP의 약점을 보완한 HTTPS도 있다.
JMS : HTTP는 웹서버와 클라이언트간의 문서를 주고 받는 통신규약이며 HTTP 1.1 부터는 Keep-Alive를 지원한다.

스터디 진행 내용

간단한 자기 소개

  • 나이/이름

스터디의 배경

  • 누군가가 'HTTP 는 무엇인가요' 라고 물어볼 때 대답하기가 애매했던 경험을 공유
  • 익숙히 사용하지만 누군가에게 설명하기 어려운 이유가 무엇인지를 고찰하고 정리할 수 있는 기회가 되기를 바람

스터디 목적

  • Java 를 사용해 HTTP 로 통신하는 클라이언트와 서버를 만들어 봄으로 내부적에서 동작하는 원리를 이해하고자 함

스터디 목표

  • 모든 구성원이 HTTP를 왜 공부해야 하는지 공감하고 이해하기
  • 유의미한 결과물을 만들고(현재 페이지) 그것을 공유하기
  • (가능하다면) 조그마한 세미나를 열어 공부한 내용을 공유하기

진행 방향

  • 앞으로 4주 간 매주 한 번씩 모여 스터디 진행 후 회고하여 이후로 스터디를 계속할지에 대해 판단함.

첫 2주는 기본적인 HTTP 클라이언트와 서버 작성
이후 2주는 OKHTTP 오픈 소스를 디버깅하면서 분석하고 토의
와 같은 방법으로 진행한다.

😱 첫번째 과제

작업하면서 토의하거나 궁금한게 있다면 Issues 에 꼭 등록해주세요 !!

  1. Socket 과 ServerSocket 을 이용해 메시지를 주고받는 Echo 서버를 만들어 본다.
  2. Client 는 Socket 을 이용해 RequestLine 을 보내고 서버는 ServerSocket 을 이용해 RequestLine 을 파싱해서 데이터를 보관하고 특정값을 반환한다.
  3. 가능하다면 URL 로 파일을 요청하고 응답으로 내려보내주는 구현도 해본다.

참고

  • 멀티 모듈로 만들어진 클라이언트 서버의 main 메서드를 이용해서 실행하자
  • HTTP Server 를 만들어보자
    • ServerSocket을 이용해 이벤트를 감시하고 요청이 왔을 때 소켓을 얻어 ThreadPool 로 처리하자.
  • HTTP Client 를 만들어보자
    • Socket 을 이용해 접속해보자