Skip to content
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주차 미션 / 서버 1조 박지원 #20

Open
wants to merge 7 commits into
base: main
Choose a base branch
from

Conversation

david-parkk
Copy link
Member

안녕하세요 서버 1조 박지원(david-parkk)입니다. 😄
프레임워크가 잘해주겠지 라는 생각으로 HTTP와 톰캣에 대해서 잘 알지 못하였는데, 워크북을 작성하고 실습해 보면서 서버와 클라이언트 통신에 대해 이해할 수 있어서 전주 보다 재밌게 과제를 진행했습니다.
개인의 불찰로 미션 2인 리펙토링을 진행하지 못하였습니다.
코드리뷰 관련 규칙이 변경된 것으로 알고 있는데 추후에 과제를 완료하고 리뷰를 요청하겠습니다
미션 1을 진행하면서 제가 만난 몇가지 문제들을 이야기 하고자 합니다.

1. URL 받기 🔨

  • 유틸클래스에 data를 받아오는 함수를 확인하고 이를 사용하고자 하였습니다.
  • 문제는 함수 파라미터에 데이터의 길이를 명시해야하는데, HTTP header에 body length는 명시하는 것으로 알고 있으나 header의 경우 따로 길이를 명시하지 않아서 HTTP request를 다시 확인하였습니다.
  • 해당함수는 POST 요청에 해당하는 body를 받기 위한 함수로 헤프닝(?) 으로 끝났습니다.

2. TCP의 통신 횟수 🔨

  • 하나의 요청에 대해서 여러개의 TCP connection이 발생하는 것이 확인 되었습니다.
  • 튜터님에 질문결과 단순히 페이지를 받아오는 것이 아닌 페이지 html 안에서 있는 css와 같은 부가요소들도 받아야하기 때문에 html을 먼저 받고 html 정보를 읽으며 부가요소들에 대한 통신이 발생한다고 이해했습니다.

3. 문자열 비교 🔨

  • Path 클래스에서 가져온 URL이 == 로는 비교가 되지 않은 이슈가 있었습니다.
  • 자바에서 String을 인스턴스를 생성하면 힙에 그렇지 않고 String str = "str" 은 인스턴스를 상수풀에 저장하는데 당연히 상수풀에 있는 String을 사용한다고 생각했습니다 equals 메소드로 해결하였습니다.

4. 웹캐시 🔨

  • 코드로 수정된 내용이 브라우저내에 반영 되지 않는 이슈가 있었습니다.
  • 수정된 부분이 있으면 브라우저에서 새로고침 또는 ctrl + shift + R 웹캐시를 삭제하는 방식으로 해결하였습니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant