[Python 인터페이스 자동화]--HTTP 인터페이스의 기본 구성과 웹 페이지 구성 원리에 대한 심층적인 이해

목차

소개

1. HTTP 소개

2. HTTP 원리와 웹페이지 기반

     2.1 HTTP의 기본 원칙

     2.2, HTTP 요청 프로세스

    2.3 웹페이지 구성


소개

Python 인터페이스 자동화에는 광범위한 응용 시나리오가 있지만 실제 사용에서는 몇 가지 문제가 발생할 수 있습니다. 예를 들어, HTTP 인터페이스의 기본 구성을 모르고 웹 페이지가 어떻게 구성되는지 모릅니다.

이때 HTTP 인터페이스의 기본 구성과 웹페이지 구성 원리에 대한 깊은 이해가 필요합니다. 이 기사를 공부하면 작업을 더 쉽고 즐겁게 만들어 주는 핵심 기술을 빠르게 익힐 수 있습니다.

1. HTTP 소개

        HTTP 프로토콜은 Hyper Text Transfer Protocol(Hyper Text Transfer Protocol)의 약어로, 월드 와이드 웹(WWW: World Wide Web) 서버에서 로컬 브라우저로 하이퍼텍스트를 전송하는 데 사용되는 전송 프로토콜입니다. HTTP는 데이터(HTML 파일, 이미지 파일, 쿼리 결과 등)를 전송하기 위해 TCP/IP 기반의 통신 프로토콜입니다. 바이두 백과사전의 HTTP 프로토콜 소개를 자세히 확인할 수 있습니다. 간단한 이해는 HTTP가 애플리케이션 계층에 속하는 객체 지향 무상태 프로토콜이라는 것입니다. HTTP 프로토콜은 클라이언트-서버 아키텍처에서 작동합니다. 브라우저는 HTTP 클라이언트 역할을 합니다. through URL은 모든 요청을 HTTP 서버, 즉 웹 서버로 보냅니다. 웹 서버는 수신된 요청에 따라 클라이언트에게 응답 정보를 반환합니다.

2. HTTP 원리와 웹페이지 기반

     2.1 HTTP의 기본 원칙

       우리가 웹사이트를 방문할 때 먼저 브라우저에 URL을 입력하면 해당 웹사이트에 접속할 수 있습니다. URL이란 무엇입니까? URL의 전체 이름은 Universal Resource Locator이며, 이는 인터넷에서 얻을 수 있는 자원의 위치 및 액세스 방법을 간결하게 표현한 통일 자원 위치 지정자이며 인터넷상의 표준 자원의 주소입니다. 여기에는 https://www.baidu.com과 같은 액세스 프로토콜 http(https), 액세스 경로 및 리소스 이름, 포트 번호 등이 포함됩니다.

HTTP의 전체 이름: 하이퍼 텍스트 전송 프로토콜(Hyper Text Transfer Protocol), 중국어로 하이퍼텍스트 전송 프로토콜(Hypertext Transfer Protocol)로 번역됩니다. HTTP 프로토콜은 하이퍼텍스트 데이터를 네트워크에서 로컬 브라우저로 전송하고 하이퍼텍스트 문서의 효율적이고 정확한 전송을 보장하는 데 사용되며 HTML 소스 코드는 하이퍼텍스트 마크업 언어입니다. 이 프로토콜은 World Wide Web과 Internet Working Group이 공동으로 제정했으며 현재 널리 사용되는 버전은 HTTP1.1입니다. HTTP 외에 HTTP의 보안 버전인 HTTPS도 있는데, HTTPS를 통해 전송되는 콘텐츠는 SSL로 암호화되어 데이터 전송의 보안을 보장합니다. 예를 들어, 우리가 티켓을 구매하는 데 사용하는 웹사이트인 https://www.12306.cn/이 그러한 사이트입니다.

     2.2, HTTP 요청 프로세스

        브라우저에 URL 사이트를 입력하고 Enter 키를 누르면 정상적으로 웹사이트 페이지의 내용을 브라우저에서 볼 수 있습니다. 실제로 이 과정은 브라우저가 자신이 위치한 서버에 요청을 보내서 서버에게 무엇을 요청할지 알려주고, 서버는 요청을 받은 후 요청을 처리하고 파싱하는 것입니다. , 해당 브라우저로 응답을 반환합니다. 응답에는 페이지의 소스 코드와 기타 콘텐츠가 포함되며, 브라우저는 응답의 소스 코드를 구문 분석하고 최종적으로 구문 분석된 웹 페이지를 표시합니다. 일반적인 프로세스는 다음과 같습니다. 브라우저 요청 "서버 처리 및 분석" 서버 응답 및 이를 브라우저에 전달 "브라우저가 웹 페이지를 구문 분석하고 렌더링합니다.

