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