http 네트워크 전송 프로토콜

목차

1. http란 무엇입니까?

둘째, http 프로토콜의 주요 내용

2.1 3방향 핸드셰이크

2.2 네 번 흔든다

2.3 요청 메시지

4. 응답 메시지

2.5, http 상태 코드


첨부: 이 글은 http 프로토콜의 주요 내용과 사용법에 대한 간략한 이해일 뿐입니다.

관심 있는 친구는 이 웹사이트 https://www.runoob.com/http/http-status-codes.html(http 자습서의 URL)에 들어가 http 프로토콜 학습에 대해 자세히 알아볼 수 있습니다.

1. http란 무엇입니까?

HTTP: HyperText Transfer Protocol 하이퍼텍스트 전송 프로토콜은 인터넷에서 가장 널리 사용되는 유선 네트워크 전송 프로토콜 중 하나이며 클라이언트와 서버가 콘텐츠를 전송할 때 따르는 규칙 사양입니다.

http 프로토콜은 매우 복잡한 컴퓨터 프로그램입니다. http 프로토콜의 소스 코드를 의도적으로 연구할 필요가 없습니다. ajax 기술 의 구현 원리를 이해하기 위해 http 프로토콜의 주요 내용과 사용법만 연구하면 됩니다. .

둘째, http 프로토콜의 주요 내용

 3방향 핸드셰이크, 4방향 웨이브, 요청 메시지, 응답 메시지, http 프로토콜 상태 코드

2.1 3방향 핸드셰이크

3방향 핸드셰이크는 http 프로토콜의 일부이며 TCOP/IP 프로토콜을 통해 완료되며 클라이언트와 서버가 공식적으로 링크를 설정하기 전에 프로그램 내용이 실행됩니다.

클라이언트와 서버가 모두 제대로 작동하는지 확인하려면

클라이언트가 결정해야 합니다.

            클라이언트는 정상적으로 요청을 받고 보낼 수 있습니다.

            서버는 정상적으로 요청을 수신 및 송신할 수 있습니다.

 서버에서 결정해야 합니다.

            클라이언트는 정상적으로 요청을 받고 보낼 수 있습니다.

            서버는 정상적으로 요청을 수신 및 송신할 수 있습니다.

삼자 악수의 단계

1. 클라이언트가 서버에 요청을 보냅니다.

      클라이언트는 결정할 수 있습니다

             클라이언트는 정상적으로 요청을 보낼 수 있습니다.

      서버에서 결정할 수 있습니다.

             클라이언트는 정상적으로 요청을 보낼 수 있습니다.

             서버는 정상적으로 요청을 받을 수 있습니다.

2. 서버가 클라이언트에 요청을 보냅니다.

      서버에서 결정할 수 있습니다.

             서버는 정상적으로 요청을 보낼 수 있습니다

      클라이언트는 결정할 수 있습니다

             클라이언트는 정상적으로 요청을 받을 수 있습니다.

             서버는 정상적으로 요청을 보낼 수 있습니다

             서버는 정상적으로 요청을 받을 수 있습니다.

3. 클라이언트가 서버에 요청을 보냅니다.

      서버에서 결정할 수 있습니다.

             클라이언트는 정상적으로 요청을 받을 수 있습니다.        

2.2 네 번 흔든다

네 개의 손을 흔드는 것은 클라이언트와 서버가 공식적으로 연결 해제되기 전에 TCP/IP 프로토콜을 통해 실행됩니다.

클라이언트와 서버가 제대로 연결 해제되었는지 확인하려면

4파동의 단계별 과정

1. 클라이언트가 서버에 요청을 보냅니다.

      클라이언트는 클라이언트가 곧 연결을 끊을 것이라고 서버에 알립니다.

2. 서버가 클라이언트에 요청을 보냅니다.

      서버는 클라이언트가 연결을 끊으려 한다는 것을 서버가 알고 있음을 클라이언트에게 알립니다.

      서버가 곧 종료됩니다

      클라이언트가 연결 해제 작업을 종료하려는 경우 클라이언트는 즉시 서버에 연결 해제 종료 요청을 반환하고 서버가 클라이언트로부터 연결 해제 요청을 받지 못한 경우 서버는 세 번째 웨이브를 계속 수행합니다.

3. 서버가 클라이언트에 요청을 보냅니다.

      서버는 클라이언트에게 서버가 공식적으로 종료되었음을 알리고 서버는 더 이상 요청을 보내지 않지만 서버는 계속 요청을 받을 수 있습니다.