다음으로 실제 네트워크 사이트를 통해 HTTP 요청과 응답의 과정과 그 과정에서 어떤 종류의 네트워크 요청이 발생하는지 알아봅니다. 예를 들어 Chrome 브라우저를 사용하여 Baidu 사이트(https://www.baidu.com/)를 방문하세요.

 Chrome 브라우저를 열고 메뉴를 마우스 오른쪽 버튼으로 클릭한 후 [검사]를 선택하거나 직접 단축키 [F12]를 눌러 개발자 도구를 열고 [네트워크]로 전환하세요. 브라우저에 Baidu 사이트(https://www.baidu.com/)를 입력하고 Enter 키를 누른 다음 발생하는 네트워크 요청을 확인하세요. 아래 그림과 같이:

 

 첫 번째 네트워크 요청: www.baidu.com은 Baidu 사이트에 액세스하기 위해 브라우저에서 Baidu 서버로 보내는 요청입니다. 이 요청을 클릭하면 요청의 세부 정보와 내용을 볼 수 있습니다.

첫 번째는 요청 URL, 요청 방법, 응답 상태 코드, 원격 서버의 주소 및 포트를 설명하는 일반 섹션입니다.

다음으로 응답 헤더와 요청 헤더인 응답 헤더(Response Header)와 요청 헤더(Request Header)가 있습니다. 여기에는 응답 및 요청의 일부 관련 정보와 내용이 포함되어 있습니다. 이 요청의 내용과 해당 응답을 살펴보겠습니다.

요청의 구성

요청은 클라이언트, 즉 브라우저에서 서버로 전송되며, 전송된 요청에는 요청 방법(Request Method), 요청된 사이트(Request URL), 요청 헤더(Request Headers), 요청 본문(Request Body)의 네 가지 측면이 있습니다. )

1. 요청방법

일반적인 요청은 get, post, put... 유형입니다. get형 인터페이스란 일반적으로 목록 조회 기능 등 정보를 얻기 위한 인터페이스를 말하며, 조회 버튼을 클릭하면 get 인터페이스가 호출되어 해당 정보를 반환한다. 이는 서버(백엔드)에서 콘텐츠를 가져오는 것을 의미합니다. Post 유형은 일반적으로 등록, 데이터 가져오기 등과 같은 양식을 제출하는 기능이며 사후 인터페이스입니다. 이는 콘텐츠를 서버(백엔드)로 푸시하는 것을 의미합니다.

2. 요청 사이트

요청한 웹사이트는 브라우저에 입력된 URL입니다

3. 요청 헤더

요청 헤더는 서버에서 사용하는 첨부 정보, 즉 프로토콜 규칙에 따라 처리해야 하는 HTTP 프로토콜에 의해 규정된 추가 콘텐츠를 설명하는 데 사용됩니다. 아래 그림과 같이 Baidu 사이트의 요청 헤더 정보에 액세스합니다.

 

 요청 헤더 정보의 관련 필드 설명을 확인하세요.

Accept: 위 그림에서 허용할 수 있는 text/html 및 기타 유형의 정보와 같이 클라이언트가 허용할 수 있는 정보 유형을 지정하는 데 사용되는 요청 헤더 필드

Accept-Encoding 및 Accept-Language: 클라이언트가 허용하는 인코딩 및 언어를 지정합니다.

연결: 연결 상태

쿠키 : 쿠키 정보가 저장되며, 주로 현재 세션을 유지하는데 사용됩니다.

호스트: 접속해야 하는 사이트의 주소

User-Agent : 고객이 사용하는 운영체제, 브라우저 버전 등의 정보를 서버에 식별하기 위해 사용됩니다.

4. 요청 본문

요청 본문은 일반적으로 요청 본문에 캡슐화되어 json 형식 데이터를 사용하여 전송되는 POST 유형 요청의 양식 데이터를 전달하며, GET 유형 요청 본문은 일반적으로 비어 있습니다.

응답의 구성

서버가 브라우저에 반환한 정보에 대한 응답의 내용에는 응답 상태 코드(Response Status Code), 응답 헤더(Response Headers) 및 응답 본문(Response Body)의 세 가지 측면이 있습니다.

1. 응답 상태 코드

응답 상태 코드는 요청 정보에 대한 서버의 처리 결과를 나타냅니다. 예를 들어 200은 응답이 정상임을 의미하고, 404는 페이지를 찾을 수 없음을 의미하며, 500은 서버 오류를 의미합니다.

 2. 응답 헤더

응답 헤더에는 다음 그림과 같이 요청에 대한 서버의 응답 정보가 포함됩니다.

 

응답 헤더에서 관련 키 필드에 대한 설명을 확인하세요.

Content-Type: 문서 유형, 반환된 문서가 무엇인지 지정합니다. 예를 들어 text/html은 반환된 문서가 HTML 문서임을 의미합니다.

서버: 서버 이름, 버전 등의 서버 정보입니다.

Set-Cookie: 쿠키 설정

만료: 응답 만료 시간을 지정합니다.

3. 응답 본문

일반적으로 클라이언트 모드에서 HTTP 인터페이스 요청을 처리한 후 클라이언트로 반환해야 하는 정보인데, 예를 들어 응답 boby의 대부분은 JSON 형식으로 캡슐화되어 클라이언트로 반환되는 데이터 정보이다.

2.3 웹페이지 구성

       현대 웹페이지는 항상 우리에게 다채롭고 풍부한 시각적 경험을 선사합니다. 다양한 웹페이지는 종종 다양한 스타일을 가지며 합리적인 레이아웃, 풍부한 사진, 애니메이션 효과 등과 조화를 이룹니다. 그러면 이 페이지는 어떻게 구성되어 있나요? 웹페이지를 구성하는 세 가지 주요 부분은 HTML, CSS, JavaScript이며, 그 중 HTML은 웹페이지의 기본 구조를 구성하고, CSS는 웹페이지의 레이아웃 스타일을 결정하며, JavaScript는 웹페이지의 가소성과 동적 표현을 결정합니다. . 이 세 부분을 자세히 살펴보겠습니다.

1.HTML

HTML: 전체 이름은 Hyper Text Markup Language, 즉 Hypertext Markup Language입니다. 웹 페이지의 텍스트, 문단, 그림, 버튼 등의 요소는 HTML로 정의되는데, 그림은 img 태그, 문단은 p 태그 등이 있습니다. Chrome 브라우저에서 Baidu 사이트를 열고 마우스 메뉴를 마우스 오른쪽 버튼으로 클릭한 후 [확인]을 선택하거나 직접 [ F12] 개발자 도구를 열면 아래와 같이 [요소] 옵션 표시줄에서 웹페이지의 HTML 소스 코드를 확인할 수 있습니다.

 

웹 페이지의 HTML 소스 코드를 볼 수 있으며, 각 태그 쌍은 노드와 노드의 속성을 정의하며 HTML 트리를 구성합니다. 이러한 노드 레이블 쌍은 HTML 트리에 표시되며 특정 계층 관계를 가지며, 이는 종종 상위 노드, 하위 노드 및 형제 노드로 표시됩니다. 특히 HTML 학습에 대해서는 W3School 웹사이트(http://www.w3school.com.cn/html/index.asp)를 참조할 수 있습니다.

2.CSS

CSS: 전체 이름은 계단식 스타일 시트(Cascading Style Sheets)입니다. CSS는 웹페이지의 텍스트 크기, 색상, 위치와 같은 속성을 지정하여 웹페이지의 조판 스타일을 결정하는 데 사용되는 표준입니다. 스타일을 보려면 아래 그림과 같이 [바이두 클릭] 버튼을 찾으세요.

 

 

 

CSS 스타일은 버튼의 너비와 높이, 즉 너비와 높이의 픽셀 크기를 결정하며, 텍스트 색상 색상: 흰색 및 기타 정보, 버튼 배경색: 배경

3.자바스크립트

JavaScript는 JS 파일을 HTML 코드에 삽입하여 프롬프트 상자, 회전식 메뉴, 다운로드 진행률 표시줄 등과 같은 대화형 동적 효과를 제공하는 데 사용되는 스크립팅 언어인 JS입니다. HTML의 태그 쌍은 스크립트 태그 쌍으로 정의됩니다.

요약하자면, HTML은 웹 페이지의 콘텐츠와 구조를 정의하고, CSS는 웹 페이지 요소의 레이아웃 렌더링과 위치 효과를 설명하며, JavaScript는 웹 페이지의 상호 작용과 애니메이션 효과를 정의합니다. 이 세 가지가 풍부한 웹 페이지 표현을 위한 인프라를 구성합니다.

HTTP 요청 인터페이스와 웹 페이지의 기본 구성에 대해 학습하고, HTTP 프로토콜의 인터페이스에 대해 명확히 이해한 후, HTTP 기반 인터페이스의 자동화된 테스트를 수행합니다.


-매일 조금씩 배우면 미래에 마스터가 될 것입니다-

[메시지: 소프트웨어 테스트 및 학습] 아래 네트워크 디스크 링크를 얻으세요


-방법이 있어야 성공할 것입니다- 마지막으로 , 모두가 빨리 시험의 최고점에 도달하기를 바랍니다!

혼자서 과격하게 성장하고 싶지 않고, 시스템 정보를 찾을 수 없고, 문제에 대한 도움을 받을 수 없고, 며칠 동안 지속하다가 포기한다면 Q 스커트에 가입할 수 있습니다: 321255410, 모두가 토론하고 교환할 수 있습니다 . 다양한 소프트웨어 테스팅 자료와 기술교류가 함께 진행될 예정입니다.

오늘은 제가 주로 경험한 내용과 네트워크 디스크 학습자료를 공유하고 있으며, 앞으로도 관련 시험자료를 계속해서 공유하겠습니다. 도움을 받은 친구들은 좋아요와 응원 부탁드립니다~

 

추천

출처blog.csdn.net/weixin_67553250/article/details/131046395