티스토리 뷰
[모던 자바스크립트] HTTP통신
HTTP : Hyper Text Transfer protocol
웹 브라우저와 웹서버가 HTML로 작성된 웹 페이지나 동영상, 음성 파일 등을 주고받기 위한 프로토콜(통신규약)입니다.
HTTPS : SSL로 암호화하여 보안성을 확보한 것을 가리킵니다.
HTTP통신 : 클라이언트 서버에 요청 메시지를 보내고 서버가 응답 메시지를 반환합니다.
서버는 응답 메세지를 반환 후에 초기 상태로 돌아갑니다. 이때 서버는 클라이언트의 상태를 저장하지 않습니다.
HTTP 전송 계층 프로토콜로 TCP를 사용하고 네트워크 계층 프로토콜로 IP를 사용하는 것이 일반적입니다.
두 계층을 합쳐서 TCP/IP라고 부릅니다.
TCP/IP 에서는 IP주소를 사용해서 통신할 컴퓨터를 결정합니다.
그리고 포트 번호를 사용해서 그 컴퓨터의 어떤 프로그램과 통신할지를 결정합니다.
HTTP에서는 기본적으로 80번 포트를 사용합니다.
HTTP 요청 메시지 :
요청 행 |
요청 헤더 |
공백 행 |
메시지 본문 |
요청 행
ex ) GET http://www.gilbut.co.kr HTTP/1.1
GET : 요청 메서드
http:www.gilbut.co.kr : URL
HTTP/1.1 : HTTP 버전
요청 메서드: 송수신 방법
- GET : 웹 서버에 페이지를 요청한다. 요청할 때 필요한 데이터는 URL 에 덧붙여 보내며 텍스트 데이터만 전송할 수 있다.
- POST : 서버의 데이터를 갱신하거나 보내는 데이터의 양이 많을 때, 비밀번호 등의 개인정보를 보낼때 사용한다. 요청할 때 필요한 데이터는 메시지 본문에 담아서 보내며 텍스트 데이터와 바이너리 데이터를 모두 보낼 수 있다.
- PUT
- DELETE
요청 헤더 : 메시지의 제어 정보, 메시지 본문에 저장한 데이터 정보(데이터 종류나 문자코드) 등이 텍스트 형식으로 저장됩니다.
헤더의 문자열은 Host : http://www.gilbut.co.kr 필드이름 : 필드 내용을 쌍으로 구성한 필드의 집합으로 구성되어 있습니다.
메시지 본문 : 보내는 데이터가 저장됩니다. 데이터 형식은 요청 헤더에 지정된 타입을 따릅니다.
16.1.4 HTTP 응답 메시지
응답 행 |
응답 헤더 |
공백 행 |
메시지 본문 |
응답 행
ex) HTTP/1.1 200 ok
HTTP/1.1 : HTTP 버전
200 : 상태 코드
ok : 보충 메시지
응답헤더
메시지의 제어정보, 메시지 본문에 저장한 데이터 정보(데이터 종류나 문자코드) 등이 텍스트 형식으로 저장됩니다.
메시지 본문
: 받을 데이터가 담기며, 그데이터 형식은 요청 헤더에 지정된 타입을 따릅니다.
GET메서드 요청에 대한 응답 메시지는 HTML, CSS, 자바스크립트, 이미지 파일 처럼 웹 페이지를 정의하는 데이터 입니다.
Ajax : Asynchronous JavaScript + XML
: XMLHttpRequest 자바스크립트 객체를 이용하여 웹서버와 비동기로 통신하고 DOM을 이용하여 웹페이지를 동적으로 갱신하는 프로그래밍 기법
XMLHttpRequest : Ajax 기법을 사용할 때는 데이터의 송수신 XMLHttpRequest객체를 사용합니다.
기본적인 흐름
1. XMLHttpRequest 객체 생성
2. 서버와 통신할 때 사용할 처리 방법 등록
3. 요청을 전송하고 통신 시작
'JAVASCRIPT' 카테고리의 다른 글
[Javascript] Heart Button (0) | 2021.03.31 |
---|---|
[Javascript] 생성자와 클래스 구문 (0) | 2020.08.17 |
[Javascript] 커스텀 이벤트, 비동기 처리 Promise (0) | 2020.07.19 |
[Javascript ] falsy truthy (0) | 2020.07.01 |
[Javascript] 문서제어 (0) | 2020.06.14 |