둘러보기 메뉴
검색
바뀐글
임의글
개인 도구
가입하기
로그인
도움말
도움말
질문게시판
자주 묻는 질문
커뮤니티
실시간 채팅방
가입인사게시판
자유게시판
뉴스게시판
제재안게시판
최근 토론
페미위키
공지사항
개선 요청
바뀐글
임의글
파일 올리기
다면 분류 목록
특수 문서 목록
HTTP 문서 원본 보기
이름공간
문서
토론
주시
도구
여기를 가리키는 문서
가리키는 글의 최근 바뀜
문서 정보
위키베이스 항목
행위
보기
읽기
원본 보기
역사 보기
←
HTTP
문서 편집 권한이 없습니다. 다음 이유를 확인해주세요.
요청한 명령은 다음 중 하나의 권한을 가진 사용자에게 제한됩니다:
사용자
,
Seeders
.
문서를 고치려면 이메일 인증 절차가 필요합니다.
사용자 환경 설정
에서 이메일 주소를 입력하고 이메일 주소 인증을 해주시기 바랍니다.
문서의 원본을 보거나 복사할 수 있습니다.
== 개요 == '''HTTP'''(Hyper Text Transfer Protocol)는 하이퍼텍스트 등을 전송하기 위한 네트워크 규약으로, [[OSI 7 계층]]에서 애플리케이션 계층에 해당하는 [[프로토콜]]이다. 주로 사용되는 포트는 80 포트이며, 이 외에 8000, 8080 포트 등이 자주 사용된다. 단, 8000이나 8080 포트는 좀비 PC 프로그램에도 종종 사용되고 있어서 일부 네트워크망에서는 차단되어 있다. 현재 최신 규약 버전은 2.0이며, 가장 많이 사용되는 버전은 1.1이다. 1.0 버전은 거의 쓰이지 않고 있다. 최근에는 웹 서버와 [[웹 브라우저]] 사이에서 뿐 아니라 여러 프로그램에서 두루두루 쓰이는데, [[게임]], [[SNS|메신저]]는 물론이고 여러 가지 애플리케이션에서 서버와의 통신에 사용하고 있다. 서버를 따로 만들 필요가 없이 웹 서버에 웹 애플리케이션만 작성하면 되기 때문에 생산성이 높아지기 때문이다. 이렇게 일반 애플리케이션에서 사용하는 HTTP 또는 HTTPS 통신 규약은 크게 [[SOAP]]과 [[RESTful]]으로 나눌 수 있다. == 프로토콜 동작 방식 == HTTP는 기본적으로 [[TCP/IP]]로 구현되고, 요청(Request)과 응답(Response)의 순서로 동작한다. 모든 요청과 응답에는 헤더 부분이 포함되고, 서버와 클라이언트에서는 헤더 부분을 분석하여 본 패킷을 처리하게 된다. 클라이언트에서 서버로 요청을 하며, 서버는 요청한 클라이언트에게 응답한다. HTTP 1.0은 응답 이후 서버와 클라이언트의 TCP/IP 연결 자체가 끊어지지만 HTTP 1.1부터는 연결을 유지한다. === 요청 헤더 === : GET /w/%ED%8E%98%EB%AF%B8%EC%9C%84%ED%82%A4:%EB%8C%80%EB%AC%B8 HTTP/1.1 : User-Agent: Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko : Host: femiwiki.com 요청 헤더는 기본적으로 HTTP 메소드(HTTP Method)라고 불리는 <code>GET</code>, <code>POST</code>, <code>PUT</code>, <code>DELETE</code> 등이 첫 줄 가장 처음에 위치한다. 띄어쓰기 후 요청 URL이 들어가고, 다시 띄어쓰기 후 HTTP 버전이 들어간다. 이후 개행한다. 두 번째 줄 부터는 [[HTTP 헤더 필드|헤더 필드]]들이 들어가는데, 보통은 <code>Host</code>나 <code>User-Agent</code>, <code>Content-Length</code> 등이 들어간다. 필드 이름 바로 다음에 콜론(:)이 들어간 후 해당 필드에 대한 값이 들어간다. 필드는 여러 개가 들어갈 수 있다. 인자가 끝난 후에는 개행 문자가 두 번 들어간다. 두 개의 개행 문자가 연속으로 있으면 헤더가 끝나고 본 데이터가 들어온다는 뜻이다. === 응답 헤더 === : HTTP/1.1 200 OK : Content-Type: text/html;charset=UTF-8 : Content-Language: ko-KR : Content-Length: 12345 응답 헤더는 먼저 서버에서 HTTP 통신에 사용하는 규약 버전을 명시한 후 띄어쓰기하여 [[HTTP 오류 코드|오류 코드]]를 전송한다. 200 코드는 오류가 없다는 오류 코드이다. 이후 띄어쓰기 하여 해당 오류 코드의 설명을 추가로 작성한 뒤 개행한다. 이후 요청 헤더와 같이 헤더 필드가 들어간다. 헤더 필드가 끝나면 개행 문자가 연속 두 번 들어간다. == HTTPS == '''HTTPS'''(Hyper Text Transfer Protocol over Secure Socket Layer)는 HTTP 규약이 [[TLS|SSL(Secure Socket Layer)]] 상에서 동작하는 것을 말한다. 기존의 HTTP 규약은 OSI 7 계층의 데이터 계층인 TCP/IP 위에서 동작하는데 비해 HTTPS는 TCP/IP 위에서 동작하는 애플리케이션 계층인 SSL 위에서 동작한다. 헤더 부분조차 암호화되어 있어 보안에 유리하며, 이 보안성은 TLS 연결에 사용된 인증서의 종류에 따라 달라진다. HTTPS를 사용해 암호화된 통신을 하면 사용자의 ID 또는 패스워드 등 데이터를 중간에서 가로채지 못하고, 통신 위변조도 불가능하기 때문에 회원 수 일정 이상인 경우 반드시 로그인 또는 회원가입 등에 HTTPS를 사용하도록 법이 개정되어 있기도 하다. 이러한 이유로 국내를 비롯해 인터넷 검열을 실시하는 국가에서는 HTTPS 통신을 검열하지 못하기도 한다. 검열이 심한 나라에서는 아예 IP를 차단해버리지만 우리나라의 경우 HTTP 헤더의 Host 필드를 읽어 블랙리스트에 있는 사이트인 경우 [[warning.or.kr]]로 리디렉션하는데, HTTPS 통신은 HTTP 헤더 필드 자체를 중간에서 읽지 못하기 때문에 리디렉션이 불가능하다. [[분류:주제/인터넷]]
HTTP
문서로 돌아갑니다.
다른 언어