2020.10.16 첫번째 시간
OSI모형
TCP IP
HTTP 프로토콜 구조
HTTP 요청 메시지 | HTTP 응답 메시지 |
---|
Request Line | Status Line |
Header | Header |
Empty Line | Empty Line |
Body | Body |
Request Line (HTTP 요청 메시지)
- Get/restapi/v1.0 HTTP/1.1
- GET:전송방식 GET VS POST
- /restapi/v1.0 : 요청하고자 하는 resource(path, file정보)
- HTTP/1.1 : 프로토콜 방식, 버전
Empty Line
- 공백(빈줄)을 의미하고 , Header와 Body를 분리해주는 역할
Body
- 보내거나 받고자 하는 실제 데이터를 의미
- 메서드가 Get등의 경우에는 (포스트 방식에서만 존재) Body 부분 생략 가능
Status Line (HTTP 응답 메시지)
- HTTP/1.1 200 OK
- HTTP/1.1 : 프로토콜 방식, 버전
- 200 : 응답코드
- OK : 상태
- UTF-8 : 인코딩 정보
- html, json, ...
HTTP 요청 메서드
- GET : 이미 존재하는 자원(리소스)에 대해 요청함
- POST : 새로운 자원(리소스)을 생성을 요청함
- PUT : 이미 존재하는 자원(리소스)에 대해 변경을 요청함
- DELETE : 이미 존재하는 자원(리소스)에 대해 삭제를 요청함
- HEAD : 이미 존재하는 자원(리소스)에 대해 헤더정보만을 요청함
- OPTIONS : 서버 옵션들을 확인하기 위한 요청. CORS에서 사용함
- TRACE : 클라이언트가 보낸 요청을 그대로 반환함
- CONNECT : 프록시 터널링을 위해 예약된 메서드
HTTP 상태 코드
교재 p.115 표 있음 참고
- 정보 응답 100~
- 100 Continue : 클라이언트가 계속해서 요청을 하거나 이미 요청 완료한 경우 무시해도 됨
- 101 Switching Protocol
- 102 Processing
- 103 Early Hints
- 성공 응답 200~
- 200 OK
- 204 No Content
- 205 Reset Content
- 206 Partial Content
- 리다이렉션 메시지 300~
- 클라이언트 에러 응답 400~
- 서버 에러 응답 500~
예제 6.JavaNetworkTest / SimpleHTTPServer
- 실행할때 상단에 Run -> Run Configuration