브라우저에 의해서 자동으로 생성되고 설정됨
http: // localhost : 8080 / board / login.html
프로토콜 → http
요청 전달 시 HTTP 프로토콜 사용
프로토콜 구분자 → //
프로토콜과 호스트 이름을 구분
호스트(도메인) → localhost
웹 서버가 설치된 컴퓨터(호스트)를 찾음
localhost = 현재 사용중인 컴퓨터
전세계 수 많은 컴퓨터 중에 내 컴퓨터에 접근
포트 → 8080
8080 포트 사용하는 서버에 접근
컴퓨터에 설치된 수많은 서버 중에 해당 포트 번호로 원하는 특정 서버 접근
웹 애플리케이션 → BoardWeb
해당 포트를 사용하는 서버에서 BoardWeb이란 웹 애플리케이션에 접근
디렉토리 → board
해당 애플리케이션에서 board 디렉토리에 접근
파일 → login.html
해당 디렉토리에서 login.html 파일 요청
jdbc:h2:tcp://localhost/~/test
http가 아닌, jdbc로 시작
문법적인 규칙은 위와 동일
- 브라우저는 웹 서버에 HTTP 요청 프로토콜 만든 후 전달한다.
- 브라우저는 웹 서버가 전송한 HTTP 응답 프로토콜기반으로, 사용자에게 결과 화면을 전달한다.
의미 | CRUD | 멱등성 | 안전성 | Path Variable | Query Parameter | DataBody | |
---|---|---|---|---|---|---|---|
GET | 리소스 취득 | R | O | O | O | O | X |
POST | 리소스 생성, 추가 | C | X | X | O | △ | O |
PUT | 리소스 갱신, 생성 | C / U | O | X | O | △ | O |
DELETE | 리소스 삭제 | D | O | X | O | O | X |
HEAD | 헤더 데이터 취득 | O | O | ||||
OPTIONS | 지원하는 메소드 취득 | O | |||||
TRACE | 요청 메시지 반환 | O | |||||
CONNECT | 프록시 동작의 터널 접속으로 변경 | X |
멱등성 : 몇번을 서버에 요청하더라도 같은 응답 결과가 나오는 것
안전성 : 몇번을 서버에 요청하더라도 서버의 데이터에 변화가 생기지 않고 위험성이 없음
아래 링크에 URI 를 정리해두었다
3. URL과 URI의 차이점, URI 설계 패턴
http://www.ssamz.com:80/lecture/servlet01.html
브라우저의 url
http://www.ssamz.com:80/lecture/servlet01.html → GET 방식
lecture/servlet01.html → BoardWeb/board/login.html
http → HTTP/1.1
GET BoardWeb/board/login.html HTTP/1.1
브라우저의 url을 GET 방식으로 바꾼 것
요청 방식 Method → GET
요청 URL → BoardWeb/board/login.html
프로토콜 이름/버전 → HTTP/1.1
GET 방식 : 디폴트
POST 방식 : POST로 직접 지정할 때만 POST 방식 이용 →method="post"
<body>
<center>
<h1>회원 로그인</h1>
<hr>
<br>
<form action="#" method="post"> <!--post방식-->
<table border='1' cellpadding="0" cellspacing="0">
<tr>
<td bgcolor="orange">아이디</td>
<td><input type="text" size="20" /></td>
</tr>
<tr>
<td bgcolor="orange">비밀번호</td>
<td><input type="password" size="20" /></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit"
value="로그인" /></td>
</tr>
</table>
</form>
<br> <a href="Korean.jpeg">태극기</a>
<hr>
</center>
</body>
GET, POST의 자세한 실습은 다음 챕터에서 진행하려고 한다
Key | 설정 정보 |
---|---|
Host | 요청하려는 서버 호스트 이름과 포트번호 |
User-agent | 브라우저의 이름과 버전 정보 |
Accept | 브라우저가 처리할 수 있는 MIME Type 목록 |
Accept-charset | 브라우저가 처리할 수 있는 문자열 인코딩 목록 |
Accept-language | 브라우저가 처리할 수 있는 언어 목록 |
Accept-encoding | 브라우저가 처리할 수 있는 압축 방식 |
Cookie | Key-Value 형태의 쿠키 정보. |
공백
message-header와 body를 구분하기 위해 존재
사용자가 입력한 정보 설정
start-line에 설정된 요청 방식에 따라 메시지 바디의 상태가 달라짐