반응형
1. HTTP 프로토콜과 WWW 구성 요소 이해
다양한 응용 계층 프로토콜
- HTTP/HTTPS(HyperText Transfer Protocol): 웹사이트 접속
- FTP(File Transfer Protocol): 파일 송수신
- SMTP/POP3(Simple Main Transfer Protocol): 메일 송신/수신
- DNS(Domain Name System): 이름 해석
HTTP(HyperText Transfer Protocol)
- 인터넷(WWW) 상에서 정보를 주고받는 프로토콜
- HTTP method: GET, POST, PUT, DELETE
- Server/Client 모델로 Request/Response 사용
- Client에서 요청을 보내면 Server에서 응답을 주는 것
- HTTP는 Connectionless한 프로토콜로, 1회성 Request 및 Respone를 함
- TCP/IP socket을 이용해서 연결됨
www란?
- w3또는 웹(Web)
- 주요 요소: HTML, URL, HTTP
-> HTML: 마크업(markup) 언어, hypertext와 hyperlink로 구성
HTTP 1.1
- HTTP 1.1은 keepalive 기능을 통해, 서버에서 설정된 keepalive timeout까지는 연결과정 없이 데이터 송수신 가능
-> 내부적으로 매번 TCP 3-way handshake 과정을 거칠 필요가 없어짐
2. HTTP 프로토콜/request와 response 이해
Request
GET / HTTP/1.1 # Html Method, Path, HTTP 버전(HTTP Requser-Line)
Host: wwww.google.kr # HTTP Requset-Header(Host, Connection까지)
Coneection: keep-alive
# 필요 시: HTTTP Requset-Body 출력
Response
HTTP/1.1 200 OK # HTTP 버전, Status Code, Status Message(HTTP Response-Line)
Server: Apache # 웹 서버 정보
Content-type: text/html # MINE 타입
Content-length: 107 # HTTP Body 길이(여기까지 HTML Response-Header)
<html><head></head> # HTML 데이터(HTTP Response-Body)
3. HTTP 프로토콜/메서드와 상태코드 이해
HTTP 주요 Requset Method
- GET: 정보 읽기(SELECT)
- 웹사이트에 처음으로 접속하면 일반적으로 이 방식으로 HTML을 가져옴
- 전달이 필요한 파라미터들은 URL을 통해 전달(보안에 취약해질 수 있으므로 유의)
- POST: 정보 입력하기(INSERT)
- 전달이 필요한 파라미터들은 HTTP body에 포함되어 전달되므로 사용자는 직접적인 확인 불가
- PUT: 정보 수정하기(UPDATE)
- DELETE: 정보 삭제하기(DELETE)
HTTP 주요 상태코드(응답 코드)
상태 코드 | 의미 |
200 | 정상 |
400 | 유효하지 않은 파라미터 OR 잘못된 요청 |
401 | 승인되지 않은 엑세스(접근) |
403 | 엑세스(접근) 금지 |
404 | 리소스(경로)를 찾을 수 없음 |
500 | 내부 서버 오류 |
반응형