컴퓨터공학 공부

컴퓨터공학 공부 다시 시작하기 24주차-HTTP 프로토콜과 WWW 구성 요소 이해, HTTP 프로토콜/request와 response 이해, HTTP 프로토콜/메서드와 상태코드 이해(네트워크)

개발학생 2025. 4. 3. 15:50
반응형

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 내부 서버 오류

 

반응형