Java基礎之Web服務器與Http詳解
Web服務器
技術(shù)講解
- 微軟:國內(nèi)最早流行的就是ASP
- 在HTML中嵌入了VB的腳本,ASP+COM
- 在ASP開放中,基本一個頁面都有幾千行的業(yè)務代碼,頁面極其混亂
- 維護成本高
PHP:
- PHP開發(fā)速度很快,功能很強大,跨平臺,代碼很簡單
- 局限性:無法承載大訪問量的情況
JSP/Servlet
B/S:瀏覽器和服務器
C/S:客戶端和服務器
- sun公司主推的B/S架構(gòu)
- 基于java語言的(所有的大公司,或者一些開源的組件,都是用java寫的)
- 可以承載三高問題帶來的影響
- 語法像ASP,ASP–>JSP,加強了市場強度
Web服務器
服務器是一種被動的操作,用來處理用戶的一些輕球和用戶的一些響應信息。
IIS
微軟的;ASP…,Windows中自帶的
Tomcat
Tomcat是Apache軟件基金會的Jakarta項目中的一個核心項目,最新的Servlet和JSP規(guī)范總是能在Tomcat中得到體現(xiàn),因為Tomcat技術(shù)先進、性能穩(wěn)定,而且免費,因而深受java愛好者的喜愛并得到了部分軟件開發(fā)商的認可,成為目前比較流行的Web應用服務器。
Tomcat服務器是一個免費的開放源代碼的Web應用服務器,屬于輕量級應用服務器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調(diào)試JSP程序的首選。對于一個Java出血web的人來說,它是最佳的選擇。
Tomcat實際上運行JSP頁面和Servlet。Tomcat最新版本為9.0
JAVA jdk中的內(nèi)容
jdk
bin-執(zhí)行文件
include-包括了很多c++寫的底層
jre
lib里面有很多jar包
java的核心jar包為rt.jar
Tomcat
Tomcat根目錄下的內(nèi)容
bin-啟動,關閉的腳本文件
conf-配置文件
lib-依賴的jar包
logs-日志
webapps:發(fā)布的網(wǎng)站
Tomcat的配置
這個核心配置文件可以配置許多參數(shù)
配置啟動的端口號
- Tomcat的默認端口號為:8080
- mysql:3306
- http:80
- https:443
- 修改如下
<Connector port="8081" protocol="HTTP/1.1"> connectionTimeout="20000" redirectPort="8443"/>
可以配置主機的名稱
- 默認的主機名為:localhost->127.0.0.1
- 默認網(wǎng)站應用存放的位置為:webapps
- 修改如下
<Host name="www.lengding.com" appBase="webapps" unpackWARs="true" autoDeploy="true"></Host>
談談網(wǎng)站是如何進行訪問的
1.輸入一個域名
2.檢查本季的C:\Windows\System32\drivers\etc\hosts配置文件下有沒有這個域名的映射
- 有:直接返回對應的ip地址,這個地址中,有為們需要訪問的web程序,可以直接訪問
- 沒有:去DNS服務器找,找到的話就返回,找不到就無法訪問
127.0.0.1 www.lengding.com
- 發(fā)布一個網(wǎng)站
將自己寫的網(wǎng)站,放到服務器(Tomcat)中指定的web應用的文件夾(webapps)下,就可以訪問了
網(wǎng)站應有的結(jié)構(gòu)
--webapps:Tocat服務器的web目錄 --ROOT -lengding:網(wǎng)站的目錄名 -WEB-INF -classes:java程序 -lib:web應用所依賴的jar包 -web.xml:網(wǎng)站配置文件 -index.html 默認的首頁 -static -css -style.css -js -img
Http
1、什么是Http
Http是一個簡單的請求-響應協(xié)議,它通常運行在TCP之上。
文本:html,字符串,~…
超文本:圖片,音樂,視頻,定位,地圖…
端口:80
Https:安全的
443
2、兩個時代
- http1.0
HTTP/1.0:客戶端可以與web服務器連接,連接后只能獲得一個web資源。
- http2.0
HTTP/1.1:客戶端可以與web服務器連接,連接后可以獲得多個web資源。
3、Http請求
客戶端—發(fā)送請求(Request)—服務器
Request URL:https://www.baidu.com/ 請求地址 Request Method:GET get方法/post方法 Status Code:200 OK 狀態(tài)碼:200 Remote(遠程) Address:14.215.177.39:443
Accept:text/html Accept-Encoding:gzip, deflate, br Accept-Language:zh-CN,zh;q=0.9 語言 Cache-Control:max-age=0 Connection:keep-alive
請求行
請求行中的請求方式:GET
請求方式,Get,Post,HEAD,DELETE,PUT,TRACT…
- get:請求能夠攜帶的參數(shù)比較少,大小有限制,會在瀏覽器的URL地址欄顯示數(shù)據(jù)內(nèi)容,不安全,但高效
- post:請求能夠攜帶的參數(shù)沒有限制,大小沒有限制,不會在瀏覽器的URL地址欄顯示數(shù)據(jù)內(nèi)容,安全,但不高效(現(xiàn)在可以忽略不計)
消息頭
Accept:告訴瀏覽器,它所支持的數(shù)據(jù)類型 Accept-Encoding:支持哪種編碼格式 GBK UTF-8 GB2312 ISO8859-1 Accept-Language:告訴瀏覽器,它的語言環(huán)境 Cache-Control:緩存控制 Connection:告訴瀏覽器,請求完成是斷開還是保持連接 HOST:主機..../.
4、 Http響應
- 服務器—響應—客戶端
Cache-Control:private 緩存控制 Connection:Keep-Alive 連接 Content-Encoding:gzip 編碼 Content-Type:text/html 類型
- 響應體
Accept:告訴瀏覽器,它所支持的數(shù)據(jù)類型 Accept-Encoding:支持哪種編碼格式 GBK UTF-8 GB2312 ISO8859-1 Accept-Language:告訴瀏覽器,它的語言環(huán)境 Cache-Control:緩存控制 Connection:告訴瀏覽器,請求完成是斷開還是保持連接 HOST:主機..../. Refresh:告訴客戶端,多久刷新一次; Location:讓網(wǎng)頁重新定位;
- 響應狀態(tài)碼
200:請求響應成功
3xx:請求重定向
- 重定向:你重新到我給你新的位置去
4xx:找不到資源 404
- 資源不存在
5xx:服務器代碼錯誤
- 500
- 502:網(wǎng)關錯誤
問題:當你的瀏覽器中的地址欄輸入地址并回車的一瞬間到頁面能夠展示出來,經(jīng)歷了什么?
到此這篇關于Java基礎之Web服務器與Http詳解的文章就介紹到這了,更多相關Java Web服務器與http內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Java中I/O流讀取數(shù)據(jù)不完整的問題解決
本文主要介紹了ava中I/O流讀取數(shù)據(jù)不完整的問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-05-05Java ArrayList中存放引用數(shù)據(jù)類型的方式
這篇文章主要介紹了Java ArrayList中存放引用數(shù)據(jù)類型的方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-10-10JSP 開發(fā)之hibernate的hql查詢多對多查詢
這篇文章主要介紹了JSP 開發(fā)之hibernate的hql查詢多對多查詢的相關資料,希望通過本文能幫助到大家,需要的朋友可以參考下2017-09-09Spring框架開發(fā)IOC兩種創(chuàng)建工廠方法詳解
這篇文章主要介紹了Spring框架IOC兩種創(chuàng)建工廠方法詳解,文中附含詳細的代碼示例分別對靜態(tài)方法和實例方法創(chuàng)建工廠作了簡要的分析2021-09-09springboot+dubbo+zookeeper的簡單實例詳解
本文主要介紹了springboot+dubbo+zookeeper的簡單實例,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-10-10