본문 바로가기
🌱 Computer Science/Network

[NetWork/Web] HTTP 동작방식(웹브라우저-웹서버) IP/TCP/HTTP

by 카프리썬_ 2020. 4. 11.
728x90
728x90

1. 사용자가 URL주소 입력
2. DNS
서버에 의해 IP주소 찾음

IP : 각각의 패킷을 상대방에게 전달하는 역할

IP주소: 컴퓨터 네트워크에서 장치들이 서로 인식하기 위한 특수번호

이 번호를 이용해서 누가 보냈고, 누가 받아야하느지 식별해서 데이터를 전달한다(변경가능)

MAC주소 : 네트워크 인터페이스에 할당된 고유 식별자(변경불가)
ARP(Address Resolution Protocol : 주소 결정 프로톸톨)을 이용해서 통신을 한다.  

데이터를 보낼 목적지를 MAC주소를 사용해서 찾아감

 

 


3.
웹서버와 TCP연결시도

TCP : Transmission Control Protocol 데이터를 패킷으로 분해하고, 정확하게 도착했는지 확인하는 역할

3-way-handshaking : 클라이언트와 서버간에 신뢰성 있는 연결을 위한 3번의 패킷교환과정
1. Client->Server : 처음으로 패킷을 보낸다(SYN)
2. Sever ->Client : Client
가 보낸거 잘받았고(ACK), 내가 처음으로 패킷을 보낸다(SYN)
3. Client-> Server : Server
가 보낸거 잘받았고(ACK) 이제 서로 데이터(HTTP메세지)를 보낼 준비 완료

 

4. 웹서버와 http메세지 주고받음

 HTTP : Hyper Text Transfer Protocol, Hyper Text를 전송하기 위한 프로토콜, Request&Response 주고받는 역할 

클라이언트가 서버에 요청을 보내면,

그에 맞는 응답 결과를 돌려주고,

클라이언트는 사용자에게 서버로부터 응답받은 결과를 보여주는 것

HTTP통신 특징 : 기본적으로 연결이 되어 있지 않다.

클라이언트가 서버에 요청을 보내고 응답을 받으면, 그것으로 통신이 종료된다

서버는 클라이언트가 웹 사이트에 접속해 있는지, 알 수 없다.

 

서버에 요청을 보내고, 서버로부터 필요한 파일을 모두 받고 나면 접속이 종료(Connection Close)

요청을 보내고 응답을 받을 때 우리는 그 정보들을 패킷(Packet)이라는 작은 조각에 실어서 보내게 됩니다.
 

4-1. 클라이언트 -> 서버 : request 전송

요청메세지 : 메소드/ 요청UTL / HTTP버전

4-2. 서버 -> 클라이언트 : response 받음

응답메세지 : HTTP버전/상태코드/사유구절

 

 

HTTP상태코드

https://pearlluck.tistory.com/104 

 

Http Status Code 4XX, 5XX

4xx (클라이언트 오류) : Client가 보내는 error response 400 bad request 요청의 잘못된 문법으로 서버가 요청을 이해 할 수 없음 401 Unauthorized 클라이언트가 요청한 응답을 받기 위해서 스스로 인증이 되지..

pearlluck.tistory.com

 

HTTP헤더

Coonection keep-alive 옵션 : 일반적으로 클라이언트 서버간의 통신은 한번 맺고 끝나는데 이를 재활용하기 위한 목적

Content-Type : 응답하는 컨텐츠의 유형

Cache-control : 캐쉬사용을 어떻게 할지 제어

 

 

5. 웹서버와 TCP연결 해제

4-way-handshaking : 클라이언트와 서버간에 양쪽다 연결을 종료시킨다
1. Client->Server :
처음으로 종료한다는 패킷을 보낸다(FIN)
2. Sever ->Client : Client
가 보낸거 잘받았고(ACK)
3. Sever ->Client : Server
가 처음으로 종료한다는 패킷을 보낸다(FIN)
4. Client-> Server : Server
가 보낸거 잘받았고(ACK) 이제 서로연결 종료한다.

출처: 
https://cordelia273.space/11 [세상의 모든 지식]

https://jess-m.tistory.com/17

 

HTTP 동작 과정

예전에 공부했던 내용을 정리~ HTTP 동작 순서 일반적으로 표현하는 클라이언트는 브라우저가 될 것이고, 서버는 웹 서버 혹은 웹 어플리케이션 서버가 될 것이다. 1. 사용자가 웹 브라우저에 URL 주소 입력 2. DN..

jess-m.tistory.com

그림 출처 : https://velog.io/@conatuseus/2019-09-10-2009-%EC%9E%91%EC%84%B1%EB%90%A8-xsk0ds2eqf

 

웹과 네트워크의 기본(TCP/IP)

이 시리즈는 그림으로 배우는 Http&Network Basic을 읽고 정리한 내용입니다. 이번 포스팅에서는 HTTP를 이해하는데 알아야 할 TCP/IP 개념만 설명하겠습니다. 1. 네트워크의 기본은 TCP/IP 인터넷을 포함하여 일반적으로 사용하고 있는 네트워크는 TCP/IP라는 프로토콜에서 옴직이고 있습니다. HTTP는 그 중 하나입니다. 이제 TC...

velog.io

 

728x90
반응형