본문 바로가기
야미스터디/Network

HTTP 완벽 가이드 - 1

by 의정부핵꿀밤 2020. 12. 25.
728x90

과학도서관에서 산학연계 공부하려고 이거 저거 찾다가 HTTP 책 젤로 두꺼운거 참고만 하려고 빌려왔는데 생각보다 도움되는거 같아서 여기다 정리해보려 한다.

얼른 HTTP 전송 성공해서 SFTP하고 산학연계 끝내야지

아 나 밤낮 언제바꿔ㅠㅠ 오늘도 2시반에 일어남... 사실 어제 7시반 넘어서 잤어ㅋㅋㅋㅋ

오늘은 열심히 공부하고 책도 읽고 일찍 자야징ㅎㅎㅎ

배쿠 바이킹 귀여워ㅠㅅㅠ
갭차이 뭐야.. 회전목마 주인같네...웅성웅성 <3

 

--------------------------------------------------------------------------------------------------------------------------------

HTTP는 웹에서 전송되는 객체 각각에 MIME 타입이라는 데이터 포맷 라벨을 붙인다.

ex. Content-type : image/jpg 요런 느낌?

- HTML : text/html

- plain ASCII : text/plain

- JPEG : image/hpeg

- GIF : image/gif

- 애플 퀵타임 동영상 : video/quicktime

- 마이크로소프트 파워포인트 프레젠테이션 : application/vnd.ms-powerpoint

 

 

웹서버 리소스는 각자 이름을 갖고 있기 때문에 클라이언트는 관심있는 리소스를 지목할 수 있다. 서버 리소스 이름은 URI라고 불린다. 대부분의 URI는 URL이다.

 

http://www.naver.com/image/pp.png

-> HTTP 프로토콜을 사용해서 naver.com으로 이동한 뒤 image/pp.png라고 불리는 리소스를 가져와라

 

<HTTP 메서드>

- 여러가지 종류의 요청 명령

- HTTP 요청 메시지는 한 개의 메서드를 갖는다.

- 메서드는 서버에게 어떤 동작이 취해져야 하는지 말해준다

- GET : 서버에서 클라이언트로 지정한 리소스를 보내라

- PUT : 클라이언트에서 서버로 보낸 데이터를 지정한 이름의 리소스로 저장하라

- DELETE : 지정한 리소스를 서버에서 삭제하라

- POST : 클라이언트 데이터를 서버 게이트웨이 애플리케이션으로 보내라

- HEAD : 지정한 리소스에 대한 응답에서 HTTP 헤더 부분만 보내라

 

<상태 코드>

- 클라이언트에게 요청이 성공했는지 아니면 추가 조치가 필요한지 알려주는 세 자리 숫자

- 200 : 문서가 바르게 반환됨

- 302 : 다시 보내라. 다른 곳에서 리소스를 가져와라

- 404 : 없음. 리소스를 찾을 수 없다

- HTTP는 각 숫자 상태 코드에 텍스트로 된 사유 구절도 함께 보낸다. OK이런거. 상태코드랑 같은걸로 생각하면됨

 

<TCP/IP>

- HTTP는 애플리케이션 계층 프로토콜이며 이는 네트워크 통신의 핵심적인 세부사항에 대해서 신경 쓰지 않는다. 대신 대중적이고 신뢰성 있는 인터넷 전송 프로토콜인 TCP/IP에게 맡긴다.

- TCP/IP는 각 네트워크와 하드웨어의 특성을 숨기고, 어떤 종류의 컴퓨터나 네트워크든 서로 신뢰성 있는 의사소통을 하게 해준다.

- 일단 TCP 커넥션이 맺어지면 클라이언트와 서버 컴퓨터 간에 교환되는 메시지가 없어지거나 손상되거나 순서가 뒤바뀌어 수신되는 일은 결코 없다 (오 좋다)

HTTP 네트어크 프로토콜 스택

- HTTP 클라이언트가 서버에 메시지를 전송할 수 있게 되기 전에, 인터넷 프로토콜(IP) 주소와 포트 번호를 통해 클라언트와 서버 사이에 TCP/IP 커넥션을 맺어야 한다.

 

<TCP/IP HTTP 통신 순서 - 웹브라우저가 서버의 단순한 HTML을 클라이언트에게 보여주는 방법>

1. 웹브라우저는 서버의 URL에서 호스트 명을 추출한다.

2. 웹브라우저는 서버의 호스트 명을 IP로 변환한다

3. 웹브라우저는 URL에서 포트번호가 있다면 추출한다

4. 웹브라우저는 웹 서버와 TCP 커넥션을 맺는다

5. 웹 브라우저는 서버에 HTTP 요청을 보낸다.

6. 서버는 웹브라우저에게 HTTP 응답을 돌려준다

7. 커넥션이 닫히면 웹브라우저는 문서를 보여준다

 

- telnet(텔넷) : 텔넷은 인터넷이나 로컬 영역 네트워크 연결에 쓰이는 네트워크 프로토콜이다.

(이게 뭐지..?)

 

 

일단 이정도만 하고 갑자기 산학 방향이 또 바뀌어서 다른걸 먼저 구현하려고 한다....에효..

 

728x90

'야미스터디 > Network' 카테고리의 다른 글

[Network] HTTP 1, 2, 3 📌  (0) 2022.09.12
[Network] cast 📌  (0) 2022.09.02
[Network] Cookie vs Session 📌  (0) 2022.08.04
[Network] REST API 📌  (0) 2022.07.13
얄팍한 코딩사전 - REST API가 뭔가요?  (0) 2021.07.31

댓글