인터넷 검색을 좋아하는 저는, google.com이나 naver.com 앞에 https:// 나 http://가 붙는 이유가 늘 궁금했습니다. 따라서 이러한 궁금증 해결을 위해 http 통신에 대한 내용을 오늘 기록해보려고 합니다.
HTTPは、 「Hyper Text Transfer Protocol」の略です。 今やインターネットの代名詞となったWWW(World Wide Web)上でWebサーバとクライアントが、 HTML(Hyper Text Markup Language = Webページを記述するための言語)で書かれた文書などの情報をやりとりする時に使われる通信手順(プロトコル)を意味します。 CERN(欧州原子核研究機構)に在籍していたティム・バーナーズ・リー氏によって、 1990年前後に開発されました。 基本的には普通のテキストデータを使い、 ブラウザなどのクライアントがWebサーバに対してget、putといったコマンドを送ると、 それに応じた結果がサーバから送られてきます。 送られてきた結果であるHTML、 JPEGといったデータをきれいに成形して見せるのは、 Webブラウザの仕事になっています。 とはいえ、テキストしか表示できないWebブラウザも存在しますし、 必ずしも全てのWebブラウザで見た目が同じになることが保証されているわけではありません。
한국어로 다시 정의하면,
HTTP (HYPER TEXT TRANSFER PROTOCOL)은, 브라우저와 서버가 통신할 수 있도록 만들어주는 여러 프로토콜 가운데 한 종류로, 웹 브라우저와 웹 서버에 HTML(웹 문서를 만들기 위한 언어) 문서를 주고받는데 쓰이는 통신 프로토콜입니다.
그럼 통신 프로토콜은 무엇일까요?
컴퓨터나 원거리 통신 장비 사이에서 메세지를 주고받는 양식과 규칙의 체계를 말합니다! 그럼 HTTP PROTOCOL의 특징은, HTTP에서는 클라이언트가 서버에 요청 메세지를 보내고, 서버는 클라이언트의 요청에 대한 응답을 반환합니다.
그럼 요청과 응답 과정에 대해 알아봐야하는데, 그전에 클라이언트와 서버를 이해해야 합니다. 클라이언트는 요청을 보내는 쪽, 일반적인 예시로 브라우저가 있습니다. 서버는 요청을 받는 쪽이며 일반적인 예시로 원격지의 컴퓨터가 있습니다.
HTTP REQUEST의 구조는
REQUEST LINE, HEADER, BODY 가 있고
HTTP RESPONSE의 구조는
STATUS LINE, HEADER, BODY가 있습니다.
마지막으로, HTTP의 STATUS도 알 수 있고 다음과 같습니다.
1XX : 요청 정보를 처리중
2XX : 요청을 정상적으로 처리함
3XX : 요청을 완료하기 위해 추가 동작이 필요함
4XX : 클라이언트의 요청 오류
5XX : 서버 측 오류