2주차 과제
- 파이썬 데이터형태 전부 파악하고 함수까지 끝내기-->다른 글에서 작성
https://eatitstory.tistory.com/3
https://eatitstory.tistory.com/4
https://eatitstory.tistory.com/5
- HTTP에서 사용하는 메소드가 무엇이고 ? 어떤걸 의미하는지
- 파이썬 모듈이 무엇인지?
- 파이썬 모듈중에 requests모듈 설치해보기
- Reuqests모듈 사용을해서 네이버html내용을 print하기
* HTTP에서 사용하는 메소드가 무엇이고 ? 어떤걸 의미하는지
http는 요청(클라이언트)과 응답(서버)의 구조로 되어있다.
http 요청 프로토콜(규칙) 구조
requsest line
>
headers
>
공백
>
body
requsest line
요청 타입 (공백) url (공백) http버전
#request 경우
header
-요청에 관련된 데이터
body
-메소드에 따라 바디쓸지 말지 결정(get vs post)
-요청 할때 필요한 데이터들
#response 경우
header
-응답 코드(200ok 404error....etc)
body
-html텍스트/브라우저 데이터들
-응답할 내용 없으면 없을 수도 있다
*HTTP 요청 메소드(9가지)
**GET 메서드는 특정 리소스의 표시를 요청합니다. GET을 사용하는 요청은 오직 데이터를 받기만 합니다.
HEAD 메서드는 GET 메서드의 요청과 동일한 응답을 요구하지만, 응답 본문을 포함하지 않습니다.
**POST 메서드는 특정 리소스에 엔티티를 제출할 때 쓰입니다. 이는 종종 서버의 상태의 변화나 부작용을 일으킵니다.
*PUT 메서드는 목적 리소스 모든 현재 표시를 요청 payload로 바꿉니다
*PATCH 메서드는 리소스의 부분만을 수정하는 데 쓰입니다..
*DELETE 메서드는 특정 리소스를 삭제합니다.
CONNECT 메서드는 목적 리소스로 식별되는 서버로의 터널을 맺습니다.
OPTIONS 메서드는 목적 리소스의 통신을 설정하는 데 쓰입니다.
TRACE 메서드는 목적 리소스의 경로를 따라 메시지 loop-back 테스트를 합니다.
제일 중요한 get,post
get은 요청url에 데이터(parameter)를 붙여서 전송->정보 요청
- 링크 클릭/입력 박스, 체크박스에 적은 데이터가 url뒤에 붙여서 보내짐(ex:네이버 검색어)
- URL에 변수(데이터)를 포함시켜 요청한다.
- 데이터를 Header(헤더)에 포함하여 전송한다. -주소창
- URL에 데이터가 노출되어 보안에 취약하다. -노출되어도 상관 없는 경우 사용
- 전송하는 길이에 제한이 있다.
- 캐싱(한번 접근 후 또 요청할 시에 빠르게 접근하기위해 레지스터에 데이터를 저장시켜 놓는 것)할 수 있다.
post는 전송하면서 요청->정보 생성 요청
- URL에 변수(데이터)를 노출하지않고 요청한다.
- 데이터를 Body에 포함시켜 URL에 데이터가 노출되지 않아 기본 보안이 되어있다.
- body에 데이터를 넣어서 보이지 않을 뿐 보안성이 좋은게 아니다 ->https 사용을 해야 보안이 된다.
- 전송하는 길이에 제한이 없다.
- 캐싱할 수 없다
*파이썬 모듈이 무엇인지?
파이썬 모듈이란?
모듈은 함수나 변수, 클래스를 모아놓은 파일이다. 프로그래밍을 할 때 굉장히 많은 모듈을 사용되는데 이미 만들어놓은 모듈이나 우리가 직접 만들 수 있는 모듈이 있다.
파이썬에서 특정 사이트의 정보를 읽어오기 위해서는 HTML 라이브러리가 필요하다. 그 중에서 requests 를 많이 사용하는데 requests 는 HTTP GET, POST, PUT, DELETE 등을 사용할 수 있다.
*파이썬 모듈중에 requests모듈 설치해보기
파이참 패키지에 requests 검색해서 설치
*Reuqests모듈 사용을해서 네이버html내용을 print하기
import requests
res = requests.get('http://naver.com')
print(res.text)
결과값
****피드백
개발자도구-네트워크-header/payload
파이썬request가 클라이언트 역활로 웹브라우저 역활(html가져오기)대신 할 수 있다.
웹브라우저-html을 화면에 보이게 해준다
'Development > Back' 카테고리의 다른 글
나만의 챗봇 만들어 보기(Open AI 어시스턴스 실습) (0) | 2024.05.19 |
---|---|
백엔드 서버 구현해보기(flask 실습) (0) | 2024.05.12 |
openai(chat gpt) api 활용 (0) | 2024.04.14 |
웹사이트 구성하는 방법(Node.js) (0) | 2024.04.07 |
BeautifulSoup를 이용하여 크롤링하기(epl 순위) (0) | 2024.03.20 |