728x90
반응형
HTTP 서버와 통신하기
- HTTP?
• HTTP(HyperText Transfer Protocol, 문화어: 초본문전송규약, 하이퍼본문전송규약)는 WWW 상에서 정보를 주고받을 수 있는 프로토콜
• 주로 HTML 문서를 주고받는 데에 쓰임
• 주로 TCP 80번 포트 사용
• HTTP는 클라이언트와 서버 사이에 이루어지는 요청/응답(request/response) 프로토콜
• 전달되는 자료는 http:로 시작하는 URL(인터넷 주소)로 조회
- HTTP 역사
- 요청 내용에 포함되는 요청 메소드
요청 메소드 | 설명 |
GET | URL에 해당하는 자료의 전송을 요청 |
HEAD | GET과 같은 요청이지만, 자료에 대한 정보(meta-information)만을 받음 |
POST | 서버가 처리할 수 있는 자료 전송 |
PUT | 해당 URL에 자료를 저장 |
DELETE | 해당 URL의 자료를 삭제 |
TRACE | 이전에 요청한 내용을 들을 것을 요청 |
OPTIONS | 서버가 특정 URL에 대해 어떠한 HTTP Method를 지원하는지 확인 |
CONNECT | 프록시가 사용하는 요청 |
PATCH | 리소스에 대한 부분적인 수정을 적용 |
- 클라이언트 요청 예
- 서버 응답 예
- HTML 구조 : 부모 요소와 자식 요소
- HTML 실제 구
① Document 정보
② HTML의 시작과 끝
③ 헤더 정보
④ HTML 문서 제목과 디자인 정보
⑤ HTML 본문
⑥ 본문을 나누어 관리
- 웹 요청 간단하게 하기
import request
host = "http://malware-traffice-analysis.net/"
res = "requests.get(host)
print(res.status_code) #응답 코드
print(res.raise_for_status() ) # 200 OK 코드가 아닌 경우 에러 발생
print(res.content) # 본문 전달
print(res.text) # 본문 전달
- GET 요청에 파라미터 데이터 보내기
import requests
host = "http://malware-traffice-analyis.net/"
my_prams = {'id' : 'test', 'pw' : 'password'}
response = requests.get(host, prams=my_prams)
- POST 요청에 파라미터 데이터 보내기
import requests, json
host = "http://malware-traffice-analyis.net/"
my_data = json.dumps({'id' : 'test', 'pw' : 'password'})
response = requests.get(host, data=my_prams)
728x90
반응형
'네트워크' 카테고리의 다른 글
[네트워크] FTP 서버 (0) | 2023.04.28 |
---|---|
[Python] 네트워크 기초와 소켓 (FTP 프로토콜) (2) | 2022.10.06 |
댓글