>> 스피커 :의 다른 대해 얘기하자 하이퍼 텍스트 전송을 protocol--
프로토콜, 또는 HTTP.
그래서 우리는 IP에 대해 얘기했습니다 이전 동영상에서 TCP.
그는 프로토콜은 어떻게 정보를 지시하는
기계 시스템에서 이동하여 프로그램하는 프로그램이나 서비스에서
을 통해, 인터넷을 통해 서비스를 제공 할 라우터와 컴퓨터의 네트워크.
>> 그러나 보통이 아니다 바로 전체 그림?
보통 때 우리가 보내 정보, 프로그램
데이터가 itself-- 예를 들어, 말, 수신
TCP 포트 25을 통해 이메일 포트 80을 통해 웹 페이지 요청,
이 규칙의 시스템은 일반적으로 거기 난 그냥받은 것을 처리한다.
그리고 HTTP는 예입니다 바로 그러한 프로토콜.
>> HTTP가 아니라 응용 계층 프로토콜
것을 우리는 이야기 것입니다.
그러나 그것은 또 다른 세트입니다 방법을 지시하는 규칙
정보가 전송 될 그리고 인터넷을 통해 처리된다.
특히, HTTP 정확히 지정
하나는 요청을해야 웹 페이지와 같은 정확히
서버 시스템 즉, 웹 페이지를 호스팅
그 정보를 제공합니다 클라이언트에 백업합니다.
>> 그래서이 프로토콜은하지 않습니다 실제로 아무것도
어떻게 정보를 수행하는 점 A에서 이동
점 B에 그것은 정말 규칙 시스템
for-- 그것은 기본적으로 규칙의 웹 페이지 작업을위한 참여,
때 누군가와 유사 당신의 파도 손을,
당신은 다시 파도 하잖아요.
즉의 일종 기존의 인간의 프로토콜입니다.
HTTP 프로토콜은 경우에 말한다 당신은 웹을 요청하려는
페이지를 확인하십시오 형식 모습을 같은 형식의이 항아리 종류 등
예를 들어 비즈니스 편지.
상기 반응은 마찬가지로 것 이 프로토콜에 따라 제공됩니다.
다른 하나는있다 응용 계층 프로토콜
우리는하지 않을거야 것을 동영상에 대한 이야기​​.
그러나이 같은 일을 포함 파일 전송 프로토콜,
간단한 메일 전송 프로토콜 이메일을 전송, 데이터 분배
서비스,​​ 원격 데스크톱 프로토콜, RDP, 어떤
원격으로 액세스 할 경우에 사용된다 다른 컴퓨터에서 컴퓨터,
자주입니다 XMPP, 재버 또는 채팅으로 알려진,
그래서 이것은 프로토콜입니다 채팅 서비스를 사용.
그리고 많은, 많은, 많은 사람들이 있습니다.
>> 사용중인 그래서 때마다 서비스,​​ 서비스
정보를 기대하고있다 요청 received-- 될
에 received-- 될 아주 특별한 형식
과에 필요 다시 정보를 반환
매우 특정한 형식뿐만 아니라.
>> 그럼 우리의 그림으로 돌아 가자 우리의 인터넷 이야기하고자.
그래서 우리는 행복, 우리는 원하는 오른쪽 cats.com로 이동?
그래서 우리는 단지 cats.com 이야기하는 경우, 우리는, 헤이 뭔가처럼 말할 수있다
나는 당신의 홈 페이지를 볼 수 있습니까?
그리고 cats.com 아마 것 그래, 확실히 반응한다.
여기 당신은 간다.
그래서 인간의 일종이다 의 질문과 대답.
>> 즉 HTTP에서 무엇을 보는가?
글쎄, 실제로 종류의 변환 꽤 깔끔하게 이런 일에.
우리는 GET / HTTP / 1.1을 말할 수있다 호스트 cats.com에서.
그래서 기본적으로 내가 여기서 뭐하는거야 것은 웹 페이지를 요청 www.cats.com/.
우리는 일반적으로 슬래시를 생략 요즘,하지만 그 것 단지
cats.com의 홈페이지를 의미한다.
>> 아, 그리고 그건 그렇고, 내가 갈거야 HTTP 버전을 사용하고있는 것으로
1.1 당신과 통신합니다.
즉 일종의 유사에의 그런데, 같은 말,
내가 말 할거야 프랑스어, 또는 방법에 의해,
나는 영어로 말할 수있을거야.
즉, 프로토콜의 단지 형식입니다.
또한, 이는 또한 1.0있어 일반적으로 더 이상 사용되지 않습니다.
그래서 HTTP 1.1을 말하기, 해요 나는 www.cats.com/을 부탁합니다.
나를 위해 그 메일을 보내 주시기 바랍니다.
>> 그리고 다른 정보가있다 점, 점을 너무 ...,이 점
어떤 정보에 관한 것입니다 당신이 그렇게 누구 cats.com
어디를 전송하는 방법을 알고있다.
그러나 이러한 두 가지 중요 부품의 종류
처음에 의 HTTP request--
당신이 시작할 때와 같은 당신이 말하는 편지, 사랑, 빈.
이것은 그 정신에는 매우 유사하다.
>> 그리고 cats.com이가는 경우 아, 물론, 여기 당신이가는 말.
그들은 같은 응답 수 이 항아리 또한 응답하고있다.
또한 HTTP 1.1을 말한다.
귀하의 요청, 200 OK를 승인.
당신이에 대해이야 수신은 HTML과입니다
점은 점은, 몇 가지 추가 정보를 점.
그리고의 바로 아래에 요청은 실제로는 HTML입니다,
마크 업 언어, cats.com의 홈페이지의 내용.
>> 그래서 HTTP / 1.1-- 나는 당신을 인정 요청은 HTTP 1.1을 통해 받아 들여졌다.
요청이 승인되었습니다.
난, 당신이 원하는 200 OK 당신을 제공 할 수 있습니다.
당신은 HTML을받을 수에 대한 것.
그리고 여기 요청한 HTML.
>> 그러나 때때로 우리의 요청은하지 않습니다 항상 아주 계획에 따라 이동합니다.
나는 당신의 cats.html 페이지를 볼 수 있습니까?
글쎄, 그들은 우리가 무슨 말을하는 경우 cats.html 페이지를하지 않아도,
어떤 종류의 비현실적인 것 그들은 cats.com이기 때문에.
당신은 그들이 cats.html을 것 같아.
그러나 확인을 클릭합니다.
그래서 이것은 일종의 기존의 인간의 상호 작용
우리는 지금 cats.com로 했어.
그 방법을 번역 하는가?
>> 이것은 당신에게 익숙한 것이 될 수 있습니다.
우리의 요구는, 정확히 같은 모습 대신 점점 슬래시 제외
우리는 지금 cats.html가 있어요.
기본적으로 이제 어떤이 전체 요청은 저를주세요됩니다 말하고있다
www.cats.com/cats.html.
호스트 및 중간 정도로 그 외형의 일부
정확하게이 표시 어떤 페이지 내가 요구하고있다.
그러나이 경우 cats.com는 않을 것이다 긍정적으로 반응 할 수 있어야합니다.
그들은 우리가 이야기하고있는 모르겠어요.
그리고 이것은 당신이해야 할 수도 있습니다 무언가이다 본 before-- HTTP 1.1 404 찾을 수 없음.
내가 무엇을 찾을 수 없습니다 당신은 요구했다.
그런데, 나는 당신에게 줄거야 다시 일부 HTML, 일반적으로 HTML이
일부 404 페이지의 내용이다.
그리고 경우에 cats.com, 그것은 아마
바구니에 약간의 귀여운 고양이 슬픈 404면 그들 옆에,
당신이 될거야 때문에 슬픈 당신은 페이지를하지 않는 경우
것을 당신이 찾고있는 사람이되었다.
>> 즉, 무엇의 기본 종류의 프로토콜, HTTP 프로토콜 요청
처럼 보인다.
그들은 우리 방법에 정말 비슷한 것 유사한 상호 작용을 만들 것
단지 인간의 규칙에 뭔가를 요구
그리고 다시 얻거나 쓰기 문자와 응답을 기대
특정 형식의 편지.
그것은 꽤 많이 무엇 HTTP는 정규화된다
액세스하려는 모든 장치 웹 페이지, 하이퍼 텍스트 전송.
>> 그래서 형태의 라인이 메소드 리퀘스트 대상 HTTP 버전
HTTP 요청 라인이라고 부른다.
그것은 일반적으로 첫 번째 일이 HTTP 요청의 일부로서 전송
또는 당신은 HTTP 요청하는 경우.
내가 말했듯이 그것은 종류의 말, 좋아하는 것 사랑, 상단 당신의 편지에서 빈.
그들은 당신이 거 알아 그들에게 편지를 쓰고.
그래서 이것은 매우 유사하다 말에, 나는 알고있다
그들은 HTTP 요청을하고 있다는 이는 특정 형식
그들은을 요구하고 있습니다.
>> HTTP 버전은 아마 항상 HTTP / 1 / 될 것이다.
1.0도 존재하지만 아니다 정말 더 이상 사용.
CS50 위해, GET은 항상 아마
당신이 될거야 당신이 실제로있을 때 사용
직접 HTTP 요청을.
그러나 POST는 우리가있어 또 다른 옵션입니다 지금에 대해 이야기하지 않을.
그리고 요청 대상이다 호스트의 서버에 어떤 페이지
당신은 좀하고 싶습니다.
내가 말했듯이, 그 호스트 이름 별도의 라인이 보통이다
전체 요청의 두번째 라인.
그리고, 함께 호스트를 촬영 이름 및 요청 대상
특정을 지정 자원이 모색되고.
나는 두 번째 전에 우리의 404 예에서 www.cats.com 다시 요구했다,
cats.com 호스트 인.
그리고 내 요청 라인에, 나는 /cats.html 말했다.
그건 내 요청 대상이었다.
그래서 전반적인 나는 요구했다 내용이나있는 자원
www.cats.com/cats.html에서.
>> 그리고 여부에 따라 자원이 존재
서버는 제공 할 수 있는지 여부 클라이언트에 따라 자원
요청, 당신은 얻을 수 있습니다 다시 다양한 상태 코드.
당신은 본적이 상태 코드의 일부 그들은 응답의 일부이기 때문에.
그들 중 일부, 200 OK입니다 아마 꽤 침묵.
당신은 아마 본 적이 없어 페이지는 200 OK 응답.
당신은 페이지를 얻을.
그것은 404 오류를 좋아하지 않는 것, 이는 일반적으로 매우 분명하다.
당신은 보통 404을 말한다 것을 알 수있다.
>> 그럼 무엇 일부에 대해 이야기하자 그 상태 코드의 수 있습니다.
다시, 때 서버 우리에게 응답, 그들이있어
HTTP 버전 상태를 응답하는 것.
보통 HTTP / 1.1.
될 것 이러한 상태 코드는 무엇입니까?
음, 우리는 성공을 얻을 수 있습니다.
성공의 범주에 따라서, 우리 텍스트 확인과 코드 (200)를 얻을 수 있습니다.
이것은 무엇을 의미 하는가?
글쎄, 모든 것이 좋다.
유효한 요청을했다.
여기에 유효한 응답입니다.
나는 제공 할 수 있었다 정확히 당신이 원하는 것을.
>> 때때로 당신은 다른 일을 얻을 수 있습니다 당신은 즉시 통지하지 않습니다
하지만 다소 실패입니다.
그들은이라고 리디렉션입니다.
여기에 일반적인 두 사람이있다.
(301) 이전 Permanently-- 이것이 기본적으로 의미
페이지가 새 위치에서 지금이다.
그것은 영원히 살 것이다.
그리고 대부분의 브라우저는 것 자동으로 리디렉션합니다.
그래서 당신은 정말 볼 수 없을 것이다 중 (301), 당신이 아니라면
정말 오래된를 사용하여 브라우저, 아마도,
301 응답의 일부이기 때문에 점, 점, 301 응답의 점.
새 페이지가 어디에 그것은 또한 당신을 알려줍니다.
그래서 대부분의 브라우저는 것 그냥 리디렉션,
당신이 거기 가고 싶어한다고 가정.
>> 때때로 당신은 또한 (302) 발견을 얻을 것이다.
그리고이 하나 실제로 아직도 가끔 볼 수 있습니다.
가끔 페이지가 일시적으로 이동합니다.
그래서 내장하지 않을 것 브라우저를 말하는 요청
영구적으로 시간을 변경하려면 그 요청을 보게되었음을
다른 것으로 변경 할 수 있습니다.
그래서 당신은 (302)를 볼 수 있습니다 이는 기본적으로, 발견
이 페이지는 다른 곳에서 살고 말한다.
그러나에 없을거야 영원히 산다.
그것은 결국 아마 갈 것이다 다시 당신이 생각하는 경우에.
>> 그럼 당신은 일을 얻을 것이다 클라이언트 오류 등을들 수있다.
그래서 이들은 당신이했습니다 사람은 아마 지금 본.
당신은 아마 보지 못했다 200S 또는 300S,
하지만 당신은 아마있어 400S 잘 알고.
그리고 우리가 얘기하자 무슨 두 번째 약, 500S뿐만 아니라.
>> 당신은 (401)는 무단 볼 수 있습니다.
일반적으로 이것은 당신이있어 의미 페이지에 액세스하려고,
하지만 당신은 로그인하지 않았습니다.
그래서 당신은 시도하고 몇 가지로 이동 프로필 또는 페이스 북에 뭔가
또는 당신은 시도 및 액세스 한적 당신은 직장에서입니다.
당신이 뭔가를 액세스하기 위해 노력하고 작업의 인터넷,
하지만 당신은 로그인하지 않으 셨습니다.
당신은 페이지를 볼 수 없습니다.
당신은 (401)는 무단 얻을 수 있습니다, 이는 우리가 아마 의미
이 요청을 충족 할 수있을 것입니다, 하지만 먼저 그렇게하려면 로그인해야합니다.
>> 반대로, 당신은 (403)를 얻을 수 있습니다 정말하지 않는 것입니다, 금지
당신은 로그인 또는하지 않는 경우 문제.
이 요청은 허용되지 않습니다.
자원이 서버에 존재합니다.
하지만 당신은 액세스 할 수 없습니다.
이것은 일반적으로 내부 파일 인 것을 여러 가지 이유로 서버에 살고
하지만 의도하지 않습니다 외부 세계에서 액세스,
그래서 그들은이 금지된다.
그들은 거기에 살고있다.
나는 그것을 찾을 수 없습니다 말하는 게 아니에요.
하지만 내가 당신에게 줄 수 없다는거야.
그리고이 경우 문제가되지 않습니다 당신의 여부를 기록하고 있습니다.
그리고 물론, 매우 일반적인 404 찾을 수 없음.
이 파일은 서버에 존재하지 않습니다.
나는 만족하고 싶습니다 귀하의 요청,하지만 난 할 수 없습니다.
>> 또한 때때로 서버를 참조하십시오 오류, 일반적인 통상
인 500 내부 서버 오류, 어떤 실제로 당신에게 아무것도 말하지 않는다
모든 잘못 것에 대해.
그러나 당신이 만드는 사실이 아니다 귀하의 요청에 실수.
실제로 서버가 실패의 어떻게 든 요청에​​ 제공한다.
그래서 500은 일반적인 반응이다.
>> 또한 뭔가를 볼 수 있습니다 , 서비스를 사용할 수 없음 등
이는 내가 믿는 코드 (503)입니다.
그리고 게이트웨이 Timeout-- 경우 혹시 페이지를했다 단지
거기에 부하를 앉아서 로드 및로드
는거야 경우 당신은 모르실 로드 한 후 결국은 말했죠
그냥 준다.
즉, 504 게이트웨이 시간 초과입니다.
서버에 원 귀하의 요청을 실행,
하지만 문제가 발생했습니다 서버 쪽 ...에
하지로 쪽 ...에 그 문제를 야기한다.
이제, 우리는 여기에 이​​야기를 끝낼 수 있었다, 그러나 나는 실제로 지금거야 무슨
나는 열거야됩니다 브라우저 및 방법을 보여
당신이 볼 수있을 방법 이러한 상태 코드의 일부
심지어 당신이 일반적으로 그들을 볼 수없는 경우.
그리고 우리는 취함으로써 그렇게 할거야 일부 개발자 도구를 봐주세요.
>> 좋아 내가 여기 이렇게 지금 내 브라우저 창에.
그리고 나는 조금 배우고 싶어요 이러한 HTTP 요청에 대한 자세한.
어떻게 우리가 알고 확실히 하란 않습니다 일이 잘못되면 페이지, goes--
우리는 404를 얻을.
우리는 모든 것을 보았다.
우리는 그것을 설명 할 필요가 없습니다.
그러나 다른 사람은 무엇입니까?
그리고 우리는 어떻게 볼 것 작업에서 이러한 요청?
>> 내가 갈거야 그래서 먼저 수행은 개발자 도구를 열 수 있습니다.
그래서 개발자 도구가 내장되어 있습니다 대부분의 최신 브라우저로
우리가 사물을 볼 수 있도록 우리는 그렇게하지 ​​않는 것이
몇 가지 추가 정보의 종류를 see-- 우리의 웹 아래에 전송되는
요청.
나는 여기에 구글 크롬을 사용하고 있습니다.
그리고 개발자 도구를 엽니 다 크롬에서, 당신은 단지, F-12 충돌
그것은 열 것 측면에 최대.
내가 요청을 입력하면, 나는 확대합니다 그래서 우리는 여기에 무슨 일이 일어나고 있는지 볼 수 있습니다.
그러나 나는 내 브라우저에서 할거야 무슨 is-- 바, 나는 here-- 이상 확대 할 것이다
나는 www.google.com에 요청​​을 할 것입니다.
우리는 아마했습니다 전에이 요청.
나는 Enter 키를 누르거야.
>> 지금, 여기 내 개발자의 이상 도구, 내가 네트워크 탭을 선택했습니다.
그리고 당신은 여기에 많은 것들을 알 수 있습니다.
these-- 200 OK, 200 OK, 일부 봐 이러한 상태 코드의오고.
내가 발견 (302)를 받고 있어요 이유를 모르겠어요.
내가 하나를 볼 수있을 거라고 몰랐어요.
그러나 기본적으로 알 꽤 내 Google request--의 관점에서, 많은
나는 아주 간단했다 구글의 페이지에 대한 요청.
그리고 공정 내 요청을 전달,
구글은 분명히 많이했다 내 대신에 다른 요청.
>> 하지만 구글의에 대한 GET 요청을했습니다 페이지와 나는 200 OKS을 많이 받고 있어요.
나는 확인에 200을 확인할 수 없습니다 내 화면,하지만 난 받고 있어요
되었습니다 많은 요청.
내가 꽤있어 한 가지 더 확실히 일 것입니다
당신의 사람들을 위해 is-- 사람 정말 오래된 학교이며,
당신은 페이스 북 이었다는 것을 알 수있다 항상 Facebook.com에서.
그 초기에 그것이 있었다 wwww.thefacebook.com에서.
그들은 분명히 액세스 할 수 없습니다 아주 잠시 Facebook.com에.
>> 그래서 나는 기대하고있어 여기에 정보를 얻을 수 있습니다.
이 냄비로 토사를 씻는 경우 우리는 볼 수 있습니다.
나는 여기에 무엇을 기대하고 있습니다 정보를 얻을 수 있습니다
페이스 북은 영구적으로 이동 한 것을 thefacebook.com에서 Facebook.com에.
그래서 어딘가 기대하고 있습니다 내 요청의 상단에
이상 내 개발자 도구에서 (301) 통지를 얻을 수
것을 페이스 북은 영구적으로 이동했습니다.
다시 말하지만, 나는 301를 볼 수 없습니다 브라우저 화면.
그리고 그것은 301이기 때문에, 그것은 영구적 인 움직임이다.
것을되는 브라우저, 그것은 현대적인 브라우저입니다
아마 리디렉션 할 것입니다 어쨌든 Facebook.com에 나.
그러나 이제 어떻게되는지 보자.
>> 그리고 지금은 갈거야 thefacebook.com로 이동합니다.
그리고 네, 거기에 오른쪽 상단에 있습니다.
그것은 멀리 갔다,하지만이 있었다.
나를 여기로 스크롤 보자.
바로 여기 상단.
I는 thefacebook.com에 요청​​을, 나는 응답을 받고 있어요
있음이 페이지는 영구적으로 이동했습니다.
그리고 307 여기 내부 리디렉션.
그리고이 사실이 무엇인가 더 많은 날을 이동
익숙한 www.facebook.com.
>> 따라서 이러한 응답 코드는 아직도 우리가 표시되지 않는 경우에도 일어난다.
나는 않을거야 설명 401, 403, 404,
당신은 아마 본 적이 있기 때문에 다양한 지점에서 그.
500, 그냥 것 종류 동행입니다 우리는 운 것
(500)을 가지고 있다면 우리는 모르기 때문에 무엇 서버는 어디서나 현재 다운.
그러나이 코드는 어떻게 존재하고, 방법이
우리가하지 않는 경우에도 그들에 액세스 할 수 우리의 시스템에 직접을 참조하십시오.
나는 더그 로이드입니다.
이 CS50입니다.