Go로 웹 서버 만들기 3단계
5010 단어 Go
Go에서 로컬 서버 만들기
Go는 비교적 적은 코드로 웹 서버를 구축할 수 있는 표준 넷/http 패키지를 제공합니다.그림처럼 로컬 단순 CSS가 있는 정적 내용을 표시하고 싶습니다.
1. 디렉터리 만들기
아래의 구성으로 목록을 작성합니다.
$HOME/go_tutorial
- main.go
- static/
- - index.html
- - styles/
- - - style.css
홈 디렉터리 아래에 "go_tutorial"디렉터리를 만들고 메인 코드main을 씁니다.go와 내용을 포함하는static 디렉터리를 설정합니다.$ mkdir go_tutorial
$ cd go_tutorial
$ touch main.go
$ mkdir -p static/stylesheets
$ touch static/index.html static/stylesheets/styles.css
2.main.go와 html css 준비
main.go
package main
import (
"log"
"net/http"
)
func main() {
//ディレクトリを指定する
fs := http.FileServer(http.Dir("static"))
//ルーティング設定。"/"というアクセスがきたらstaticディレクトリのコンテンツを表示させる
http.Handle("/", fs)
log.Println("Listening...")
// 3000ポートでサーバーを立ち上げる
http.ListenAndServe(":3000", nil)
}
~/static/index.html<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>A static page</title>
<link rel="stylesheet" href="/stylesheets/styles.css">
</head>
<body>
<h1>Hellooooooooooooo</h1>
</body>
</html>
~/static/stylesheets/styles.cssbody {color: #c0392b}
3. 서버 시작
코드를 눌렀으면main.이동
$ go run main.go
여기에서 http://localhost:3000/항목에서 사용할 수 있는 모든 패밀리를 봅니다.
ServeMux
Go의 http 패키지 컨텍스트에서 "Servemux"라는 용어가 자주 나타납니다.
· ServeMux는 HTTP에서 요청한 라우터입니다.URL 모드와 일치하는 프로세서를 호출합니다.
・Mux는 multiplexor(다중 장치로 직역)의 줄임말로 각종 모드의 URL 요청에 대응하는 처리 프로그램에 분배된다.
/프로세서가 HTTP 응답 제목과 바디를 반환합니다.
· DefalutServeMux라는 용어도 자주 등장하는데 이것은 HTTP 패키지를 사용할 때 먼저 정의된 Servemux이다.
참고 자료
Creating simple webserver with golang
https://tutorialedge.net/golang/creating-simple-web-server-with-golang/
Serving static sites with Go
https://www.alexedwards.net/blog/serving-static-sites-with-go
Understanding Go Standard Http Libraries : ServeMux, Handler, Handle and HandleFunc
https://rickyanto.com/understanding-go-standard-http-libraries-servemux-handler-handle-and-handlefunc/
A Recap of Request Handling in Go
https://www.alexedwards.net/blog/a-recap-of-request-handling
Reference
이 문제에 관하여(Go로 웹 서버 만들기 3단계), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/rihofujino/items/39f1778d3458248e134d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)