과학도서관에서 산학연계 공부하려고 이거 저거 찾다가 HTTP 책 젤로 두꺼운거 참고만 하려고 빌려왔는데 생각보다 도움되는거 같아서 여기다 정리해보려 한다.
얼른 HTTP 전송 성공해서 SFTP하고 산학연계 끝내야지
아 나 밤낮 언제바꿔ㅠㅠ 오늘도 2시반에 일어남... 사실 어제 7시반 넘어서 잤어ㅋㅋㅋㅋ
오늘은 열심히 공부하고 책도 읽고 일찍 자야징ㅎㅎㅎ
--------------------------------------------------------------------------------------------------------------------------------
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 클라이언트가 서버에 메시지를 전송할 수 있게 되기 전에, 인터넷 프로토콜(IP) 주소와 포트 번호를 통해 클라언트와 서버 사이에 TCP/IP 커넥션을 맺어야 한다.
<TCP/IP HTTP 통신 순서 - 웹브라우저가 서버의 단순한 HTML을 클라이언트에게 보여주는 방법>
1. 웹브라우저는 서버의 URL에서 호스트 명을 추출한다.
2. 웹브라우저는 서버의 호스트 명을 IP로 변환한다
3. 웹브라우저는 URL에서 포트번호가 있다면 추출한다
4. 웹브라우저는 웹 서버와 TCP 커넥션을 맺는다
5. 웹 브라우저는 서버에 HTTP 요청을 보낸다.
6. 서버는 웹브라우저에게 HTTP 응답을 돌려준다
7. 커넥션이 닫히면 웹브라우저는 문서를 보여준다
- telnet(텔넷) : 텔넷은 인터넷이나 로컬 영역 네트워크 연결에 쓰이는 네트워크 프로토콜이다.
(이게 뭐지..?)
일단 이정도만 하고 갑자기 산학 방향이 또 바뀌어서 다른걸 먼저 구현하려고 한다....에효..
'야미스터디 > 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 |
댓글