[Web]WEB을 구성 하는 기본요소

Hyenna·2023년 5월 16일
0

Web

목록 보기
1/2
post-thumbnail

🌐URI, URL, URN

  • URI(Uniform Resource Identifier) : 리소스를 식별하기 위한 식별자
  • URL(Uniform Resource Locater) : 리소스의 위치를 식별하기 위한 URI의 하위개념, 흔히 웹 주소
  • URN(Uniform Resource Name) : 인터넷 상의 자원을 이름으로 표시하는 방법

👉URI의 구성요소

부분명칭설명
file://, http://, https://scheme통신 프로토콜
127.0.0.1, www.google.comhost웹 서버, 도메인 또는 IP
:80, :443, :3000port웹 서버에 접속하기 위한 통로
/search, /Users/username/Desktoppath파일이 위치한 경로
q=JavaScriptquery웹 서버에 전달하는 파라미터(추가적인 정보)

📨HTTP

  • 웹을 이용하기 위한 통신 규약
  • 모든 데이터가 평문으로 암호화 없이 전송되어 네트워크 공격에 의해 정보가 유출 될 수 있음
  • 기본 포트 : 80
  • 사용자->서버 Request, 서버->사용자 Response로 이루어짐

📤HTTP Request

"웹 서버에 데이터를 요청하거나 전송할 때 보내는 패킷"

  • GET
    • URL에 해당하는 자료 전송을 요청
    • 가장 일반적인 형태
    • 보낼 수 있는 데이터 크기 : 최대 4kb
  • POST
    • 서버가 처리할 수 있는 자료를 전달
    • 인수 값을 URL을 통해 전송하지 않으므로 링크를 통해 해당 페이지를 볼 수 없음
    • 데이터가 URL을 통해서 노출되지 않음
    • 파일 업로드, 글 저장/수정/삭제 및 데이터 전송
  • HEAD
    GET과 같은 요청이나 자료에 대한 정보만을 받음
  • PUT
    메시지에 포함되어 있는 데이터를 지정한 URI 장소에 그 이름으로 저장
  • DELETE
    URI에 지정되어 있는 자원을 서버에서 제거
  • TRACE
    요구메시지의 최종 수신처까지 루프백 검사용으로 사용
  • OPTIONS
    서버가 특정 URL에 대해 어떠한 HTTP method를 지원하는지 질문
  • CONNECT
    프록시가 사용하는 요청

📤Request의 구성요소

[Request Line]

Method / Path / Version
🔸Method : 서버에 요청 시 수행하고자 하는 동작
🔸Path : 서버에 요청하는 웹 리소스의 경로
🔸Version : HTTP 버전

Ex. GET / URI / HTTP/1.1

[Request Headers(Name:Value)]

"서버의 추가 정보를 전달하는 데이터 부분"

🔸Host : 데이터를 보내는 서버 주소
🔸Cookie : 사용자 식별하기 위한 정보
🔸User-Agent : 사용자가 사용하는 프로그램의 정보
🔸Referer : 페이지 이동 시 이전 URI의 정보
🔸Content-Type : 전달하는 데이터의 처리방식과 형식


📥HTTP Response

"헤더 정보 뒤에는 실제 데이터가 전달됨"

실행결과 코드내용설명
100번대정보전송Request 받고, 처리 중에 있음
200번대성공Request를 성공적으로 처리
300번대리다이렉션Request 완료를 위해 추가 동작이 필요
400번대클라이언트 측 에러클라이언트 요청을 처리할 수 없어 오류 발생
500번대서버 측 에러서버에서 처리하지 못하여 오류 발생

📥Response의 구성요소

[Status Line]

🔹Version : HTTP 버전
🔹Status code : 사용자의 요청에 대한 서버의 처리 결과

[Response Headers(Name:Value)]

"사용자와 상호작용하기 위한 데이터를 담는 부분"

🔹Content-Type : 응답 데이터를 웹 브라우저에서 처리할 방식과 형식
🔹Content-Length : 응답 데이터의 길이
🔹Server : 서버가 사용하느 소프트웨어의 정보
🔹Allow : 허용되는 Method 목록을 사용자에게 알려줌
🔹Location : 300번 영역의 응답코드 사용 시 변경된 웹 리소스의 주소를 나타냄
🔹Set-Cookie : 사용자에게 쿠키 발급할 때 사용

0개의 댓글