워밍업 문제
- www(World Wide Web): 웹서버에 붙인 이름, 웹을 설계한 사람이 최초로 만든 브라우저 겸 HTML 편집기
- 도메인은 개인 자격으로 취득할 수 있다.
- 네트워크 제어는 브라우저나 애플리케이션이 하는 게 아니라 OS 가 담당한다.
1. 탐험 여행은 URL 입력부터 시작한다.
브라우저
: 여러 클라이언트 기능을 하는 소프트웨어
- 기능을 선택하기 위해서 URL 맨 앞에 액세스 방법을 나타냄
- ex) http, ftp, file, mailto, news
2. 브라우저는 먼저 URL 을 해독한다.
- URL 형식은 프로토콜(액세스 방법)에 따라 다르다.
- [
프로토콜(액세스 방법)
] + // + [웹 서버명
] + / + [*디렉토리명
] + / + … + [*파일명
]
3. 파일명을 생략한 경우
- 파일명을 생략할 수 있다. → 디렉토리 하위의 index.html 등에 접근
- 디렉토리 명도 생략할 수 있다. → root 하위의 index.html 등에 접근
- 맨 끝에 / 가 없는 경우 마지막 단어는 파일이 될 수도, 폴더가 될 수도 있다. 웹 서버에 있는 것에 따라 알아서 다르게 취급
4. HTTP 의 기본 개념
- 클라이언트와 서버가 주고받는 내용과 순서에 대한 규칙
- HTTP 메소드
5. HTTP 리퀘스트 메시지를 만든다.
- 메소드는 브라우저 동작 상태에 따라 달라짐
- ex) form 데이터 submit 을 하면 POST, url 에 페이지 주소 입력하면 GET
- 메시지 헤더
- general header: request/response 모두 사용
- request header: request 만 사용(ex. User-Agent, Authorization)
- response header: response 만 사용(ex. Location, Server)
- entity header: 본문 부가 정보로 사용하는 헤더
- Allow
- Content-Encoding
- Content-Type
- 리퀘스트 메시지
- 응답 메시지
- HTTP 버전 + 스테이터스 코드 + 응답 문구
6. 리퀘스트 메시지를 보내면 응답이 되돌아온다.
- response code - 프로그램에 실행 결과 알려줄 때 사용
- response text - 사람에게 결과를 알려주는 목적
- URI 한 번에 한 개만 요청할 수 있으므로 본문 내에 이미지, 영상 등이 담겨 있으면 추가로 서버에 요청한다.
- 본문을 파싱하다가 와 같은 태그를 만나면 리소스를 요청하고, 이후 레이아웃을 정해서 화면에 표시한다.
추가 궁금증 정리 사항
GET, POST 이외에는 보안적으로 취약하다는 이야기가 무슨 말일까?
[웹 취약점] HTTP 메소드 -1