티스토리 뷰
nc example.com 80
nc (netcat) 명령어를 터미널에 입력하면 간단하게 TCP 연결을 생성할 수 있다.
GET / HTTP/1.0
Host: example.com
그 다음 GET 요청을 작성한 뒤 엔터를 누르면 response를 받을 수 있다.
터미널에서 명령어를 통해 간단하게 TCP 연결 및 HTTP 요청을 수행했다! HTTP 요청과 응답을 하나씩 뜯어보면
request header 분석
GET / HTTP/1.0
GET: HTTP method를 의미
/: 요청 url
HTTP/1.0: HTTP 버전
Host: example.com: 요청 도메인 이름
response header 분석
HTTP/1.0 200 OK
HTTP/1.0: HTTP 버전
200 OK: 응답 상태 코드
그 외 key:value 형식으로 다양한 응답값이 있다.
response에는 header와 payload가 존재한다. payload는 위의 사진에 일부 잘린 html이며 header와 엔터로 구분된다.
HTTP 1.0과 1.1
HTTP 1.0은 많은 단점이 있는데 그 중 하나는 multiple request가 되지 않는 것이다. 위에서 실습한 nc 명령어에 HTTP 버전을 1.1로 바꾸면 request한 뒤 한번더 요청이 가능하다. (1.0으로 연결하면 한 번 요청을 보내고 연결이 끊어진다) 이러한 단점은 TCP handshake 시간지연에 따른 비효율로 1.1에서 개선되었다.
'컴퓨터 공학(CS) > 네트워크 기본 정보' 카테고리의 다른 글
네트워크 인캡슐레이션과 디캡슐레이션 (0) | 2021.10.23 |
---|---|
OSI 7계층과 TCP/IP (0) | 2021.10.23 |
네트워크 프로토콜 (0) | 2021.10.23 |
댓글
최근에 올라온 글
최근에 달린 댓글
TAG
- 20200415
- 백준
- chapter8
- 20200622
- 20201204
- 20200420
- 20200403
- 20200424
- 20200330
- 20200427
- 20200413
- 20200406
- 20200417
- 20200423
- 20200512
- 20200510
- likelion
- 20200425
- chapter7
- 20200428
- 20200624
- 생활코딩리눅스
- 20200319
- 20200421
- 20200504
- 20200503
- 20200502
- 20200804
- 20200317
- 20200429
- Total
- Today
- Yesterday