4. 클라이언트가 서버에 요청을 보냅니다.

      클라이언트는 서버가 닫혀 있고 클라이언트가 닫혀 있으며 클라이언트가 더 이상 요청을 받지 않지만 클라이언트는 계속 요청을 보낼 수 있음을 클라이언트가 알고 있음을 서버에 알립니다.

최종 상태

      클라이언트가 닫히고 더 이상 요청을 받지 않지만 요청을 보낼 수 있습니다.

      서버가 닫히고 더 이상 요청을 보내지 않지만 요청을 받을 수 있습니다.

2.3 요청 메시지

요청 메시지는 클라이언트가 매개 변수 데이터를 전달하기 위해 서버에 요청을 보낼 때 실행되는 http 프로토콜 프로그램입니다.

요청 메시지 내용: 요청 줄, 요청 헤더, 요청 빈 줄, 요청 본문, 브라우저에서 이 4개 부분의 주요 내용이 표시됩니다.

1. 요청 라인

       POST /demo/demo.php HTTP/1.1

       POST 요청 방법

       /demo/demo.php 요청 주소

       HTTP/1.1 요청 프로토콜 및 프로토콜 버전

2. 요청 헤더

       호스트: 127.0.0.1 요청 주소/도메인 이름

       원본: http://127.0.0.1 요청 프로토콜 및 주소/도메인 이름

       참조자: http://127.0.0.1/demo/demo.html 전체 요청 주소

       User-Agent: Mozilla/5.0(Windows NT 10.0; Win64; x64) AppleWebKit/537.36(KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36 브라우저 버전 정보

       수락: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3; q=0.9 예상 백엔드 프로그램 응답 파일 형식

       Content-Type: application/x-www-form-urlencoded 게시 방법에는 요청 헤더 형식 설정이 있습니다.

3. 빈 줄 요청

        요청 헤더와 요청 본문 코드를 구분하기 위해 사용되는 http 요청 메시지 소스 코드의 빈 줄일 뿐이며, http 요청 메시지 소스 코드에만 존재하며 브라우저에는 표시되지 않습니다.

4. 요청 본문

         post 메서드만 매개변수 데이터를 전달하는 데 사용되는 요청 본문이 있고 get 메서드는 요청 본문이 없으며 매개변수는 브라우저 주소 표시줄을 통해 전달됩니다.

         그러나 브라우저 get 메서드는 요청 본문도 표시합니다.

2.4 응답 메시지

응답 메시지는 서버가 데이터로 클라이언트에 응답할 때 서버에서 실행되는 http 프로토콜 프로그램입니다.

응답 메시지 구성: 응답 줄, 응답 헤더, 응답 본문

1. 응답 라인

      HTTP/1.1 200 확인

      HTTP/1.1 요청 프로토콜 및 프로토콜 버전

      200 http 상태 코드

      확인 http 전환 설명

2. 응답 헤더

      서버: nginx/1.15.11 서버 소프트웨어 및 버전

      날짜: 2022년 2월 8일 화요일 08:08:26 GMT 서버 시간 UTC

      Content-Type: text/html; charset=UTF-8 서버 응답 본문 형식 및 인코딩

      X-Powered-By: PHP/7.3.4 백엔드 및 버전

3. 응답 본문

      {"이름":"\u5f20\u4e09","나이":18,"성별":"\u7537"}

      백엔드 프로그램이 출력하는 콘텐츠는 응답 본문 콘텐츠입니다.

2.5, http 상태 코드

소위 http 상태 코드는 숫자를 사용하여 http 요청의 상태를 나타내는 것입니다.

100 - 199

        클라이언트와 서버가 연결을 설정합니다.

        다음 작업을 기다리는 중

200 - 299

        요청이 종료되고 요청이 성공함

300 - 399

        리디렉션 요청

        A에서 B로 이동해야 하며, A에서 B로 직접 이동하는 것이 아니라 A에서 C로 먼저 이동한 다음 C에서 B로 이동해야 합니다. 이를 리디렉션 요청이라고 합니다.

400 - 499

        요청 실행에 실패했습니다. 오류의 원인은 클라이언트가

500 - 599

        요청 실행에 실패했습니다. 오류의 원인은 서버

추천

출처blog.csdn.net/weixin_58448088/article/details/122828469